Commit 99cade83 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Lee Jones
Browse files

leds: mt6323: 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>
Reviewed-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: default avatarLee Jones <lee@kernel.org>
Link: https://lore.kernel.org/r/20230103131256.33894-7-andriy.shevchenko@linux.intel.com
parent e41ff817
Loading
Loading
Loading
Loading
+15 −15
Original line number Diff line number Diff line
@@ -339,24 +339,24 @@ static int mt6323_led_set_dt_default(struct led_classdev *cdev,
				     struct device_node *np)
{
	struct mt6323_led *led = container_of(cdev, struct mt6323_led, cdev);
	const char *state;
	enum led_default_state state;
	int ret = 0;

	state = of_get_property(np, "default-state", NULL);
	if (state) {
		if (!strcmp(state, "keep")) {
	state = led_init_default_state_get(of_fwnode_handle(np));
	switch (state) {
	case LEDS_DEFSTATE_ON:
		ret = mt6323_led_set_brightness(cdev, cdev->max_brightness);
		break;
	case LEDS_DEFSTATE_KEEP:
		ret = mt6323_get_led_hw_brightness(cdev);
		if (ret < 0)
			return ret;
		led->current_brightness = ret;
		ret = 0;
		} else if (!strcmp(state, "on")) {
			ret =
			mt6323_led_set_brightness(cdev, cdev->max_brightness);
		} else  {
		break;
	default:
		ret = mt6323_led_set_brightness(cdev, LED_OFF);
	}
	}

	return ret;
}