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

pwm: iqs620a: 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
2e27afd0 d8c11a65

+1 -15
+1 -15
drivers/pwm/pwm-iqs620a.c
··· 189 189 if (!iqs620_pwm) 190 190 return -ENOMEM; 191 191 192 - platform_set_drvdata(pdev, iqs620_pwm); 193 192 iqs620_pwm->iqs62x = iqs62x; 194 193 195 194 ret = regmap_read(iqs62x->regmap, IQS620_PWR_SETTINGS, &val); ··· 223 224 if (ret) 224 225 return ret; 225 226 226 - ret = pwmchip_add(&iqs620_pwm->chip); 227 + ret = devm_pwmchip_add(&pdev->dev, &iqs620_pwm->chip); 227 228 if (ret) 228 229 dev_err(&pdev->dev, "Failed to add device: %d\n", ret); 229 - 230 - return ret; 231 - } 232 - 233 - static int iqs620_pwm_remove(struct platform_device *pdev) 234 - { 235 - struct iqs620_pwm_private *iqs620_pwm = platform_get_drvdata(pdev); 236 - int ret; 237 - 238 - ret = pwmchip_remove(&iqs620_pwm->chip); 239 - if (ret) 240 - dev_err(&pdev->dev, "Failed to remove device: %d\n", ret); 241 230 242 231 return ret; 243 232 } ··· 235 248 .name = "iqs620a-pwm", 236 249 }, 237 250 .probe = iqs620_pwm_probe, 238 - .remove = iqs620_pwm_remove, 239 251 }; 240 252 module_platform_driver(iqs620_pwm_platform_driver); 241 253