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

gpio: mvebu: Make use of devm_pwmchip_alloc() function

This prepares the pwm sub-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.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/2edc3adbb2c40b76b3b3dac82de82f3036bec1d5.1707900770.git.u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>

+9 -9
+9 -9
drivers/gpio/gpio-mvebu.c
··· 99 99 u32 offset; 100 100 unsigned long clk_rate; 101 101 struct gpio_desc *gpiod; 102 - struct pwm_chip chip; 103 102 spinlock_t lock; 104 103 struct mvebu_gpio_chip *mvchip; 105 104 ··· 614 615 */ 615 616 static struct mvebu_pwm *to_mvebu_pwm(struct pwm_chip *chip) 616 617 { 617 - return container_of(chip, struct mvebu_pwm, chip); 618 + return pwmchip_get_drvdata(chip); 618 619 } 619 620 620 621 static int mvebu_pwm_request(struct pwm_chip *chip, struct pwm_device *pwm) ··· 788 789 { 789 790 struct device *dev = &pdev->dev; 790 791 struct mvebu_pwm *mvpwm; 792 + struct pwm_chip *chip; 791 793 void __iomem *base; 792 794 u32 offset; 793 795 u32 set; ··· 813 813 if (IS_ERR(mvchip->clk)) 814 814 return PTR_ERR(mvchip->clk); 815 815 816 - mvpwm = devm_kzalloc(dev, sizeof(struct mvebu_pwm), GFP_KERNEL); 817 - if (!mvpwm) 818 - return -ENOMEM; 816 + chip = devm_pwmchip_alloc(dev, mvchip->chip.ngpio, sizeof(*mvpwm)); 817 + if (IS_ERR(chip)) 818 + return PTR_ERR(chip); 819 + mvpwm = to_mvebu_pwm(chip); 820 + 819 821 mvchip->mvpwm = mvpwm; 820 822 mvpwm->mvchip = mvchip; 821 823 mvpwm->offset = offset; ··· 870 868 return -EINVAL; 871 869 } 872 870 873 - mvpwm->chip.dev = dev; 874 - mvpwm->chip.ops = &mvebu_pwm_ops; 875 - mvpwm->chip.npwm = mvchip->chip.ngpio; 871 + chip->ops = &mvebu_pwm_ops; 876 872 877 873 spin_lock_init(&mvpwm->lock); 878 874 879 - return devm_pwmchip_add(dev, &mvpwm->chip); 875 + return devm_pwmchip_add(dev, chip); 880 876 } 881 877 882 878 #ifdef CONFIG_DEBUG_FS