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

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

authored by

zhaoxiao and committed by
Thierry Reding
6facd840 06dfae38

+1 -13
+1 -13
drivers/pwm/pwm-visconti.c
··· 144 144 if (IS_ERR(priv->base)) 145 145 return PTR_ERR(priv->base); 146 146 147 - platform_set_drvdata(pdev, priv); 148 - 149 147 priv->chip.dev = dev; 150 148 priv->chip.ops = &visconti_pwm_ops; 151 149 priv->chip.npwm = 4; 152 150 153 - ret = pwmchip_add(&priv->chip); 151 + ret = devm_pwmchip_add(&pdev->dev, &priv->chip); 154 152 if (ret < 0) 155 153 return dev_err_probe(&pdev->dev, ret, "Cannot register visconti PWM\n"); 156 - 157 - return 0; 158 - } 159 - 160 - static int visconti_pwm_remove(struct platform_device *pdev) 161 - { 162 - struct visconti_pwm_chip *priv = platform_get_drvdata(pdev); 163 - 164 - pwmchip_remove(&priv->chip); 165 154 166 155 return 0; 167 156 } ··· 167 178 .of_match_table = visconti_pwm_of_match, 168 179 }, 169 180 .probe = visconti_pwm_probe, 170 - .remove = visconti_pwm_remove, 171 181 }; 172 182 module_platform_driver(visconti_pwm_driver); 173 183