mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-01-30 01:21:04 +01:00
realtek: rtl930x: Clean up LED set initialization
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 <se@simonwunderlich.de> Link: https://github.com/openwrt/openwrt/pull/20300 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
fb01b901e7
commit
21d56eeefa
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user