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

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
Loading
Loading
Loading
Loading
+5 −25
Original line number Diff line number Diff line
@@ -24,11 +24,6 @@ struct led_pwm {
	unsigned int	max_brightness;
};

struct led_pwm_platform_data {
	int		num_leds;
	struct led_pwm	*leds;
};

struct led_pwm_data {
	struct led_classdev	cdev;
	struct pwm_device	*pwm;
@@ -60,6 +55,7 @@ static int led_pwm_set(struct led_classdev *led_cdev,
	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,
		       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,
	led_data->cdev.max_brightness = led->max_brightness;
	led_data->cdev.flags = LED_CORE_SUSPENDRESUME;

	if (fwnode)
	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))
		return dev_err_probe(dev, PTR_ERR(led_data->pwm),
				     "unable to request PWM for %s\n",
@@ -139,14 +132,10 @@ static int led_pwm_create_fwnode(struct device *dev, struct led_pwm_priv *priv)

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;
	int count, i;
	int ret = 0;
	int count;

	if (pdata)
		count = pdata->num_leds;
	else
	count = device_get_child_node_count(&pdev->dev);

	if (!count)
@@ -157,16 +146,7 @@ static int led_pwm_probe(struct platform_device *pdev)
	if (!priv)
		return -ENOMEM;

	if (pdata) {
		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)
		return ret;