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

pwm: mtk-disp: Make use of devm_pwmchip_alloc() function

This prepares the pwm-mtk-disp driver to further changes of the pwm core
outlined in the commit introducing devm_pwmchip_alloc(). There is no
intended semantical change and the driver should behave as before.

Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/a70bf253dc41c61d9b901423710c97f235e372c3.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

+8 -9
+8 -9
drivers/pwm/pwm-mtk-disp.c
··· 42 42 }; 43 43 44 44 struct mtk_disp_pwm { 45 - struct pwm_chip chip; 46 45 const struct mtk_pwm_data *data; 47 46 struct clk *clk_main; 48 47 struct clk *clk_mm; ··· 51 52 52 53 static inline struct mtk_disp_pwm *to_mtk_disp_pwm(struct pwm_chip *chip) 53 54 { 54 - return container_of(chip, struct mtk_disp_pwm, chip); 55 + return pwmchip_get_drvdata(chip); 55 56 } 56 57 57 58 static void mtk_disp_pwm_update_bits(struct mtk_disp_pwm *mdp, u32 offset, ··· 230 231 231 232 static int mtk_disp_pwm_probe(struct platform_device *pdev) 232 233 { 234 + struct pwm_chip *chip; 233 235 struct mtk_disp_pwm *mdp; 234 236 int ret; 235 237 236 - mdp = devm_kzalloc(&pdev->dev, sizeof(*mdp), GFP_KERNEL); 237 - if (!mdp) 238 - return -ENOMEM; 238 + chip = devm_pwmchip_alloc(&pdev->dev, 1, sizeof(*mdp)); 239 + if (IS_ERR(chip)) 240 + return PTR_ERR(chip); 241 + mdp = to_mtk_disp_pwm(chip); 239 242 240 243 mdp->data = of_device_get_match_data(&pdev->dev); 241 244 ··· 255 254 return dev_err_probe(&pdev->dev, PTR_ERR(mdp->clk_mm), 256 255 "Failed to get mm clock\n"); 257 256 258 - mdp->chip.dev = &pdev->dev; 259 - mdp->chip.ops = &mtk_disp_pwm_ops; 260 - mdp->chip.npwm = 1; 257 + chip->ops = &mtk_disp_pwm_ops; 261 258 262 - ret = devm_pwmchip_add(&pdev->dev, &mdp->chip); 259 + ret = devm_pwmchip_add(&pdev->dev, chip); 263 260 if (ret < 0) 264 261 return dev_err_probe(&pdev->dev, ret, "pwmchip_add() failed\n"); 265 262