Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

leds: an30259a: Get rid of custom led_init_default_state_get()

LED core provides a helper to parse default state from firmware node.
Use it instead of custom implementation.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230103131256.33894-4-andriy.shevchenko@linux.intel.com

authored by

Andy Shevchenko and committed by
Lee Jones
5ff422a7 156a5bb8

+4 -17
+4 -17
drivers/leds/leds-an30259a.c
··· 55 55 56 56 #define AN30259A_NAME "an30259a" 57 57 58 - #define STATE_OFF 0 59 - #define STATE_KEEP 1 60 - #define STATE_ON 2 61 - 62 58 struct an30259a; 63 59 64 60 struct an30259a_led { ··· 62 66 struct fwnode_handle *fwnode; 63 67 struct led_classdev cdev; 64 68 u32 num; 65 - u32 default_state; 69 + enum led_default_state default_state; 66 70 bool sloping; 67 71 }; 68 72 ··· 201 205 struct device_node *np = dev_of_node(&client->dev), *child; 202 206 int count, ret; 203 207 int i = 0; 204 - const char *str; 205 208 struct an30259a_led *led; 206 209 207 210 count = of_get_available_child_count(np); ··· 223 228 led->num = source; 224 229 led->chip = chip; 225 230 led->fwnode = of_fwnode_handle(child); 226 - 227 - if (!of_property_read_string(child, "default-state", &str)) { 228 - if (!strcmp(str, "on")) 229 - led->default_state = STATE_ON; 230 - else if (!strcmp(str, "keep")) 231 - led->default_state = STATE_KEEP; 232 - else 233 - led->default_state = STATE_OFF; 234 - } 231 + led->default_state = led_init_default_state_get(led->fwnode); 235 232 236 233 i++; 237 234 } ··· 248 261 int led_on, err; 249 262 250 263 switch (led->default_state) { 251 - case STATE_ON: 264 + case LEDS_DEFSTATE_ON: 252 265 led->cdev.brightness = LED_FULL; 253 266 break; 254 - case STATE_KEEP: 267 + case LEDS_DEFSTATE_KEEP: 255 268 err = regmap_read(chip->regmap, AN30259A_REG_LED_ON, &led_on); 256 269 if (err) 257 270 break;