Thread (7 messages) 7 messages, 3 authors, 2016-07-25

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

From: Thierry Reding <hidden>
Date: 2016-07-25 14:26:26
Also in: lkml

On Mon, Jul 25, 2016 at 06:29:00AM -0700, Doug Anderson wrote:
Hi,

On Mon, Jul 25, 2016 at 1:29 AM, Thierry Reding
[off-list ref] wrote:
quoted
On Mon, Jul 11, 2016 at 11:39:00PM +0200, Thierry Reding wrote:
quoted
On Mon, Jul 11, 2016 at 11:30:59PM +0200, Thierry Reding wrote:
quoted
On Mon, Jul 11, 2016 at 09:47:34AM -0700, Doug Anderson wrote:
quoted
Hi,

On Sun, Jul 10, 2016 at 11:56 PM, Stephen Rothwell [off-list ref] wrote:
quoted
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 ]
quoted
 -      /* 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?
Yes, right.  Sorry, previous email got lost in the shuffle since I was
on vacation.

Right, commit 4585082afab4 ("regulator: pwm: Support extra continuous
mode cases") is the one that renamed the parameters and so this use of
one of the parameters needs to be part of that commit.
Squashed it into the above commit and pushed everything out.

Thanks,
Thierry

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help