Message ID | 20230719192013.4051193-6-u.kleine-koenig@pengutronix.de |
---|---|
State | Accepted |
Headers | show |
Series | pwm: atmel-tcb: Some driver maintenance | expand |
On 19.07.2023 22:20, Uwe Kleine-König wrote: > struct atmel_tcb_pwm_device::polarity is only used in atmel_tcb_pwm_enable > and atmel_tcb_pwm_disable(). These functions are only called by > atmel_tcb_pwm_apply() after the member variable was assigned to > state->polarity. So the value assigned in atmel_tcb_pwm_request() is > never used and the member can be dropped from struct atmel_tcb_pwm_device. > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> > --- > drivers/pwm/pwm-atmel-tcb.c | 18 ++++++------------ > 1 file changed, 6 insertions(+), 12 deletions(-) > > diff --git a/drivers/pwm/pwm-atmel-tcb.c b/drivers/pwm/pwm-atmel-tcb.c > index 32a60d7f8ed2..30c966238e41 100644 > --- a/drivers/pwm/pwm-atmel-tcb.c > +++ b/drivers/pwm/pwm-atmel-tcb.c > @@ -34,7 +34,6 @@ > ATMEL_TC_BEEVT | ATMEL_TC_BSWTRG) > > struct atmel_tcb_pwm_device { > - enum pwm_polarity polarity; /* PWM polarity */ > unsigned div; /* PWM clock divider */ > unsigned duty; /* PWM duty expressed in clk cycles */ > unsigned period; /* PWM period expressed in clk cycles */ > @@ -80,7 +79,6 @@ static int atmel_tcb_pwm_request(struct pwm_chip *chip, > if (ret) > return ret; > > - tcbpwm->polarity = PWM_POLARITY_NORMAL; > tcbpwm->duty = 0; > tcbpwm->period = 0; > tcbpwm->div = 0; > @@ -123,12 +121,12 @@ static void atmel_tcb_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) > clk_disable_unprepare(tcbpwmc->clk); > } > > -static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) > +static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm, > + enum pwm_polarity polarity) > { > struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); > struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; > unsigned cmr; > - enum pwm_polarity polarity = tcbpwm->polarity; > > /* > * If duty is 0 the timer will be stopped and we have to > @@ -180,12 +178,12 @@ static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) > spin_unlock(&tcbpwmc->lock); > } > > -static int atmel_tcb_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) > +static int atmel_tcb_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm, > + enum pwm_polarity polarity) > { > struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); > struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; > u32 cmr; > - enum pwm_polarity polarity = tcbpwm->polarity; > > /* > * If duty is 0 the timer will be stopped and we have to > @@ -345,15 +343,11 @@ static int atmel_tcb_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, > static int atmel_tcb_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, > const struct pwm_state *state) > { > - struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); > - struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; > int duty_cycle, period; > int ret; > > - tcbpwm->polarity = state->polarity; > - > if (!state->enabled) { > - atmel_tcb_pwm_disable(chip, pwm); > + atmel_tcb_pwm_disable(chip, pwm, state->polarity); > return 0; > } > > @@ -364,7 +358,7 @@ static int atmel_tcb_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, > if (ret) > return ret; > > - return atmel_tcb_pwm_enable(chip, pwm); > + return atmel_tcb_pwm_enable(chip, pwm, state->polarity); > } > > static const struct pwm_ops atmel_tcb_pwm_ops = {
diff --git a/drivers/pwm/pwm-atmel-tcb.c b/drivers/pwm/pwm-atmel-tcb.c index 32a60d7f8ed2..30c966238e41 100644 --- a/drivers/pwm/pwm-atmel-tcb.c +++ b/drivers/pwm/pwm-atmel-tcb.c @@ -34,7 +34,6 @@ ATMEL_TC_BEEVT | ATMEL_TC_BSWTRG) struct atmel_tcb_pwm_device { - enum pwm_polarity polarity; /* PWM polarity */ unsigned div; /* PWM clock divider */ unsigned duty; /* PWM duty expressed in clk cycles */ unsigned period; /* PWM period expressed in clk cycles */ @@ -80,7 +79,6 @@ static int atmel_tcb_pwm_request(struct pwm_chip *chip, if (ret) return ret; - tcbpwm->polarity = PWM_POLARITY_NORMAL; tcbpwm->duty = 0; tcbpwm->period = 0; tcbpwm->div = 0; @@ -123,12 +121,12 @@ static void atmel_tcb_pwm_free(struct pwm_chip *chip, struct pwm_device *pwm) clk_disable_unprepare(tcbpwmc->clk); } -static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) +static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm, + enum pwm_polarity polarity) { struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; unsigned cmr; - enum pwm_polarity polarity = tcbpwm->polarity; /* * If duty is 0 the timer will be stopped and we have to @@ -180,12 +178,12 @@ static void atmel_tcb_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) spin_unlock(&tcbpwmc->lock); } -static int atmel_tcb_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) +static int atmel_tcb_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm, + enum pwm_polarity polarity) { struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; u32 cmr; - enum pwm_polarity polarity = tcbpwm->polarity; /* * If duty is 0 the timer will be stopped and we have to @@ -345,15 +343,11 @@ static int atmel_tcb_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, static int atmel_tcb_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, const struct pwm_state *state) { - struct atmel_tcb_pwm_chip *tcbpwmc = to_tcb_chip(chip); - struct atmel_tcb_pwm_device *tcbpwm = &tcbpwmc->pwms[pwm->hwpwm]; int duty_cycle, period; int ret; - tcbpwm->polarity = state->polarity; - if (!state->enabled) { - atmel_tcb_pwm_disable(chip, pwm); + atmel_tcb_pwm_disable(chip, pwm, state->polarity); return 0; } @@ -364,7 +358,7 @@ static int atmel_tcb_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm, if (ret) return ret; - return atmel_tcb_pwm_enable(chip, pwm); + return atmel_tcb_pwm_enable(chip, pwm, state->polarity); } static const struct pwm_ops atmel_tcb_pwm_ops = {
struct atmel_tcb_pwm_device::polarity is only used in atmel_tcb_pwm_enable and atmel_tcb_pwm_disable(). These functions are only called by atmel_tcb_pwm_apply() after the member variable was assigned to state->polarity. So the value assigned in atmel_tcb_pwm_request() is never used and the member can be dropped from struct atmel_tcb_pwm_device. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- drivers/pwm/pwm-atmel-tcb.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-)