On Wed, 14 Feb 2024 at 17:34, Uwe Kleine-König <u.kleine-koenig@pengutronix.de> wrote: > > The pwmchip stores a pointer to the parent device, so there is no need > to store another copy in driver private data. Drop struct > sprd_pwm_chip::dev and use the pwm_chip's parent pointer instead. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Tested-by: Chunyan Zhang <zhang.lyra@gmail.com> > --- > drivers/pwm/pwm-sprd.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/pwm/pwm-sprd.c b/drivers/pwm/pwm-sprd.c > index 2e87666ad2b9..a38f50c3dc00 100644 > --- a/drivers/pwm/pwm-sprd.c > +++ b/drivers/pwm/pwm-sprd.c > @@ -34,7 +34,6 @@ struct sprd_pwm_chn { > > struct sprd_pwm_chip { > void __iomem *base; > - struct device *dev; > struct pwm_chip chip; > struct sprd_pwm_chn chn[SPRD_PWM_CHN_NUM]; > }; > @@ -85,7 +84,7 @@ static int sprd_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, > */ > ret = clk_bulk_prepare_enable(SPRD_PWM_CHN_CLKS_NUM, chn->clks); > if (ret) { > - dev_err(spc->dev, "failed to enable pwm%u clocks\n", > + dev_err(pwmchip_parent(chip), "failed to enable pwm%u clocks\n", > pwm->hwpwm); > return ret; > } > @@ -182,7 +181,7 @@ static int sprd_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, > ret = clk_bulk_prepare_enable(SPRD_PWM_CHN_CLKS_NUM, > chn->clks); > if (ret) { > - dev_err(spc->dev, > + dev_err(pwmchip_parent(chip), > "failed to enable pwm%u clocks\n", > pwm->hwpwm); > return ret; > @@ -265,7 +264,6 @@ static int sprd_pwm_probe(struct platform_device *pdev) > if (IS_ERR(spc->base)) > return PTR_ERR(spc->base); > > - spc->dev = &pdev->dev; > memcpy(spc->chn, chn, sizeof(chn)); > > spc->chip.dev = &pdev->dev; > -- > 2.43.0 >
diff --git a/drivers/pwm/pwm-sprd.c b/drivers/pwm/pwm-sprd.c index 2e87666ad2b9..a38f50c3dc00 100644 --- a/drivers/pwm/pwm-sprd.c +++ b/drivers/pwm/pwm-sprd.c @@ -34,7 +34,6 @@ struct sprd_pwm_chn { struct sprd_pwm_chip { void __iomem *base; - struct device *dev; struct pwm_chip chip; struct sprd_pwm_chn chn[SPRD_PWM_CHN_NUM]; }; @@ -85,7 +84,7 @@ static int sprd_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm, */ ret = clk_bulk_prepare_enable(SPRD_PWM_CHN_CLKS_NUM, chn->clks); if (ret) { - dev_err(spc->dev, "failed to enable pwm%u clocks\n", + dev_err(pwmchip_parent(chip), "failed to enable pwm%u clocks\n", pwm->hwpwm); return ret; } @@ -182,7 +181,7 @@ static int sprd_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, ret = clk_bulk_prepare_enable(SPRD_PWM_CHN_CLKS_NUM, chn->clks); if (ret) { - dev_err(spc->dev, + dev_err(pwmchip_parent(chip), "failed to enable pwm%u clocks\n", pwm->hwpwm); return ret; @@ -265,7 +264,6 @@ static int sprd_pwm_probe(struct platform_device *pdev) if (IS_ERR(spc->base)) return PTR_ERR(spc->base); - spc->dev = &pdev->dev; memcpy(spc->chn, chn, sizeof(chn)); spc->chip.dev = &pdev->dev;
The pwmchip stores a pointer to the parent device, so there is no need to store another copy in driver private data. Drop struct sprd_pwm_chip::dev and use the pwm_chip's parent pointer instead. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- drivers/pwm/pwm-sprd.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)