Commit 5ff422a7 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Lee Jones
Browse files

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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230103131256.33894-4-andriy.shevchenko@linux.intel.com
parent 156a5bb8
Loading
Loading
Loading
Loading
+4 −17
Original line number Diff line number Diff line
@@ -55,10 +55,6 @@

#define AN30259A_NAME "an30259a"

#define STATE_OFF 0
#define STATE_KEEP 1
#define STATE_ON 2

struct an30259a;

struct an30259a_led {
@@ -66,7 +62,7 @@ struct an30259a_led {
	struct fwnode_handle *fwnode;
	struct led_classdev cdev;
	u32 num;
	u32 default_state;
	enum led_default_state default_state;
	bool sloping;
};

@@ -205,7 +201,6 @@ static int an30259a_dt_init(struct i2c_client *client,
	struct device_node *np = dev_of_node(&client->dev), *child;
	int count, ret;
	int i = 0;
	const char *str;
	struct an30259a_led *led;

	count = of_get_available_child_count(np);
@@ -228,15 +223,7 @@ static int an30259a_dt_init(struct i2c_client *client,
		led->num = source;
		led->chip = chip;
		led->fwnode = of_fwnode_handle(child);

		if (!of_property_read_string(child, "default-state", &str)) {
			if (!strcmp(str, "on"))
				led->default_state = STATE_ON;
			else if (!strcmp(str, "keep"))
				led->default_state = STATE_KEEP;
			else
				led->default_state = STATE_OFF;
		}
		led->default_state = led_init_default_state_get(led->fwnode);

		i++;
	}
@@ -261,10 +248,10 @@ static void an30259a_init_default_state(struct an30259a_led *led)
	int led_on, err;

	switch (led->default_state) {
	case STATE_ON:
	case LEDS_DEFSTATE_ON:
		led->cdev.brightness = LED_FULL;
		break;
	case STATE_KEEP:
	case LEDS_DEFSTATE_KEEP:
		err = regmap_read(chip->regmap, AN30259A_REG_LED_ON, &led_on);
		if (err)
			break;