Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pwm: sl28cpld: 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: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>

authored by

Uwe Kleine-König and committed by
Thierry Reding
02dd2e41 b7783c62

+1 -11
+1 -11
drivers/pwm/pwm-sl28cpld.c
··· 231 231 chip->ops = &sl28cpld_pwm_ops; 232 232 chip->npwm = 1; 233 233 234 - platform_set_drvdata(pdev, priv); 235 - 236 - ret = pwmchip_add(&priv->pwm_chip); 234 + ret = devm_pwmchip_add(&pdev->dev, &priv->pwm_chip); 237 235 if (ret) { 238 236 dev_err(&pdev->dev, "failed to add PWM chip (%pe)", 239 237 ERR_PTR(ret)); ··· 239 241 } 240 242 241 243 return 0; 242 - } 243 - 244 - static int sl28cpld_pwm_remove(struct platform_device *pdev) 245 - { 246 - struct sl28cpld_pwm *priv = platform_get_drvdata(pdev); 247 - 248 - return pwmchip_remove(&priv->pwm_chip); 249 244 } 250 245 251 246 static const struct of_device_id sl28cpld_pwm_of_match[] = { ··· 249 258 250 259 static struct platform_driver sl28cpld_pwm_driver = { 251 260 .probe = sl28cpld_pwm_probe, 252 - .remove = sl28cpld_pwm_remove, 253 261 .driver = { 254 262 .name = "sl28cpld-pwm", 255 263 .of_match_table = sl28cpld_pwm_of_match,