Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1270065

Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx() helpers where appropriate

From Boris Brezillon <boris.brezillon@free-electrons.com>
Newsgroups linux.kernel
Subject Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx() helpers where appropriate
Date 2015-11-16 13:30 +0100
Message-ID <qvr50-7g8-7@gated-at.bofh.it> (permalink)
References <qvnNM-53A-3@gated-at.bofh.it> <qvnXt-5nn-29@gated-at.bofh.it> <qvpFU-6fI-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Mark,

On Mon, 16 Nov 2015 10:55:58 +0000
Mark Brown <broonie@kernel.org> wrote:

> On Mon, Nov 16, 2015 at 09:56:32AM +0100, Boris Brezillon wrote:
> 
> > +++ b/drivers/regulator/pwm-regulator.c
> > @@ -56,7 +56,7 @@ static int pwm_regulator_set_voltage_sel(struct regulator_dev *rdev,
> >  	int dutycycle;
> >  	int ret;
> >  
> > -	pwm_reg_period = pwm_get_period(drvdata->pwm);
> > +	pwm_reg_period = pwm_get_default_period(drvdata->pwm);
> >  
> >  	dutycycle = (pwm_reg_period *
> >  		    drvdata->duty_cycle_table[selector].dutycycle) / 100;
> 
> It's not clear to me that we're not looking for the current period here
> or in the other use.  Won't configuring based on a period other than the
> one that has been set give the wrong answer?

Hm, maybe that's naming problem. What I call the 'default' period here
is actually the period configured in your board file (using a PWM lookup
table) or your DT. This value represent the period requested by the PWM
user not a default value specified by the PWM chip driver.

The reason we're not using the 'current' period value is because it may
have been set by the bootloader, and may be inappropriate for our use
case (ie. the period may be to small to represent the different
voltages).
ITOH, we're using the current period value when calculating the current
voltage, because we want to get the correct voltage value, and the PWM
device may still use the configuration set by the bootloader (not the
default one specified in your board or DT files).

I hope this clarifies the differences between the current and default
period, and why we should use the default value here.

Best Regards,

Boris

-- 
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v4 00/24] pwm: add support for atomic update Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:00 +0100
  [PATCH v4 19/24] pwm: add the PWM initial state retrieval infra Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:00 +0100
  [PATCH v4 02/24] pwm: use pwm_get_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:00 +0100
    Re: [PATCH v4 02/24] pwm: use pwm_get_xxx() helpers where appropriate Joachim Eastwood <manabian@gmail.com> - 2015-11-16 18:50 +0100
      Re: [PATCH v4 02/24] pwm: use pwm_get_xxx() helpers where  appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 19:20 +0100
  [PATCH v4 13/24] hwmon: pwm-fan: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
    Re: [PATCH v4 13/24] hwmon: pwm-fan: use pwm_get/set_default_xxx()  helpers where appropriate Guenter Roeck <linux@roeck-us.net> - 2015-11-16 17:10 +0100
  [PATCH v4 16/24] pwm: move the enabled/disabled info to pwm_state struct Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 10/24] backlight: pwm: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 11/24] fbdev: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 08/24] leds: pwm: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 15/24] pwm: define a new pwm_state struct Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 14/24] clk: pwm: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
    Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx()  helpers where appropriate Mark Brown <broonie@kernel.org> - 2015-11-16 12:00 +0100
      Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx()  helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 13:30 +0100
        Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx()  helpers where appropriate Mark Brown <broonie@kernel.org> - 2015-11-16 19:50 +0100
          Re: [PATCH v4 09/24] regulator: pwm: use pwm_get/set_default_xxx()  helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 20:30 +0100
  [PATCH v4 07/24] pwm: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 06/24] pwm: introduce default period and polarity concepts Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 03/24] clk: pwm: use pwm_get_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 17/24] backlight: pwm_bl: remove useless call to pwm_set_period Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  [PATCH v4 12/24] misc: max77693: use pwm_get/set_default_xxx() helpers where appropriate Boris Brezillon <boris.brezillon@free-electrons.com> - 2015-11-16 10:10 +0100
  Re: [PATCH v4 00/24] pwm: add support for atomic update Heiko Stübner <heiko@sntech.de> - 2015-11-16 15:50 +0100

csiph-web