Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1198805 > unrolled thread
| Started by | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| First post | 2015-08-03 14:30 +0200 |
| Last post | 2015-08-03 14:40 +0200 |
| Articles | 8 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v2 00/16] omap_hsmmc: regulator usage cleanup and fixes Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:30 +0200
[PATCH v2 15/16] mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:30 +0200
[PATCH v2 06/16] mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
[PATCH v2 02/16] mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
[PATCH v2 04/16] mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
[PATCH v2 01/16] mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
[PATCH v2 07/16] mmc: host: omap_hsmmc: return error if any of the regulator APIs fail Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
[PATCH v2 03/16] mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-03 14:40 +0200
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:30 +0200 |
| Subject | [PATCH v2 00/16] omap_hsmmc: regulator usage cleanup and fixes |
| Message-ID | <pTn2q-2Xz-3@gated-at.bofh.it> |
Changes from v1:
*) return on -EPROBE_DEFER and other fatal errors. (Don't return only
if the return value is -ENODEV)
*) Remove the beagle x15 dts patch. It can be part of a different
series.
*) Avoid using regulator_is_enabled for vqmmc since if the regulator
is shared and the other users are not using regulator_is_enabled
then there can be unbalanced regulator_enable/regulator_disable
This patch series does the following
*) Uses devm_regulator_get_optional() for vmmc and then removes the
CONFIG_REGULATOR check altogether.
*) return on -EPROBE_DEFER and any other fatal errors
*) enable/disable vmmc_aux regulator based on prior state
I've pushed this patch series to
git://git.ti.com/linux-phy/linux-phy.git mmc_regulator_cleanup_fixes_v2
Please note the branch also has the pbias fixes [1] & [2].
[1] -> https://lkml.org/lkml/2015/7/27/358
[2] -> https://lkml.org/lkml/2015/7/27/391
This series is in preparation for implementing the voltage switch
sequence so that UHS cards can be supported.
Did basic read/write test in J6, J6 Eco, Beagle-x15, AM437x EVM,
Beaglebone black, OMAP5 uEVM and OMAP4 PANDA.
Kishon Vijay Abraham I (15):
mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc
mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get
mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get()
mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator
mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc
mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage
mmc: host: omap_hsmmc: return error if any of the regulator APIs fail
mmc: host: omap_hsmmc: add separate functions for enable/disable
supply
mmc: host: omap_hsmmc: add separate function to set pbias
mmc: host: omap_hsmmc: avoid pbias regulator enable on power off
mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator
state
mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on
previous state
mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status
mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage
mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check
Roger Quadros (1):
mmc: host: omap_hsmmc: use "mmc_of_parse_voltage" to get ocr_avail
.../devicetree/bindings/mmc/ti-omap-hsmmc.txt | 2 +
drivers/mmc/host/omap_hsmmc.c | 340 +++++++++++++-------
2 files changed, 224 insertions(+), 118 deletions(-)
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:30 +0200 |
| Subject | [PATCH v2 15/16] mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check |
| Message-ID | <pTn2s-2Xz-45@gated-at.bofh.it> |
| In reply to | #1198805 |
Now that support for platforms which have optional regulator is added,
remove CONFIG_REGULATOR check in omap_hsmmc.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 35 +++--------------------------------
1 file changed, 3 insertions(+), 32 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 9a28719..15973f1 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -204,7 +204,6 @@ struct omap_hsmmc_host {
int context_loss;
int protect_card;
int reqs_blocked;
- int use_reg;
int req_in_progress;
unsigned long clk_rate;
unsigned int flags;
@@ -245,8 +244,6 @@ static int omap_hsmmc_get_cover_state(struct device *dev)
return mmc_gpio_get_cd(host->mmc);
}
-#ifdef CONFIG_REGULATOR
-
static int omap_hsmmc_enable_supply(struct mmc_host *mmc)
{
int ret;
@@ -521,29 +518,6 @@ static void omap_hsmmc_reg_put(struct omap_hsmmc_host *host)
mmc_pdata(host)->set_power = NULL;
}
-static inline int omap_hsmmc_have_reg(void)
-{
- return 1;
-}
-
-#else
-
-static inline int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
-{
- return -EINVAL;
-}
-
-static inline void omap_hsmmc_reg_put(struct omap_hsmmc_host *host)
-{
-}
-
-static inline int omap_hsmmc_have_reg(void)
-{
- return 0;
-}
-
-#endif
-
static irqreturn_t omap_hsmmc_cover_irq(int irq, void *dev_id);
static int omap_hsmmc_gpio_init(struct mmc_host *mmc,
@@ -2204,11 +2178,10 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
goto err_irq;
}
- if (omap_hsmmc_have_reg() && !mmc_pdata(host)->set_power) {
+ if (!mmc_pdata(host)->set_power) {
ret = omap_hsmmc_reg_get(host);
if (ret)
goto err_irq;
- host->use_reg = 1;
}
mmc->ocr_avail = mmc_pdata(host)->ocr_mask;
@@ -2251,8 +2224,7 @@ static int omap_hsmmc_probe(struct platform_device *pdev)
err_slot_name:
mmc_remove_host(mmc);
- if (host->use_reg)
- omap_hsmmc_reg_put(host);
+ omap_hsmmc_reg_put(host);
err_irq:
device_init_wakeup(&pdev->dev, false);
if (host->tx_chan)
@@ -2276,8 +2248,7 @@ static int omap_hsmmc_remove(struct platform_device *pdev)
pm_runtime_get_sync(host->dev);
mmc_remove_host(host->mmc);
- if (host->use_reg)
- omap_hsmmc_reg_put(host);
+ omap_hsmmc_reg_put(host);
if (host->tx_chan)
dma_release_channel(host->tx_chan);
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 06/16] mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage |
| Message-ID | <pTnc5-38S-7@gated-at.bofh.it> |
| In reply to | #1198805 |
Remove the unnecessary pbias regulator_set_voltage done after pbias regulator_disable in omap_hsmmc_set_power. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Reviewed-by: Roger Quadros <rogerq@ti.com> --- drivers/mmc/host/omap_hsmmc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index f6b056f..d635a38 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c @@ -270,7 +270,6 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd) if (!ret) host->pbias_enabled = 0; } - regulator_set_voltage(host->pbias, VDD_3V0, VDD_3V0); } /* -- 1.7.9.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 02/16] mmc: host: omap_hsmmc: return on fatal errors from omap_hsmmc_reg_get |
| Message-ID | <pTnc6-38S-17@gated-at.bofh.it> |
| In reply to | #1198805 |
Now return error only if the return value of
devm_regulator_get_optional() is not the same as -ENODEV, since with
-EPROBE_DEFER, the regulator can be obtained later and all other
errors are fatal.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index b4b1bde..5637793 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -371,10 +371,28 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
/* Allow an aux regulator */
reg = devm_regulator_get_optional(host->dev, "vmmc_aux");
- host->vcc_aux = IS_ERR(reg) ? NULL : reg;
+ if (IS_ERR(reg)) {
+ ret = PTR_ERR(reg);
+ if (ret != -ENODEV)
+ return ret;
+ host->vcc_aux = NULL;
+ dev_dbg(host->dev, "unable to get vmmc_aux regulator %ld\n",
+ PTR_ERR(reg));
+ } else {
+ host->vcc_aux = reg;
+ }
reg = devm_regulator_get_optional(host->dev, "pbias");
- host->pbias = IS_ERR(reg) ? NULL : reg;
+ if (IS_ERR(reg)) {
+ ret = PTR_ERR(reg);
+ if (ret != -ENODEV)
+ return ret;
+ host->pbias = NULL;
+ dev_dbg(host->dev, "unable to get pbias regulator %ld\n",
+ PTR_ERR(reg));
+ } else {
+ host->pbias = reg;
+ }
/* For eMMC do not power off when not in sleep state */
if (mmc_pdata(host)->no_regulator_off_init)
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 04/16] mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator |
| Message-ID | <pTnc6-38S-27@gated-at.bofh.it> |
| In reply to | #1198805 |
If the vmmc regulator provides a valid ocrmask, use it. By this even if
the pdata has a valid ocrmask, it will be overwritten with the ocrmask
of the vmmc regulator.
Also remove the unnecessary compatibility check between the ocrmask in
the pdata and the ocrmask from the vmmc regulator.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 9d062a1..8cf040f 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -354,16 +354,8 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
host->vcc = NULL;
} else {
ocr_value = mmc_regulator_get_ocrmask(host->vcc);
- if (!mmc_pdata(host)->ocr_mask) {
+ if (ocr_value > 0)
mmc_pdata(host)->ocr_mask = ocr_value;
- } else {
- if (!(mmc_pdata(host)->ocr_mask & ocr_value)) {
- dev_err(host->dev, "ocrmask %x is not supported\n",
- mmc_pdata(host)->ocr_mask);
- mmc_pdata(host)->ocr_mask = 0;
- return -EINVAL;
- }
- }
}
mmc_pdata(host)->set_power = omap_hsmmc_set_power;
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 01/16] mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc |
| Message-ID | <pTnc6-38S-35@gated-at.bofh.it> |
| In reply to | #1198805 |
Since vmmc can be optional for some platforms, use
devm_regulator_get_optional() for vmmc. Now return error only
if the return value of devm_regulator_get_optional() is not the
same as -ENODEV, since with -EPROBE_DEFER, the regulator can be
obtained later and all other errors are fatal.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 4d12032..b4b1bde 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -343,12 +343,16 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
{
struct regulator *reg;
int ocr_value = 0;
+ int ret;
- reg = devm_regulator_get(host->dev, "vmmc");
+ reg = devm_regulator_get_optional(host->dev, "vmmc");
if (IS_ERR(reg)) {
- dev_err(host->dev, "unable to get vmmc regulator %ld\n",
+ ret = PTR_ERR(reg);
+ if (ret != -ENODEV)
+ return ret;
+ host->vcc = NULL;
+ dev_dbg(host->dev, "unable to get vmmc regulator %ld\n",
PTR_ERR(reg));
- return PTR_ERR(reg);
} else {
host->vcc = reg;
ocr_value = mmc_regulator_get_ocrmask(reg);
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 07/16] mmc: host: omap_hsmmc: return error if any of the regulator APIs fail |
| Message-ID | <pTnc6-38S-29@gated-at.bofh.it> |
| In reply to | #1198805 |
Return error if any of the regulator APIs (regulator_enable,
regulator_disable, regulator_set_voltage) fails in
omap_hsmmc_set_power to avoid undefined behavior.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 52 +++++++++++++++++++++++++++++++----------
1 file changed, 40 insertions(+), 12 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index d635a38..63c9fe7 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -267,8 +267,11 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
if (host->pbias) {
if (host->pbias_enabled == 1) {
ret = regulator_disable(host->pbias);
- if (!ret)
- host->pbias_enabled = 0;
+ if (ret) {
+ dev_err(dev, "pbias reg disable failed\n");
+ return ret;
+ }
+ host->pbias_enabled = 0;
}
}
@@ -286,23 +289,35 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
* chips/cards need an interface voltage rail too.
*/
if (power_on) {
- if (mmc->supply.vmmc)
+ if (mmc->supply.vmmc) {
ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, vdd);
+ if (ret)
+ return ret;
+ }
+
/* Enable interface voltage rail, if needed */
- if (ret == 0 && mmc->supply.vqmmc) {
+ if (mmc->supply.vqmmc) {
ret = regulator_enable(mmc->supply.vqmmc);
- if (ret < 0 && mmc->supply.vmmc)
- ret = mmc_regulator_set_ocr(mmc,
- mmc->supply.vmmc,
- 0);
+ if (ret) {
+ dev_err(dev, "vmmc_aux reg enable failed\n");
+ goto err_set_vqmmc;
+ }
}
} else {
/* Shut down the rail */
- if (mmc->supply.vqmmc)
+ if (mmc->supply.vqmmc) {
ret = regulator_disable(mmc->supply.vqmmc);
+ if (ret) {
+ dev_err(dev, "vmmc_aux reg disable failed\n");
+ return ret;
+ }
+ }
+
if (mmc->supply.vmmc) {
/* Then proceed to shut down the local regulator */
ret = mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
+ if (ret)
+ return ret;
}
}
@@ -314,19 +329,32 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
ret = regulator_set_voltage(host->pbias, VDD_3V0,
VDD_3V0);
if (ret < 0)
- goto error_set_power;
+ goto err_set_voltage;
if (host->pbias_enabled == 0) {
ret = regulator_enable(host->pbias);
- if (!ret)
+ if (ret) {
+ dev_err(dev, "pbias reg enable failed\n");
+ goto err_set_voltage;
+ } else {
host->pbias_enabled = 1;
+ }
}
}
if (mmc_pdata(host)->after_set_reg)
mmc_pdata(host)->after_set_reg(dev, power_on, vdd);
-error_set_power:
+ return 0;
+
+err_set_voltage:
+ if (mmc->supply.vqmmc)
+ regulator_disable(mmc->supply.vqmmc);
+
+err_set_vqmmc:
+ if (mmc->supply.vmmc)
+ mmc_regulator_set_ocr(mmc, mmc->supply.vmmc, 0);
+
return ret;
}
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Kishon Vijay Abraham I <kishon@ti.com> |
|---|---|
| Date | 2015-08-03 14:40 +0200 |
| Subject | [PATCH v2 03/16] mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() |
| Message-ID | <pTnc6-38S-37@gated-at.bofh.it> |
| In reply to | #1198805 |
No functional change. Instead of using a local regulator variable
in omap_hsmmc_reg_get() for holding the return value of
devm_regulator_get_optional() and then assigning to omap_hsmmc_host
regulator members: vcc, vcc_aux and pbias, directly use the
omap_hsmmc_host regulator members.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Reviewed-by: Roger Quadros <rogerq@ti.com>
---
drivers/mmc/host/omap_hsmmc.c | 38 ++++++++++++++++----------------------
1 file changed, 16 insertions(+), 22 deletions(-)
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 5637793..9d062a1 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -341,21 +341,19 @@ error_set_power:
static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
{
- struct regulator *reg;
int ocr_value = 0;
int ret;
- reg = devm_regulator_get_optional(host->dev, "vmmc");
- if (IS_ERR(reg)) {
- ret = PTR_ERR(reg);
+ host->vcc = devm_regulator_get_optional(host->dev, "vmmc");
+ if (IS_ERR(host->vcc)) {
+ ret = PTR_ERR(host->vcc);
if (ret != -ENODEV)
return ret;
- host->vcc = NULL;
dev_dbg(host->dev, "unable to get vmmc regulator %ld\n",
- PTR_ERR(reg));
+ PTR_ERR(host->vcc));
+ host->vcc = NULL;
} else {
- host->vcc = reg;
- ocr_value = mmc_regulator_get_ocrmask(reg);
+ ocr_value = mmc_regulator_get_ocrmask(host->vcc);
if (!mmc_pdata(host)->ocr_mask) {
mmc_pdata(host)->ocr_mask = ocr_value;
} else {
@@ -370,28 +368,24 @@ static int omap_hsmmc_reg_get(struct omap_hsmmc_host *host)
mmc_pdata(host)->set_power = omap_hsmmc_set_power;
/* Allow an aux regulator */
- reg = devm_regulator_get_optional(host->dev, "vmmc_aux");
- if (IS_ERR(reg)) {
- ret = PTR_ERR(reg);
+ host->vcc_aux = devm_regulator_get_optional(host->dev, "vmmc_aux");
+ if (IS_ERR(host->vcc_aux)) {
+ ret = PTR_ERR(host->vcc_aux);
if (ret != -ENODEV)
return ret;
- host->vcc_aux = NULL;
dev_dbg(host->dev, "unable to get vmmc_aux regulator %ld\n",
- PTR_ERR(reg));
- } else {
- host->vcc_aux = reg;
+ PTR_ERR(host->vcc_aux));
+ host->vcc_aux = NULL;
}
- reg = devm_regulator_get_optional(host->dev, "pbias");
- if (IS_ERR(reg)) {
- ret = PTR_ERR(reg);
+ host->pbias = devm_regulator_get_optional(host->dev, "pbias");
+ if (IS_ERR(host->pbias)) {
+ ret = PTR_ERR(host->pbias);
if (ret != -ENODEV)
return ret;
- host->pbias = NULL;
dev_dbg(host->dev, "unable to get pbias regulator %ld\n",
- PTR_ERR(reg));
- } else {
- host->pbias = reg;
+ PTR_ERR(host->pbias));
+ host->pbias = NULL;
}
/* For eMMC do not power off when not in sleep state */
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web