From dd08e136f77bfbd1cc2917bafbd690ad5f40a61b Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Wed, 20 Mar 2019 22:52:27 +0100 Subject: leds: lt3593: drop pdata handling code The only user of this driver in mainline has now moved to DTS, so the pdata code is no longer in use by anyone. Let's drop some dead code, and make the driver depend on CONFIG_OF. Signed-off-by: Daniel Mack Signed-off-by: Jacek Anaszewski --- drivers/leds/Kconfig | 1 + drivers/leds/leds-lt3593.c | 56 ---------------------------------------------- 2 files changed, 1 insertion(+), 56 deletions(-) diff --git a/drivers/leds/Kconfig b/drivers/leds/Kconfig index 2b5ae50f8c9a..0414adebb177 100644 --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig @@ -533,6 +533,7 @@ config LEDS_LT3593 tristate "LED driver for LT3593 controllers" depends on LEDS_CLASS depends on GPIOLIB || COMPILE_TEST + depends on OF help This option enables support for LEDs driven by a Linear Technology LT3593 controller. This controller uses a special one-wire pulse diff --git a/drivers/leds/leds-lt3593.c b/drivers/leds/leds-lt3593.c index de3623e0d094..54f0e5dbdbd0 100644 --- a/drivers/leds/leds-lt3593.c +++ b/drivers/leds/leds-lt3593.c @@ -60,50 +60,6 @@ static int lt3593_led_set(struct led_classdev *led_cdev, return 0; } -static struct lt3593_led_data *lt3593_led_probe_pdata(struct device *dev) -{ - struct gpio_led_platform_data *pdata = dev_get_platdata(dev); - const struct gpio_led *template = &pdata->leds[0]; - struct lt3593_led_data *led_data; - int ret, state; - - if (pdata->num_leds != 1) - return ERR_PTR(-EINVAL); - - led_data = devm_kzalloc(dev, sizeof(*led_data), GFP_KERNEL); - if (!led_data) - return ERR_PTR(-ENOMEM); - - led_data->cdev.name = template->name; - led_data->cdev.default_trigger = template->default_trigger; - led_data->cdev.brightness_set_blocking = lt3593_led_set; - - state = (template->default_state == LEDS_GPIO_DEFSTATE_ON); - led_data->cdev.brightness = state ? LED_FULL : LED_OFF; - - if (!template->retain_state_suspended) - led_data->cdev.flags |= LED_CORE_SUSPENDRESUME; - - ret = devm_gpio_request_one(dev, template->gpio, state ? - GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW, - template->name); - if (ret < 0) - return ERR_PTR(ret); - - led_data->gpiod = gpio_to_desc(template->gpio); - if (!led_data->gpiod) - return ERR_PTR(-EPROBE_DEFER); - - ret = devm_led_classdev_register(dev, &led_data->cdev); - if (ret < 0) - return ERR_PTR(ret); - - dev_info(dev, "registered LT3593 LED '%s' at GPIO %d\n", - template->name, template->gpio); - - return led_data; -} - static int lt3593_led_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -113,14 +69,6 @@ static int lt3593_led_probe(struct platform_device *pdev) enum gpiod_flags flags = GPIOD_OUT_LOW; const char *tmp; - if (dev_get_platdata(dev)) { - led_data = lt3593_led_probe_pdata(dev); - if (IS_ERR(led_data)) - return PTR_ERR(led_data); - - goto out; - } - if (!dev->of_node) return -ENODEV; @@ -171,20 +119,16 @@ static int lt3593_led_probe(struct platform_device *pdev) } led_data->cdev.dev->of_node = dev->of_node; - -out: platform_set_drvdata(pdev, led_data); return 0; } -#ifdef CONFIG_OF static const struct of_device_id of_lt3593_leds_match[] = { { .compatible = "lltc,lt3593", }, {}, }; MODULE_DEVICE_TABLE(of, of_lt3593_leds_match); -#endif static struct platform_driver lt3593_led_driver = { .probe = lt3593_led_probe, -- cgit v1.2.3