As explained in earlier discussion with Mark regarding the SMSC911x
driver regulator, treat these as errors and do not fail
"gracefully" like this.
Reference:
http://marc.info/?l=linux-netdev&m1914562120725&w=2
Yours,
Linus Walleij
As explained in earlier discussion with Mark regarding the SMSC911x
driver regulator, treat these as errors and do not fail
"gracefully" like this.
Reference:
http://marc.info/?l=linux-netdev&m1914562120725&w=2
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 our case, it has the regulator but some boards don't.
Umm then how to handle the regulator gracefully?
Thank you,
Kyungmin Park
As explained in earlier discussion with Mark regarding the SMSC911x
driver regulator, treat these as errors and do not fail
"gracefully" like this.
Reference:
http://marc.info/?l=linux-netdev&m1914562120725&w=2
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.
As explained in earlier discussion with Mark regarding the SMSC911x
driver regulator, treat these as errors and do not fail
"gracefully" like this.
Reference:
http://marc.info/?l=linux-netdev&m1914562120725&w=2
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.
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.
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
From: Mark Brown <hidden> Date: 2011-12-02 10:52:24
On Fri, Dec 02, 2011 at 11:36:13AM +0100, Linus Walleij wrote:
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.
I have to say that I was very suspicious of this claim at the time but
there was so much pain associated with the MMC stuff that it just got
left to slide. Similarly with the use of regulator_get_exclusive() to
vary the voltage, I'd *really* expect that the code would be able to
cope with shared supplies.