backlight/ld9040.c: regulator control in the lcd driver

Linus Walleij linus.walleij at linaro.org
Fri Dec 2 05:36:13 EST 2011


On Fri, Dec 2, 2011 at 11:31 AM, Mark Brown
<broonie at opensource.wolfsonmicro.com> wrote:
> On Fri, Dec 02, 2011 at 05:57:35PM +0900, Kyungmin Park wrote:
>
>> As mentioned at commit message, the lcd regulator is optional part and
>> refer the mmc codes
>
>>         host->vmmc = regulator_get(mmc_dev(mmc), "vmmc");
>>         if (IS_ERR(host->vmmc)) {
>>                 pr_info("%s: no vmmc regulator found\n", mmc_hostname(mmc));
>>                 host->vmmc = NULL;
>>         } else {
>>                 regulator_enable(host->vmmc);
>>         }
>
>> Previous time, these codes are located at board file, but more boards
>> are used, it has same codes for all boards. so move it to drivers.
>
> In the case of MMC the MMC guys told us that this supply was entirely
> optional for MMC operation, it wasn't an essential supply for the MMC
> device to run it just enabled more features.  For supplies like that
> it's OK for the regulator to fail, the driver should just not do
> whatever things are enabled by having that supply.

I don't think that's true. You *must* have some voltage on VMMC
to power the card, the optional part is regulating that voltage to
different levels as requested by the card internal machinery when
talking to it. All MMC/SD cards can run on a fixed voltage, something
like 3.8V I think.

In line with our previous discussions I think this should actually be
defined as a fixed voltage regulator in case it cannot be controlled,
because there sure as hell is a voltage there on all systems.

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list