Commit 19d2e0ce authored by Alexander Dahl's avatar Alexander Dahl Committed by Pavel Machek

leds: pwm: Remove platform_data support

Since commit 141f15c6 ("leds: pwm: remove header") that platform
interface is not usable from outside and there seems to be no in tree
user anymore.  All in-tree users of the leds-pwm driver seem to use DT
currently.  Getting rid of the old platform interface allows the
leds-pwm driver to switch over from 'devm_led_classdev_register()' to
'devm_led_classdev_register_ext()'.
Signed-off-by: default avatarAlexander Dahl <post@lespocky.de>
Cc: Denis Osterland-Heim <denis.osterland@diehl.com>
Reviewed-by: default avatarMarek Behún <marek.behun@nic.cz>
Signed-off-by: default avatarPavel Machek <pavel@ucw.cz>
parent 98d278ca
...@@ -24,11 +24,6 @@ struct led_pwm { ...@@ -24,11 +24,6 @@ struct led_pwm {
unsigned int max_brightness; unsigned int max_brightness;
}; };
struct led_pwm_platform_data {
int num_leds;
struct led_pwm *leds;
};
struct led_pwm_data { struct led_pwm_data {
struct led_classdev cdev; struct led_classdev cdev;
struct pwm_device *pwm; struct pwm_device *pwm;
...@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev, ...@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev,
return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate); return pwm_apply_state(led_dat->pwm, &led_dat->pwmstate);
} }
__attribute__((nonnull))
static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
struct led_pwm *led, struct fwnode_handle *fwnode) struct led_pwm *led, struct fwnode_handle *fwnode)
{ {
...@@ -73,10 +69,7 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv, ...@@ -73,10 +69,7 @@ static int led_pwm_add(struct device *dev, struct led_pwm_priv *priv,
led_data->cdev.max_brightness = led->max_brightness; led_data->cdev.max_brightness = led->max_brightness;
led_data->cdev.flags = LED_CORE_SUSPENDRESUME; led_data->cdev.flags = LED_CORE_SUSPENDRESUME;
if (fwnode) led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
led_data->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL);
else
led_data->pwm = devm_pwm_get(dev, led->name);
if (IS_ERR(led_data->pwm)) if (IS_ERR(led_data->pwm))
return dev_err_probe(dev, PTR_ERR(led_data->pwm), return dev_err_probe(dev, PTR_ERR(led_data->pwm),
"unable to request PWM for %s\n", "unable to request PWM for %s\n",
...@@ -139,15 +132,11 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv) ...@@ -139,15 +132,11 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)
static int led_pwm_probe(struct platform_device *pdev) static int led_pwm_probe(struct platform_device *pdev)
{ {
struct led_pwm_platform_data *pdata = dev_get_platdata(&pdev->dev);
struct led_pwm_priv *priv; struct led_pwm_priv *priv;
int count, i;
int ret = 0; int ret = 0;
int count;
if (pdata) count = device_get_child_node_count(&pdev->dev);
count = pdata->num_leds;
else
count = device_get_child_node_count(&pdev->dev);
if (!count) if (!count)
return -EINVAL; return -EINVAL;
...@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev) ...@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev)
if (!priv) if (!priv)
return -ENOMEM; return -ENOMEM;
if (pdata) { ret = led_pwm_create_fwnode(&pdev->dev, priv);
for (i = 0; i < count; i++) {
ret = led_pwm_add(&pdev->dev, priv, &pdata->leds[i],
NULL);
if (ret)
break;
}
} else {
ret = led_pwm_create_fwnode(&pdev->dev, priv);
}
if (ret) if (ret)
return ret; return ret;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment