Re: [PATCH] ARM: tegra: TN7: relax some regulators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/20/2014 07:16 PM, Mark Brown wrote:
* PGP Signed by an unknown key

On Fri, Jun 20, 2014 at 02:26:43PM +0900, Alexandre Courbot wrote:

So I can see three questions here:

1) Why does _regulator_enable() on vdd_1v8 return 0 while everything
suggests that it is enabled (this regulator powers lot of devices, like
eMMC, which are working fine). This may be an issue with the palmas driver.

Returning 0 is reporting success and you say it is enabled so I'm not
seeing any contradiction here...  or do you mean regulator_is_enabled()
here?  An always on regulator should report that it is enabled.

I meant to write regulator_is_enabled() here, yes. Apologies for the confusion.


2) When an always-on regulator that is not yet enabled is registered,
shouldn't it be switched on by the regulator framework?

This happens during set_machine_constraints().

3) When a boot-on regulator is registered and _regulator_is_enabled()
returns contradictory information, what should be done?

Same thing here (same check even).

Indeed, everything is coherent here - I was confused by the fact the regulator was always reported as disabled, which led me to wrongly assume that the framework did not try to enable it. But of course we cannot ask the framework to account for drivers that return incorrect regulator state, as seems to be the case with Palmas here.

So it all seems to come down to a bug in the Palmas driver introduced by dbabd624d. Reverting that change brings me back to normal.

Thanks,
Alex.

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux