All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kishon Vijay Abraham I <kishon@ti.com>
To: <tony@atomide.com>, <ulf.hansson@linaro.org>,
	<afenkart@gmail.com>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-mmc@vger.kernel.org>
Cc: <nsekhar@ti.com>, <kishon@ti.com>
Subject: [PATCH 09/17] mmc: host: omap_hsmmc: add separate function to set pbias
Date: Wed, 29 Jul 2015 16:39:39 +0530	[thread overview]
Message-ID: <1438168187-1614-10-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1438168187-1614-1-git-send-email-kishon@ti.com>

No functional change. Cleanup omap_hsmmc_set_power by adding separate
functions to set pbias and invoke it from omap_hsmmc_set_power.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |   78 +++++++++++++++++++++++++----------------
 1 file changed, 48 insertions(+), 30 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a0f8c1d..8bb3f60 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -306,6 +306,48 @@ err_set_ocr:
 	return ret;
 }
 
+static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
+				int vdd)
+{
+	int ret;
+
+	if (!host->pbias)
+		return 0;
+
+	if (power_on) {
+		if (vdd <= VDD_165_195)
+			ret = regulator_set_voltage(host->pbias, VDD_1V8,
+						    VDD_1V8);
+		else
+			ret = regulator_set_voltage(host->pbias, VDD_3V0,
+						    VDD_3V0);
+		if (ret < 0) {
+			dev_err(host->dev, "pbias set voltage fail\n");
+			return ret;
+		}
+
+		if (host->pbias_enabled == 0) {
+			ret = regulator_enable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg enable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 1;
+		}
+	} else {
+		if (host->pbias_enabled == 1) {
+			ret = regulator_disable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg disable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 0;
+		}
+	}
+
+	return 0;
+}
+
 static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 {
 	struct omap_hsmmc_host *host =
@@ -323,16 +365,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 	if (mmc_pdata(host)->before_set_reg)
 		mmc_pdata(host)->before_set_reg(dev, power_on, vdd);
 
-	if (host->pbias) {
-		if (host->pbias_enabled == 1) {
-			ret = regulator_disable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg disable failed\n");
-				return ret;
-			}
-			host->pbias_enabled = 0;
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, false, 0);
+	if (ret)
+		return ret;
 
 	/*
 	 * Assume Vcc regulator is used only to power the card ... OMAP
@@ -357,26 +392,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 			return ret;
 	}
 
-	if (host->pbias) {
-		if (vdd <= VDD_165_195)
-			ret = regulator_set_voltage(host->pbias, VDD_1V8,
-								VDD_1V8);
-		else
-			ret = regulator_set_voltage(host->pbias, VDD_3V0,
-								VDD_3V0);
-		if (ret < 0)
-			goto err_set_voltage;
-
-		if (host->pbias_enabled == 0) {
-			ret = regulator_enable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg enable failed\n");
-				goto err_set_voltage;
-			} else {
-				host->pbias_enabled = 1;
-			}
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, true, vdd);
+	if (ret)
+		goto err_set_voltage;
 
 	if (mmc_pdata(host)->after_set_reg)
 		mmc_pdata(host)->after_set_reg(dev, power_on, vdd);
-- 
1.7.9.5


WARNING: multiple messages have this Message-ID (diff)
From: Kishon Vijay Abraham I <kishon@ti.com>
To: tony@atomide.com, ulf.hansson@linaro.org, afenkart@gmail.com,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-mmc@vger.kernel.org
Cc: nsekhar@ti.com, kishon@ti.com
Subject: [PATCH 09/17] mmc: host: omap_hsmmc: add separate function to set pbias
Date: Wed, 29 Jul 2015 16:39:39 +0530	[thread overview]
Message-ID: <1438168187-1614-10-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1438168187-1614-1-git-send-email-kishon@ti.com>

No functional change. Cleanup omap_hsmmc_set_power by adding separate
functions to set pbias and invoke it from omap_hsmmc_set_power.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |   78 +++++++++++++++++++++++++----------------
 1 file changed, 48 insertions(+), 30 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a0f8c1d..8bb3f60 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -306,6 +306,48 @@ err_set_ocr:
 	return ret;
 }
 
+static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
+				int vdd)
+{
+	int ret;
+
+	if (!host->pbias)
+		return 0;
+
+	if (power_on) {
+		if (vdd <= VDD_165_195)
+			ret = regulator_set_voltage(host->pbias, VDD_1V8,
+						    VDD_1V8);
+		else
+			ret = regulator_set_voltage(host->pbias, VDD_3V0,
+						    VDD_3V0);
+		if (ret < 0) {
+			dev_err(host->dev, "pbias set voltage fail\n");
+			return ret;
+		}
+
+		if (host->pbias_enabled == 0) {
+			ret = regulator_enable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg enable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 1;
+		}
+	} else {
+		if (host->pbias_enabled == 1) {
+			ret = regulator_disable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg disable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 0;
+		}
+	}
+
+	return 0;
+}
+
 static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 {
 	struct omap_hsmmc_host *host =
@@ -323,16 +365,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 	if (mmc_pdata(host)->before_set_reg)
 		mmc_pdata(host)->before_set_reg(dev, power_on, vdd);
 
-	if (host->pbias) {
-		if (host->pbias_enabled == 1) {
-			ret = regulator_disable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg disable failed\n");
-				return ret;
-			}
-			host->pbias_enabled = 0;
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, false, 0);
+	if (ret)
+		return ret;
 
 	/*
 	 * Assume Vcc regulator is used only to power the card ... OMAP
@@ -357,26 +392,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 			return ret;
 	}
 
-	if (host->pbias) {
-		if (vdd <= VDD_165_195)
-			ret = regulator_set_voltage(host->pbias, VDD_1V8,
-								VDD_1V8);
-		else
-			ret = regulator_set_voltage(host->pbias, VDD_3V0,
-								VDD_3V0);
-		if (ret < 0)
-			goto err_set_voltage;
-
-		if (host->pbias_enabled == 0) {
-			ret = regulator_enable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg enable failed\n");
-				goto err_set_voltage;
-			} else {
-				host->pbias_enabled = 1;
-			}
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, true, vdd);
+	if (ret)
+		goto err_set_voltage;
 
 	if (mmc_pdata(host)->after_set_reg)
 		mmc_pdata(host)->after_set_reg(dev, power_on, vdd);
-- 
1.7.9.5

WARNING: multiple messages have this Message-ID (diff)
From: kishon@ti.com (Kishon Vijay Abraham I)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 09/17] mmc: host: omap_hsmmc: add separate function to set pbias
Date: Wed, 29 Jul 2015 16:39:39 +0530	[thread overview]
Message-ID: <1438168187-1614-10-git-send-email-kishon@ti.com> (raw)
In-Reply-To: <1438168187-1614-1-git-send-email-kishon@ti.com>

No functional change. Cleanup omap_hsmmc_set_power by adding separate
functions to set pbias and invoke it from omap_hsmmc_set_power.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/mmc/host/omap_hsmmc.c |   78 +++++++++++++++++++++++++----------------
 1 file changed, 48 insertions(+), 30 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a0f8c1d..8bb3f60 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -306,6 +306,48 @@ err_set_ocr:
 	return ret;
 }
 
+static int omap_hsmmc_set_pbias(struct omap_hsmmc_host *host, bool power_on,
+				int vdd)
+{
+	int ret;
+
+	if (!host->pbias)
+		return 0;
+
+	if (power_on) {
+		if (vdd <= VDD_165_195)
+			ret = regulator_set_voltage(host->pbias, VDD_1V8,
+						    VDD_1V8);
+		else
+			ret = regulator_set_voltage(host->pbias, VDD_3V0,
+						    VDD_3V0);
+		if (ret < 0) {
+			dev_err(host->dev, "pbias set voltage fail\n");
+			return ret;
+		}
+
+		if (host->pbias_enabled == 0) {
+			ret = regulator_enable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg enable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 1;
+		}
+	} else {
+		if (host->pbias_enabled == 1) {
+			ret = regulator_disable(host->pbias);
+			if (ret) {
+				dev_err(host->dev, "pbias reg disable fail\n");
+				return ret;
+			}
+			host->pbias_enabled = 0;
+		}
+	}
+
+	return 0;
+}
+
 static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 {
 	struct omap_hsmmc_host *host =
@@ -323,16 +365,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 	if (mmc_pdata(host)->before_set_reg)
 		mmc_pdata(host)->before_set_reg(dev, power_on, vdd);
 
-	if (host->pbias) {
-		if (host->pbias_enabled == 1) {
-			ret = regulator_disable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg disable failed\n");
-				return ret;
-			}
-			host->pbias_enabled = 0;
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, false, 0);
+	if (ret)
+		return ret;
 
 	/*
 	 * Assume Vcc regulator is used only to power the card ... OMAP
@@ -357,26 +392,9 @@ static int omap_hsmmc_set_power(struct device *dev, int power_on, int vdd)
 			return ret;
 	}
 
-	if (host->pbias) {
-		if (vdd <= VDD_165_195)
-			ret = regulator_set_voltage(host->pbias, VDD_1V8,
-								VDD_1V8);
-		else
-			ret = regulator_set_voltage(host->pbias, VDD_3V0,
-								VDD_3V0);
-		if (ret < 0)
-			goto err_set_voltage;
-
-		if (host->pbias_enabled == 0) {
-			ret = regulator_enable(host->pbias);
-			if (ret) {
-				dev_err(dev, "pbias reg enable failed\n");
-				goto err_set_voltage;
-			} else {
-				host->pbias_enabled = 1;
-			}
-		}
-	}
+	ret = omap_hsmmc_set_pbias(host, true, vdd);
+	if (ret)
+		goto err_set_voltage;
 
 	if (mmc_pdata(host)->after_set_reg)
 		mmc_pdata(host)->after_set_reg(dev, power_on, vdd);
-- 
1.7.9.5

  parent reply	other threads:[~2015-07-29 11:11 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-29 11:09 [PATCH 00/17] omap_hsmmc: regulator usage cleanup and fixes Kishon Vijay Abraham I
2015-07-29 11:09 ` Kishon Vijay Abraham I
2015-07-29 11:09 ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 01/17] mmc: host: omap_hsmmc: use devm_regulator_get_optional() for vmmc Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 12:09   ` Grygorii Strashko
2015-07-29 12:09     ` Grygorii Strashko
2015-07-29 12:09     ` Grygorii Strashko
2015-07-31 15:29     ` Kishon Vijay Abraham I
2015-07-31 15:29       ` Kishon Vijay Abraham I
2015-07-31 15:29       ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 02/17] mmc: host: omap_hsmmc: return error from omap_hsmmc_reg_get on -EPROBE_DEFER Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 03/17] mmc: host: omap_hsmmc: cleanup omap_hsmmc_reg_get() Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 04/17] mmc: host: omap_hsmmc: use the ocrmask provided by the vmmc regulator Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 05/17] mmc: host: omap_hsmmc: use mmc_host's vmmc and vqmmc Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 06/17] mmc: host: omap_hsmmc: remove unnecessary pbias set_voltage Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 07/17] mmc: host: omap_hsmmc: return error if any of the regulator APIs fail Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 08/17] mmc: host: omap_hsmmc: add separate functions for enable/disable supply Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` Kishon Vijay Abraham I [this message]
2015-07-29 11:09   ` [PATCH 09/17] mmc: host: omap_hsmmc: add separate function to set pbias Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 10/17] mmc: host: omap_hsmmc: avoid pbias regulator enable on power off Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 11/17] mmc: host: omap_hsmmc: don't use ->set_power to set initial regulator state Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 12/17] ARM: dts: am57xx-beagle-x15: Fix regulator populated in MMC1 dt node Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 19:37   ` Nishanth Menon
2015-07-29 19:37     ` Nishanth Menon
2015-07-29 19:37     ` Nishanth Menon
2015-08-25  6:36     ` Kishon Vijay Abraham I
2015-08-25  6:36       ` Kishon Vijay Abraham I
2015-08-25  6:36       ` Kishon Vijay Abraham I
2015-09-14 17:12       ` Tony Lindgren
2015-09-14 17:12         ` Tony Lindgren
2015-07-29 11:09 ` [PATCH 13/17] mmc: host: omap_hsmmc: enable/disable vmmc_aux regulator based on prior state Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 14/17] mmc: host: omap_hsmmc: use regulator_is_enabled to find pbias status Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 15/17] mmc: host: omap_hsmmc: use ios->vdd for setting vmmc voltage Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 16/17] mmc: host: omap_hsmmc: remove CONFIG_REGULATOR check Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09 ` [PATCH 17/17] mmc: host: omap_hsmmc: use "mmc_of_parse_voltage" to get ocr_avail Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-07-29 11:09   ` Kishon Vijay Abraham I
2015-08-03  7:28 ` [PATCH 00/17] omap_hsmmc: regulator usage cleanup and fixes Andreas Fenkart
2015-08-03  7:28   ` Andreas Fenkart
2015-08-03  7:28   ` Andreas Fenkart
2015-08-03 12:12   ` Kishon Vijay Abraham I
2015-08-03 12:12     ` Kishon Vijay Abraham I
2015-08-03 12:12     ` Kishon Vijay Abraham I

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1438168187-1614-10-git-send-email-kishon@ti.com \
    --to=kishon@ti.com \
    --cc=afenkart@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=nsekhar@ti.com \
    --cc=tony@atomide.com \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.