Re: linux-next: manual merge of the pwm tree with the regulator tree

From: Thierry Reding
Date: Mon Jul 25 2016 - 04:29:23 EST


On Mon, Jul 11, 2016 at 11:39:00PM +0200, Thierry Reding wrote:
> On Mon, Jul 11, 2016 at 11:30:59PM +0200, Thierry Reding wrote:
> > On Mon, Jul 11, 2016 at 09:47:34AM -0700, Doug Anderson wrote:
> > > Hi,
> > >
> > > On Sun, Jul 10, 2016 at 11:56 PM, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> > > > Hi Thierry,
> > > >
> > > > Today's linux-next merge of the pwm tree got a conflict in:
> > > >
> > > > drivers/regulator/pwm-regulator.c
> > > >
> > > > between commit:
> > > >
> > > > 830583004e61 ("regulator: pwm: Drop unneeded pwm_enable() call")
> > > > 27bfa8893b15 ("regulator: pwm: Support for enable GPIO")
> > > > c2588393e631 ("regulator: pwm: Fix regulator ramp delay for continuous mode")
> > > >
> > > > from the regulator tree and commit:
> > > >
> > > > b0303deaa480 ("regulator: pwm: Adjust PWM config at probe time")
> > > > 8bd57ca236d0 ("regulator: pwm: Switch to the atomic PWM API")
> > > > 25d16595935b ("regulator: pwm: Retrieve correct voltage")
> > > > 53f239af4c14 ("regulator: pwm: Support extra continuous mode cases")
> > > >
> > > > from the pwm tree.
> > > >
> > > > I fixed it up (I think, please check - see below) and can carry the fix
> > > > as necessary. This is now fixed as far as linux-next is concerned, but
> > > > any non trivial conflicts should be mentioned to your upstream maintainer
> > > > when your tree is submitted for merging. You may also want to consider
> > > > cooperating with the maintainer of the conflicting tree to minimise any
> > > > particularly complex conflicts.
> > > >
> > > > --
> > > > Cheers,
> > > > Stephen Rothwell
> > >
> > > [ cut ]
> > >
> > > > - /* Delay required by PWM regulator to settle to the new voltage */
> > > > - usleep_range(ramp_delay, ramp_delay + 1000);
> > > > + /* Ramp delay is in uV/uS. Adjust to uS and delay */
> > > > + ramp_delay = DIV_ROUND_UP(abs(min_uV - old_uV), ramp_delay);
> > >
> > > This was what I was worried about and why I originally sent my patch
> > > based upon Boris's series. The above should be:
> > >
> > > ramp_delay = DIV_ROUND_UP(abs(req_min_uV - old_uV), ramp_delay);
> > >
> > > Specifically note the use of "req_min_uV" and not "min_uV".
> >
> > Okay, so this is something that needs to be fixed up in one of Boris'
> > patches? Can you help point out where exactly? The conflict should be
> > gone as of tomorrow's linux-next.
>
> Looks like the below should be squashed into commit:
>
> 4585082afab4 regulator: pwm: Support extra continuous mode cases
>
> Can you confirm?
>
> Thierry
>
> --- >8 ---
> diff --git a/drivers/regulator/pwm-regulator.c b/drivers/regulator/pwm-regulator.c
> index 263a2d16d909..c24524242da2 100644
> --- a/drivers/regulator/pwm-regulator.c
> +++ b/drivers/regulator/pwm-regulator.c
> @@ -237,7 +237,7 @@ static int pwm_regulator_set_voltage(struct regulator_dev *rdev,
> return 0;
>
> /* Ramp delay is in uV/uS. Adjust to uS and delay */
> - ramp_delay = DIV_ROUND_UP(abs(min_uV - old_uV), ramp_delay);
> + ramp_delay = DIV_ROUND_UP(abs(req_min_uV - old_uV), ramp_delay);
> usleep_range(ramp_delay, ramp_delay + DIV_ROUND_UP(ramp_delay, 10));
>
> return 0;

Doug? Can you confirm?

Thierry

Attachment: signature.asc
Description: PGP signature