Message ID | 1428850452-4178-7-git-send-email-linux.amoon@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 04/12/2015 07:54 AM, Anand Moon wrote: > In order to disable the PWM we need to update using following sequence. > > pwm_config(pwm, 0, period); > pwm_disable(pwm); > > pwm_config() with a zero duty cycle to make it clear the timer and update the PWM registers. > pwm_disable will clear the TCON_AUTORELOAD(tcon_chan) and update the PWM register. > There is no TCON_AUTORELOAD in this driver. Future developers will have no idea what you are talking about here. Please provide a generic comment. > Next change in state will get trigger unless a new PWM cycle happened. > That sentence is difficult to parse. Actually, I have no idea what it is supposed to mean. > pwm_config(pwm, duty, period); > pwm_enable(pwm); > > Through pwm_config we update the duty cycle and period and update the PWM register. > pwm_enable will update the state to TCON_MANUALUPDATE(tcon_chan) > and TCON_START(tcon_chan) | TCON_AUTORELOAD(tcon_chan) and update the PWM register. > This sentence does not make sense in the context of the pwm-fan driver. > Reported-by: Markus Reichl <m.reichl@fivetechno.de> > Tested-by: Markus Reichl <m.reichl@fivetechno.de> > Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> > Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> > Signed-off-by: Anand Moon <linux.amoon@gmail.com> > --- > drivers/hwmon/pwm-fan.c | 10 ++++------ > 1 file changed, 4 insertions(+), 6 deletions(-) > > diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c > index 7c83dc4..f25c841 100644 > --- a/drivers/hwmon/pwm-fan.c > +++ b/drivers/hwmon/pwm-fan.c > @@ -44,26 +44,24 @@ static int __set_pwm(struct pwm_fan_ctx *ctx, unsigned long pwm) > int ret = 0; > > mutex_lock(&ctx->lock); > + Please refrain from making unnecessary whitespace changes. Thanks, Guenter -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
hi Guenter, I am referring to #linux/drivers/pwm/pwm-samsung.c Will update the comment. -Anand Moon On 12 April 2015 at 20:37, Guenter Roeck <linux@roeck-us.net> wrote: > On 04/12/2015 07:54 AM, Anand Moon wrote: >> >> In order to disable the PWM we need to update using following sequence. >> >> pwm_config(pwm, 0, period); >> pwm_disable(pwm); >> >> pwm_config() with a zero duty cycle to make it clear the timer and update >> the PWM registers. >> pwm_disable will clear the TCON_AUTORELOAD(tcon_chan) and update the PWM >> register. >> > There is no TCON_AUTORELOAD in this driver. Future developers will have no > idea > what you are talking about here. Please provide a generic comment. > >> Next change in state will get trigger unless a new PWM cycle happened. >> > That sentence is difficult to parse. Actually, I have no idea what it is > supposed to mean. > >> pwm_config(pwm, duty, period); >> pwm_enable(pwm); >> >> Through pwm_config we update the duty cycle and period and update the PWM >> register. >> pwm_enable will update the state to TCON_MANUALUPDATE(tcon_chan) >> and TCON_START(tcon_chan) | TCON_AUTORELOAD(tcon_chan) and update the PWM >> register. >> > This sentence does not make sense in the context of the pwm-fan driver. > >> Reported-by: Markus Reichl <m.reichl@fivetechno.de> >> Tested-by: Markus Reichl <m.reichl@fivetechno.de> >> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> >> Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> >> Signed-off-by: Anand Moon <linux.amoon@gmail.com> >> --- >> drivers/hwmon/pwm-fan.c | 10 ++++------ >> 1 file changed, 4 insertions(+), 6 deletions(-) >> >> diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c >> index 7c83dc4..f25c841 100644 >> --- a/drivers/hwmon/pwm-fan.c >> +++ b/drivers/hwmon/pwm-fan.c >> @@ -44,26 +44,24 @@ static int __set_pwm(struct pwm_fan_ctx *ctx, >> unsigned long pwm) >> int ret = 0; >> >> mutex_lock(&ctx->lock); >> + > > > Please refrain from making unnecessary whitespace changes. > > Thanks, > Guenter > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 04/12/2015 08:29 AM, Anand Moon wrote: > hi Guenter, > > I am referring to #linux/drivers/pwm/pwm-samsung.c > > Will update the comment. > Sure, but that doesn't help as patch description for the pwm-fan driver. Guenter > -Anand Moon > > On 12 April 2015 at 20:37, Guenter Roeck <linux@roeck-us.net> wrote: >> On 04/12/2015 07:54 AM, Anand Moon wrote: >>> >>> In order to disable the PWM we need to update using following sequence. >>> >>> pwm_config(pwm, 0, period); >>> pwm_disable(pwm); >>> >>> pwm_config() with a zero duty cycle to make it clear the timer and update >>> the PWM registers. >>> pwm_disable will clear the TCON_AUTORELOAD(tcon_chan) and update the PWM >>> register. >>> >> There is no TCON_AUTORELOAD in this driver. Future developers will have no >> idea >> what you are talking about here. Please provide a generic comment. >> >>> Next change in state will get trigger unless a new PWM cycle happened. >>> >> That sentence is difficult to parse. Actually, I have no idea what it is >> supposed to mean. >> >>> pwm_config(pwm, duty, period); >>> pwm_enable(pwm); >>> >>> Through pwm_config we update the duty cycle and period and update the PWM >>> register. >>> pwm_enable will update the state to TCON_MANUALUPDATE(tcon_chan) >>> and TCON_START(tcon_chan) | TCON_AUTORELOAD(tcon_chan) and update the PWM >>> register. >>> >> This sentence does not make sense in the context of the pwm-fan driver. >> >>> Reported-by: Markus Reichl <m.reichl@fivetechno.de> >>> Tested-by: Markus Reichl <m.reichl@fivetechno.de> >>> Reviewed-by: Lukasz Majewski <l.majewski@samsung.com> >>> Reviewed-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> >>> Signed-off-by: Anand Moon <linux.amoon@gmail.com> >>> --- >>> drivers/hwmon/pwm-fan.c | 10 ++++------ >>> 1 file changed, 4 insertions(+), 6 deletions(-) >>> >>> diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c >>> index 7c83dc4..f25c841 100644 >>> --- a/drivers/hwmon/pwm-fan.c >>> +++ b/drivers/hwmon/pwm-fan.c >>> @@ -44,26 +44,24 @@ static int __set_pwm(struct pwm_fan_ctx *ctx, >>> unsigned long pwm) >>> int ret = 0; >>> >>> mutex_lock(&ctx->lock); >>> + >> >> >> Please refrain from making unnecessary whitespace changes. >> >> Thanks, >> Guenter >> > -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/hwmon/pwm-fan.c b/drivers/hwmon/pwm-fan.c index 7c83dc4..f25c841 100644 --- a/drivers/hwmon/pwm-fan.c +++ b/drivers/hwmon/pwm-fan.c @@ -44,26 +44,24 @@ static int __set_pwm(struct pwm_fan_ctx *ctx, unsigned long pwm) int ret = 0; mutex_lock(&ctx->lock); + if (ctx->pwm_value == pwm) goto exit_set_pwm_err; - if (pwm == 0) { - pwm_disable(ctx->pwm); - goto exit_set_pwm; - } - duty = DIV_ROUND_UP(pwm * (ctx->pwm->period - 1), MAX_PWM); ret = pwm_config(ctx->pwm, duty, ctx->pwm->period); if (ret) goto exit_set_pwm_err; + if (pwm == 0) + pwm_disable(ctx->pwm); + if (ctx->pwm_value == 0) { ret = pwm_enable(ctx->pwm); if (ret) goto exit_set_pwm_err; } -exit_set_pwm: ctx->pwm_value = pwm; exit_set_pwm_err: mutex_unlock(&ctx->lock);