Commit c9bb1c9e authored by Uwe Kleine-König's avatar Uwe Kleine-König Committed by Thierry Reding
Browse files

pwm: twl-led: Simplify using devm_pwmchip_add()



This allows to drop the platform_driver's remove function. This is the
only user of driver data so this can go away, too.

Signed-off-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarThierry Reding <thierry.reding@gmail.com>
parent a64a5853
Loading
Loading
Loading
Loading
+1 −16
Original line number Diff line number Diff line
@@ -276,7 +276,6 @@ static const struct pwm_ops twl6030_pwmled_ops = {
static int twl_pwmled_probe(struct platform_device *pdev)
{
	struct twl_pwmled_chip *twl;
	int ret;

	twl = devm_kzalloc(&pdev->dev, sizeof(*twl), GFP_KERNEL);
	if (!twl)
@@ -294,20 +293,7 @@ static int twl_pwmled_probe(struct platform_device *pdev)

	mutex_init(&twl->mutex);

	ret = pwmchip_add(&twl->chip);
	if (ret < 0)
		return ret;

	platform_set_drvdata(pdev, twl);

	return 0;
}

static int twl_pwmled_remove(struct platform_device *pdev)
{
	struct twl_pwmled_chip *twl = platform_get_drvdata(pdev);

	return pwmchip_remove(&twl->chip);
	return devm_pwmchip_add(&pdev->dev, &twl->chip);
}

#ifdef CONFIG_OF
@@ -325,7 +311,6 @@ static struct platform_driver twl_pwmled_driver = {
		.of_match_table = of_match_ptr(twl_pwmled_of_match),
	},
	.probe = twl_pwmled_probe,
	.remove = twl_pwmled_remove,
};
module_platform_driver(twl_pwmled_driver);