realtek: rtl930x: Clean up LED set initialization
authorSven Eckelmann <[email protected]>
Tue, 15 Jul 2025 17:53:07 +0000 (19:53 +0200)
committerHauke Mehrtens <[email protected]>
Mon, 6 Oct 2025 22:13:43 +0000 (00:13 +0200)
The integration of the LED set initialization for RTL931x added also minor
improvements in the coding style. Just adopt them also for RTL9301x.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20300
Signed-off-by: Hauke Mehrtens <[email protected]>
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c

index e507a931cf82464e50355a68f419dd34f0e44aad..d47319c013d929e8b802c593becd19ebcfed4b38 100644 (file)
@@ -2383,13 +2383,12 @@ static void rtl930x_led_init(struct rtl838x_switch_priv *priv)
                sw_w32(0, RTL930X_LED_SETX_0_CTRL(set));
                sw_w32(0, RTL930X_LED_SETX_1_CTRL(set));
 
-               /**
-                * Each led set has 4 number of leds, and each LED is configured with 16 bits
-                * So each 32bit register holds configuration for 2 leds
-                * And therefore each set requires 2 registers for configuring 4 LEDs
-                *
-               */
-               sprintf(set_name, "led_set%d", set);
+               /* Each LED set has (up to) 4 LEDs, and each LED is configured
+                * with 16 bits. So each 32 bit register holds configuration for
+                * 2 LEDs. Therefore, each set requires 2 registers for
+                * configuring all 4 LEDs.
+                */
+               snprintf(set_name, sizeof(set_name), "led_set%d", set);
                leds_in_this_set = of_property_count_u32_elems(node, set_name);
 
                if (leds_in_this_set <= 0 || leds_in_this_set > ARRAY_SIZE(set_config)) {
@@ -2397,20 +2396,21 @@ static void rtl930x_led_init(struct rtl838x_switch_priv *priv)
                                dev_err(dev, "%s invalid, skipping this set, leds_in_this_set=%d, should be (0, %d]\n",
                                        set_name, leds_in_this_set, ARRAY_SIZE(set_config));
                        }
+
                        continue;
                }
+
                dev_info(dev, "%s has %d LEDs configured\n", set_name, leds_in_this_set);
                leds_in_set[set] = leds_in_this_set;
 
-               if (of_property_read_u32_array(node, set_name, set_config, leds_in_this_set)) {
+               if (of_property_read_u32_array(node, set_name, set_config, leds_in_this_set))
                        break;
-               }
 
-               /* Write configuration as per number of LEDs */
-               for (int i=0, led = leds_in_this_set-1; led >= 0; led--,i++) {
+               /* Write configuration for selected LEDs */
+               for (int i = 0, led = leds_in_this_set - 1; led >= 0; led--, i++) {
                        sw_w32_mask(0xffff << RTL930X_LED_SET_LEDX_SHIFT(led),
-                                               (0xffff & set_config[i]) << RTL930X_LED_SET_LEDX_SHIFT(led),
-                                               RTL930X_LED_SETX_LEDY(set, led));
+                                   (0xffff & set_config[i]) << RTL930X_LED_SET_LEDX_SHIFT(led),
+                                   RTL930X_LED_SETX_LEDY(set, led));
                }
        }