Commit 4b268456 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Lee Jones
Browse files

leds: spi-byte: 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>
Link: https://lore.kernel.org/r/20240606173037.3091598-3-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarLee Jones <lee@kernel.org>
parent 7f9ab862
Loading
Loading
Loading
Loading
+5 −12
Original line number Diff line number Diff line
@@ -84,7 +84,7 @@ static int spi_byte_probe(struct spi_device *spi)
	struct device *dev = &spi->dev;
	struct spi_byte_led *led;
	struct led_init_data init_data = {};
	const char *state;
	enum led_default_state state;
	int ret;

	if (of_get_available_child_count(dev_of_node(dev)) != 1) {
@@ -104,17 +104,10 @@ static int spi_byte_probe(struct spi_device *spi)
	led->ldev.brightness_set_blocking = spi_byte_brightness_set_blocking;

	child = of_get_next_available_child(dev_of_node(dev), NULL);
	state = of_get_property(child, "default-state", NULL);
	if (state) {
		if (!strcmp(state, "on")) {

	state = led_init_default_state_get(of_fwnode_handle(child));
	if (state == LEDS_DEFSTATE_ON)
		led->ldev.brightness = led->ldev.max_brightness;
		} else if (strcmp(state, "off")) {
			of_node_put(child);
			/* all other cases except "off" */
			dev_err(dev, "default-state can only be 'on' or 'off'");
			return -EINVAL;
		}
	}
	spi_byte_brightness_set_blocking(&led->ldev,
					 led->ldev.brightness);