linux-mmc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc
@ 2019-12-06 17:08 Ulf Hansson
  2019-12-06 17:08 ` [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it Ulf Hansson
                   ` (9 more replies)
  0 siblings, 10 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson

Some mmc host drivers, but perhaps also others drivers, needs to reset the
pinctrl into the default state (PINCTRL_STATE_DEFAULT). However, they can't use
the existing pinctrl_pm_select_default_state(), as that requires CONFIG_PM to
be set. This leads to open coding, as they need to look up the default state
themselves and then select it. This series attempt to address these problems.

Ulf Hansson (9):
  pinctrl: core: Add pinctrl_select_default_state() and export it
  mmc: meson-gx: Convert to pinctrl_select_default_state()
  mmc: mmci: Convert to pinctrl_select_default_state()
  mmc: usdhi6rol0: Convert to pinctrl_select_default_state()
  mmc: omap_hsmmc: Convert to pinctrl_select_default_state()
  mmc: sdhci-esdhc-imx: Convert to pinctrl_select_default_state()
  mmc: atmel-mci: Convert to pinctrl_select_default_state()
  mmc: jz4740: Convert to pinctrl_select_default_state()
  mmc: uniphier-sd: Convert to pinctrl_select_default_state()

 drivers/mmc/host/atmel-mci.c       |  2 +-
 drivers/mmc/host/jz4740_mmc.c      |  2 +-
 drivers/mmc/host/meson-gx-mmc.c    | 10 +--------
 drivers/mmc/host/mmci.c            | 12 ++---------
 drivers/mmc/host/mmci.h            |  1 -
 drivers/mmc/host/omap_hsmmc.c      | 10 ++-------
 drivers/mmc/host/sdhci-esdhc-imx.c | 11 ++--------
 drivers/mmc/host/uniphier-sd.c     | 14 +++++--------
 drivers/mmc/host/usdhi6rol0.c      | 15 +-------------
 drivers/pinctrl/core.c             | 33 +++++++++++++++++-------------
 include/linux/pinctrl/consumer.h   |  6 ++++++
 11 files changed, 40 insertions(+), 76 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-16  8:02   ` Linus Walleij
  2019-12-06 17:08 ` [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state() Ulf Hansson
                   ` (8 subsequent siblings)
  9 siblings, 1 reply; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson

It has turned out that some mmc host drivers, but perhaps also others
drivers, needs to reset the pinctrl into the default state
(PINCTRL_STATE_DEFAULT). However, they can't use the existing
pinctrl_pm_select_default_state(), as that requires CONFIG_PM to be set.
This leads to open coding, as they need to look up the default state
themselves and then select it.

To avoid the open coding, let's introduce pinctrl_select_default_state()
and make it available independently of CONFIG_PM. As a matter of fact, this
makes it more consistent with the behaviour of the driver core, as it
already tries to looks up the default state during probe.

Going forward, users of pinctrl_pm_select_default_state() are encouraged to
move to pinctrl_select_default_state(), so the old API can be removed.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/pinctrl/core.c           | 33 ++++++++++++++++++--------------
 include/linux/pinctrl/consumer.h |  6 ++++++
 2 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 2bbd8ee93507..46600d9380ea 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1535,15 +1535,8 @@ int pinctrl_init_done(struct device *dev)
 	return ret;
 }
 
-#ifdef CONFIG_PM
-
-/**
- * pinctrl_pm_select_state() - select pinctrl state for PM
- * @dev: device to select default state for
- * @state: state to set
- */
-static int pinctrl_pm_select_state(struct device *dev,
-				   struct pinctrl_state *state)
+static int pinctrl_select_bound_state(struct device *dev,
+				      struct pinctrl_state *state)
 {
 	struct dev_pin_info *pins = dev->pins;
 	int ret;
@@ -1558,15 +1551,27 @@ static int pinctrl_pm_select_state(struct device *dev,
 }
 
 /**
- * pinctrl_pm_select_default_state() - select default pinctrl state for PM
+ * pinctrl_select_default_state() - select default pinctrl state
  * @dev: device to select default state for
  */
-int pinctrl_pm_select_default_state(struct device *dev)
+int pinctrl_select_default_state(struct device *dev)
 {
 	if (!dev->pins)
 		return 0;
 
-	return pinctrl_pm_select_state(dev, dev->pins->default_state);
+	return pinctrl_select_bound_state(dev, dev->pins->default_state);
+}
+EXPORT_SYMBOL_GPL(pinctrl_select_default_state);
+
+#ifdef CONFIG_PM
+
+/**
+ * pinctrl_pm_select_default_state() - select default pinctrl state for PM
+ * @dev: device to select default state for
+ */
+int pinctrl_pm_select_default_state(struct device *dev)
+{
+	return pinctrl_select_default_state(dev);
 }
 EXPORT_SYMBOL_GPL(pinctrl_pm_select_default_state);
 
@@ -1579,7 +1584,7 @@ int pinctrl_pm_select_sleep_state(struct device *dev)
 	if (!dev->pins)
 		return 0;
 
-	return pinctrl_pm_select_state(dev, dev->pins->sleep_state);
+	return pinctrl_select_bound_state(dev, dev->pins->sleep_state);
 }
 EXPORT_SYMBOL_GPL(pinctrl_pm_select_sleep_state);
 
@@ -1592,7 +1597,7 @@ int pinctrl_pm_select_idle_state(struct device *dev)
 	if (!dev->pins)
 		return 0;
 
-	return pinctrl_pm_select_state(dev, dev->pins->idle_state);
+	return pinctrl_select_bound_state(dev, dev->pins->idle_state);
 }
 EXPORT_SYMBOL_GPL(pinctrl_pm_select_idle_state);
 #endif
diff --git a/include/linux/pinctrl/consumer.h b/include/linux/pinctrl/consumer.h
index 7f8c7d9583d3..019fecd75d0c 100644
--- a/include/linux/pinctrl/consumer.h
+++ b/include/linux/pinctrl/consumer.h
@@ -40,6 +40,7 @@ extern int pinctrl_select_state(struct pinctrl *p, struct pinctrl_state *s);
 
 extern struct pinctrl * __must_check devm_pinctrl_get(struct device *dev);
 extern void devm_pinctrl_put(struct pinctrl *p);
+extern int pinctrl_select_default_state(struct device *dev);
 
 #ifdef CONFIG_PM
 extern int pinctrl_pm_select_default_state(struct device *dev);
@@ -122,6 +123,11 @@ static inline void devm_pinctrl_put(struct pinctrl *p)
 {
 }
 
+static inline int pinctrl_select_default_state(struct device *dev)
+{
+	return 0;
+}
+
 static inline int pinctrl_pm_select_default_state(struct device *dev)
 {
 	return 0;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
  2019-12-06 17:08 ` [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-10 10:06   ` Jerome Brunet
  2019-12-06 17:08 ` [PATCH 3/9] mmc: mmci: " Ulf Hansson
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Kevin Hilman

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Cc: Kevin Hilman <khilman@baylibre.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/meson-gx-mmc.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
index e712315c7e8d..35400cf2a2e4 100644
--- a/drivers/mmc/host/meson-gx-mmc.c
+++ b/drivers/mmc/host/meson-gx-mmc.c
@@ -161,7 +161,6 @@ struct meson_host {
 	bool dram_access_quirk;
 
 	struct pinctrl *pinctrl;
-	struct pinctrl_state *pins_default;
 	struct pinctrl_state *pins_clk_gate;
 
 	unsigned int bounce_buf_size;
@@ -327,7 +326,7 @@ static void meson_mmc_clk_ungate(struct meson_host *host)
 	u32 cfg;
 
 	if (host->pins_clk_gate)
-		pinctrl_select_state(host->pinctrl, host->pins_default);
+		pinctrl_select_default_state(host->dev);
 
 	/* Make sure the clock is not stopped in the controller */
 	cfg = readl(host->regs + SD_EMMC_CFG);
@@ -1101,13 +1100,6 @@ static int meson_mmc_probe(struct platform_device *pdev)
 		goto free_host;
 	}
 
-	host->pins_default = pinctrl_lookup_state(host->pinctrl,
-						  PINCTRL_STATE_DEFAULT);
-	if (IS_ERR(host->pins_default)) {
-		ret = PTR_ERR(host->pins_default);
-		goto free_host;
-	}
-
 	host->pins_clk_gate = pinctrl_lookup_state(host->pinctrl,
 						   "clk-gate");
 	if (IS_ERR(host->pins_clk_gate)) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 3/9] mmc: mmci: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
  2019-12-06 17:08 ` [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it Ulf Hansson
  2019-12-06 17:08 ` [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state() Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-06 17:08 ` [PATCH 4/9] mmc: usdhi6rol0: " Ulf Hansson
                   ` (6 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Russell King

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Additionally, move away from using pinctrl_pm_select_default_state() as
it's scheduled for removal and use pinctrl_select_default_state() instead.

Cc: Russell King <linux@armlinux.org.uk>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/mmci.c | 12 ++----------
 drivers/mmc/host/mmci.h |  1 -
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 40e72c30ea84..caaa4687de93 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -1704,7 +1704,7 @@ static void mmci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 		if (ios->bus_mode == MMC_BUSMODE_OPENDRAIN)
 			pinctrl_select_state(host->pinctrl, host->pins_opendrain);
 		else
-			pinctrl_select_state(host->pinctrl, host->pins_default);
+			pinctrl_select_default_state(mmc_dev(mmc));
 	}
 
 	/*
@@ -1877,14 +1877,6 @@ static int mmci_probe(struct amba_device *dev,
 			goto host_free;
 		}
 
-		host->pins_default = pinctrl_lookup_state(host->pinctrl,
-							  PINCTRL_STATE_DEFAULT);
-		if (IS_ERR(host->pins_default)) {
-			dev_err(mmc_dev(mmc), "Can't select default pins\n");
-			ret = PTR_ERR(host->pins_default);
-			goto host_free;
-		}
-
 		host->pins_opendrain = pinctrl_lookup_state(host->pinctrl,
 							    MMCI_PINCTRL_STATE_OPENDRAIN);
 		if (IS_ERR(host->pins_opendrain)) {
@@ -2203,7 +2195,7 @@ static int mmci_runtime_resume(struct device *dev)
 		struct mmci_host *host = mmc_priv(mmc);
 		clk_prepare_enable(host->clk);
 		mmci_restore(host);
-		pinctrl_pm_select_default_state(dev);
+		pinctrl_select_default_state(dev);
 	}
 
 	return 0;
diff --git a/drivers/mmc/host/mmci.h b/drivers/mmc/host/mmci.h
index 158e1231aa23..12d4ed8af88a 100644
--- a/drivers/mmc/host/mmci.h
+++ b/drivers/mmc/host/mmci.h
@@ -404,7 +404,6 @@ struct mmci_host {
 	struct mmci_host_ops	*ops;
 	struct variant_data	*variant;
 	struct pinctrl		*pinctrl;
-	struct pinctrl_state	*pins_default;
 	struct pinctrl_state	*pins_opendrain;
 
 	u8			hw_designer;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 4/9] mmc: usdhi6rol0: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (2 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 3/9] mmc: mmci: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-09  9:00   ` Jesper Nilsson
  2019-12-06 17:08 ` [PATCH 5/9] mmc: omap_hsmmc: " Ulf Hansson
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij
  Cc: linux-mmc, Ulf Hansson, Jesper Nilsson, Lars Persson

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Cc: Jesper Nilsson <jesper.nilsson@axis.com>
Cc: Lars Persson <lars.persson@axis.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/usdhi6rol0.c | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
index b11ac2314328..969a34e698f2 100644
--- a/drivers/mmc/host/usdhi6rol0.c
+++ b/drivers/mmc/host/usdhi6rol0.c
@@ -199,7 +199,6 @@ struct usdhi6_host {
 
 	/* Pin control */
 	struct pinctrl *pinctrl;
-	struct pinctrl_state *pins_default;
 	struct pinctrl_state *pins_uhs;
 };
 
@@ -1162,8 +1161,7 @@ static int usdhi6_set_pinstates(struct usdhi6_host *host, int voltage)
 					    host->pins_uhs);
 
 	default:
-		return pinctrl_select_state(host->pinctrl,
-					    host->pins_default);
+		return pinctrl_select_default_state(mmc_dev(host->mmc));
 	}
 }
 
@@ -1770,17 +1768,6 @@ static int usdhi6_probe(struct platform_device *pdev)
 	}
 
 	host->pins_uhs = pinctrl_lookup_state(host->pinctrl, "state_uhs");
-	if (!IS_ERR(host->pins_uhs)) {
-		host->pins_default = pinctrl_lookup_state(host->pinctrl,
-							  PINCTRL_STATE_DEFAULT);
-
-		if (IS_ERR(host->pins_default)) {
-			dev_err(dev,
-				"UHS pinctrl requires a default pin state.\n");
-			ret = PTR_ERR(host->pins_default);
-			goto e_free_mmc;
-		}
-	}
 
 	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	host->base = devm_ioremap_resource(dev, res);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 5/9] mmc: omap_hsmmc: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (3 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 4/9] mmc: usdhi6rol0: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-06 17:08 ` [PATCH 6/9] mmc: sdhci-esdhc-imx: " Ulf Hansson
                   ` (4 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Additionally, move away from using pinctrl_pm_select_default_state() as
it's scheduled for removal and use pinctrl_select_default_state() instead.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/omap_hsmmc.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index 767e964ca5a2..a379c45b985c 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -1605,12 +1605,6 @@ static int omap_hsmmc_configure_wake_irq(struct omap_hsmmc_host *host)
 			ret = PTR_ERR(p);
 			goto err_free_irq;
 		}
-		if (IS_ERR(pinctrl_lookup_state(p, PINCTRL_STATE_DEFAULT))) {
-			dev_info(host->dev, "missing default pinctrl state\n");
-			devm_pinctrl_put(p);
-			ret = -EINVAL;
-			goto err_free_irq;
-		}
 
 		if (IS_ERR(pinctrl_lookup_state(p, PINCTRL_STATE_IDLE))) {
 			dev_info(host->dev, "missing idle pinctrl state\n");
@@ -2153,14 +2147,14 @@ static int omap_hsmmc_runtime_resume(struct device *dev)
 	if ((host->mmc->caps & MMC_CAP_SDIO_IRQ) &&
 	    (host->flags & HSMMC_SDIO_IRQ_ENABLED)) {
 
-		pinctrl_pm_select_default_state(host->dev);
+		pinctrl_select_default_state(host->dev);
 
 		/* irq lost, if pinmux incorrect */
 		OMAP_HSMMC_WRITE(host->base, STAT, STAT_CLEAR);
 		OMAP_HSMMC_WRITE(host->base, ISE, CIRQ_EN);
 		OMAP_HSMMC_WRITE(host->base, IE, CIRQ_EN);
 	} else {
-		pinctrl_pm_select_default_state(host->dev);
+		pinctrl_select_default_state(host->dev);
 	}
 	spin_unlock_irqrestore(&host->irq_lock, flags);
 	return 0;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 6/9] mmc: sdhci-esdhc-imx: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (4 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 5/9] mmc: omap_hsmmc: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-06 17:08 ` [PATCH 7/9] mmc: atmel-mci: " Ulf Hansson
                   ` (3 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Adrian Hunter

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Cc: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/sdhci-esdhc-imx.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c
index 1c988d6a2433..43628c9c05ac 100644
--- a/drivers/mmc/host/sdhci-esdhc-imx.c
+++ b/drivers/mmc/host/sdhci-esdhc-imx.c
@@ -224,7 +224,6 @@ static struct esdhc_soc_data usdhc_imx8qxp_data = {
 struct pltfm_imx_data {
 	u32 scratchpad;
 	struct pinctrl *pinctrl;
-	struct pinctrl_state *pins_default;
 	struct pinctrl_state *pins_100mhz;
 	struct pinctrl_state *pins_200mhz;
 	const struct esdhc_soc_data *socdata;
@@ -951,7 +950,6 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
 	dev_dbg(mmc_dev(host->mmc), "change pinctrl state for uhs %d\n", uhs);
 
 	if (IS_ERR(imx_data->pinctrl) ||
-		IS_ERR(imx_data->pins_default) ||
 		IS_ERR(imx_data->pins_100mhz) ||
 		IS_ERR(imx_data->pins_200mhz))
 		return -EINVAL;
@@ -968,7 +966,7 @@ static int esdhc_change_pinstate(struct sdhci_host *host,
 		break;
 	default:
 		/* back to default state for other legacy timing */
-		pinctrl = imx_data->pins_default;
+		return pinctrl_select_default_state(mmc_dev(host->mmc));
 	}
 
 	return pinctrl_select_state(imx_data->pinctrl, pinctrl);
@@ -1338,7 +1336,7 @@ sdhci_esdhc_imx_probe_dt(struct platform_device *pdev,
 
 	mmc_of_parse_voltage(np, &host->ocr_mask);
 
-	if (esdhc_is_usdhc(imx_data) && !IS_ERR(imx_data->pins_default)) {
+	if (esdhc_is_usdhc(imx_data)) {
 		imx_data->pins_100mhz = pinctrl_lookup_state(imx_data->pinctrl,
 						ESDHC_PINCTRL_STATE_100MHZ);
 		imx_data->pins_200mhz = pinctrl_lookup_state(imx_data->pinctrl,
@@ -1492,11 +1490,6 @@ static int sdhci_esdhc_imx_probe(struct platform_device *pdev)
 		goto disable_ahb_clk;
 	}
 
-	imx_data->pins_default = pinctrl_lookup_state(imx_data->pinctrl,
-						PINCTRL_STATE_DEFAULT);
-	if (IS_ERR(imx_data->pins_default))
-		dev_warn(mmc_dev(host->mmc), "could not get default state\n");
-
 	if (esdhc_is_usdhc(imx_data)) {
 		host->quirks2 |= SDHCI_QUIRK2_PRESET_VALUE_BROKEN;
 		host->mmc->caps |= MMC_CAP_1_8V_DDR | MMC_CAP_3_3V_DDR;
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 7/9] mmc: atmel-mci: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (5 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 6/9] mmc: sdhci-esdhc-imx: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-06 17:08 ` [PATCH 8/9] mmc: jz4740: " Ulf Hansson
                   ` (2 subsequent siblings)
  9 siblings, 0 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Ludovic Desroches

Let's move away from using pinctrl_pm_select_default_state() as it's
scheduled for removal and use pinctrl_select_default_state() instead.

Cc: Ludovic Desroches <ludovic.desroches@microchip.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/atmel-mci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c
index 6f065bb5c55a..aeaaa5314924 100644
--- a/drivers/mmc/host/atmel-mci.c
+++ b/drivers/mmc/host/atmel-mci.c
@@ -2645,7 +2645,7 @@ static int atmci_runtime_resume(struct device *dev)
 {
 	struct atmel_mci *host = dev_get_drvdata(dev);
 
-	pinctrl_pm_select_default_state(dev);
+	pinctrl_select_default_state(dev);
 
 	return clk_prepare_enable(host->mck);
 }
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 8/9] mmc: jz4740: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (6 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 7/9] mmc: atmel-mci: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-07 16:28   ` Paul Cercueil
  2019-12-08 23:56   ` Linus Walleij
  2019-12-06 17:08 ` [PATCH 9/9] mmc: uniphier-sd: " Ulf Hansson
  2019-12-16  8:02 ` [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Linus Walleij
  9 siblings, 2 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Paul Cercueil

Let's move away from using pinctrl_pm_select_default_state() as it's
scheduled for removal and use pinctrl_select_default_state() instead.

Cc: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/jz4740_mmc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mmc/host/jz4740_mmc.c b/drivers/mmc/host/jz4740_mmc.c
index 78383f60a3dc..fbae87d1f017 100644
--- a/drivers/mmc/host/jz4740_mmc.c
+++ b/drivers/mmc/host/jz4740_mmc.c
@@ -1108,7 +1108,7 @@ static int jz4740_mmc_suspend(struct device *dev)
 
 static int jz4740_mmc_resume(struct device *dev)
 {
-	return pinctrl_pm_select_default_state(dev);
+	return pinctrl_select_default_state(dev);
 }
 
 static SIMPLE_DEV_PM_OPS(jz4740_mmc_pm_ops, jz4740_mmc_suspend,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH 9/9] mmc: uniphier-sd: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (7 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 8/9] mmc: jz4740: " Ulf Hansson
@ 2019-12-06 17:08 ` Ulf Hansson
  2019-12-09  5:12   ` Masahiro Yamada
  2019-12-16  8:02 ` [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Linus Walleij
  9 siblings, 1 reply; 18+ messages in thread
From: Ulf Hansson @ 2019-12-06 17:08 UTC (permalink / raw)
  To: linux-gpio, Linus Walleij; +Cc: linux-mmc, Ulf Hansson, Masahiro Yamada

Let's drop the boilerplate code for managing the default pinctrl state and
convert into using the new pinctrl_select_default_state().

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 drivers/mmc/host/uniphier-sd.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/drivers/mmc/host/uniphier-sd.c b/drivers/mmc/host/uniphier-sd.c
index 0c72ec5546c3..a1683c49cb90 100644
--- a/drivers/mmc/host/uniphier-sd.c
+++ b/drivers/mmc/host/uniphier-sd.c
@@ -59,7 +59,6 @@
 struct uniphier_sd_priv {
 	struct tmio_mmc_data tmio_data;
 	struct pinctrl *pinctrl;
-	struct pinctrl_state *pinstate_default;
 	struct pinctrl_state *pinstate_uhs;
 	struct clk *clk;
 	struct reset_control *rst;
@@ -500,13 +499,12 @@ static int uniphier_sd_start_signal_voltage_switch(struct mmc_host *mmc,
 {
 	struct tmio_mmc_host *host = mmc_priv(mmc);
 	struct uniphier_sd_priv *priv = uniphier_sd_priv(host);
-	struct pinctrl_state *pinstate;
+	struct pinctrl_state *pinstate = NULL;
 	u32 val, tmp;
 
 	switch (ios->signal_voltage) {
 	case MMC_SIGNAL_VOLTAGE_330:
 		val = UNIPHIER_SD_VOLT_330;
-		pinstate = priv->pinstate_default;
 		break;
 	case MMC_SIGNAL_VOLTAGE_180:
 		val = UNIPHIER_SD_VOLT_180;
@@ -521,7 +519,10 @@ static int uniphier_sd_start_signal_voltage_switch(struct mmc_host *mmc,
 	tmp |= FIELD_PREP(UNIPHIER_SD_VOLT_MASK, val);
 	writel(tmp, host->ctl + UNIPHIER_SD_VOLT);
 
-	pinctrl_select_state(priv->pinctrl, pinstate);
+	if (pinstate)
+		pinctrl_select_state(priv->pinctrl, pinstate);
+	else
+		pinctrl_select_default_state(mmc_dev(mmc));
 
 	return 0;
 }
@@ -533,11 +534,6 @@ static int uniphier_sd_uhs_init(struct tmio_mmc_host *host,
 	if (IS_ERR(priv->pinctrl))
 		return PTR_ERR(priv->pinctrl);
 
-	priv->pinstate_default = pinctrl_lookup_state(priv->pinctrl,
-						      PINCTRL_STATE_DEFAULT);
-	if (IS_ERR(priv->pinstate_default))
-		return PTR_ERR(priv->pinstate_default);
-
 	priv->pinstate_uhs = pinctrl_lookup_state(priv->pinctrl, "uhs");
 	if (IS_ERR(priv->pinstate_uhs))
 		return PTR_ERR(priv->pinstate_uhs);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH 8/9] mmc: jz4740: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 ` [PATCH 8/9] mmc: jz4740: " Ulf Hansson
@ 2019-12-07 16:28   ` Paul Cercueil
  2019-12-08 23:56   ` Linus Walleij
  1 sibling, 0 replies; 18+ messages in thread
From: Paul Cercueil @ 2019-12-07 16:28 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: linux-gpio, Linus Walleij, linux-mmc

Hi,


Le ven., déc. 6, 2019 at 18:08, Ulf Hansson <ulf.hansson@linaro.org> a 
écrit :
> Let's move away from using pinctrl_pm_select_default_state() as it's
> scheduled for removal and use pinctrl_select_default_state() instead.

Looks good to me,
Acked-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> Cc: Paul Cercueil <paul@crapouillou.net>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  drivers/mmc/host/jz4740_mmc.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/mmc/host/jz4740_mmc.c 
> b/drivers/mmc/host/jz4740_mmc.c
> index 78383f60a3dc..fbae87d1f017 100644
> --- a/drivers/mmc/host/jz4740_mmc.c
> +++ b/drivers/mmc/host/jz4740_mmc.c
> @@ -1108,7 +1108,7 @@ static int jz4740_mmc_suspend(struct device 
> *dev)
> 
>  static int jz4740_mmc_resume(struct device *dev)
>  {
> -	return pinctrl_pm_select_default_state(dev);
> +	return pinctrl_select_default_state(dev);
>  }
> 
>  static SIMPLE_DEV_PM_OPS(jz4740_mmc_pm_ops, jz4740_mmc_suspend,
> --
> 2.17.1
> 



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 8/9] mmc: jz4740: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 ` [PATCH 8/9] mmc: jz4740: " Ulf Hansson
  2019-12-07 16:28   ` Paul Cercueil
@ 2019-12-08 23:56   ` Linus Walleij
  1 sibling, 0 replies; 18+ messages in thread
From: Linus Walleij @ 2019-12-08 23:56 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: open list:GPIO SUBSYSTEM, linux-mmc, Paul Cercueil

On Fri, Dec 6, 2019 at 6:08 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:

> Let's move away from using pinctrl_pm_select_default_state() as it's
> scheduled for removal and use pinctrl_select_default_state() instead.
>
> Cc: Paul Cercueil <paul@crapouillou.net>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 9/9] mmc: uniphier-sd: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 ` [PATCH 9/9] mmc: uniphier-sd: " Ulf Hansson
@ 2019-12-09  5:12   ` Masahiro Yamada
  0 siblings, 0 replies; 18+ messages in thread
From: Masahiro Yamada @ 2019-12-09  5:12 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: open list:GPIO SUBSYSTEM, Linus Walleij, linux-mmc

On Sat, Dec 7, 2019 at 2:08 AM Ulf Hansson <ulf.hansson@linaro.org> wrote:
>
> Let's drop the boilerplate code for managing the default pinctrl state and
> convert into using the new pinctrl_select_default_state().
>
> Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---

Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>



-- 
Best Regards
Masahiro Yamada

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 4/9] mmc: usdhi6rol0: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 ` [PATCH 4/9] mmc: usdhi6rol0: " Ulf Hansson
@ 2019-12-09  9:00   ` Jesper Nilsson
  0 siblings, 0 replies; 18+ messages in thread
From: Jesper Nilsson @ 2019-12-09  9:00 UTC (permalink / raw)
  To: Ulf Hansson
  Cc: linux-gpio, Linus Walleij, linux-mmc, Jesper Nilsson, Lars Persson

On Fri, Dec 06, 2019 at 06:08:16PM +0100, Ulf Hansson wrote:
> Let's drop the boilerplate code for managing the default pinctrl state and
> convert into using the new pinctrl_select_default_state().

Looks good, thanks!

Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>

> Cc: Lars Persson <lars.persson@axis.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  drivers/mmc/host/usdhi6rol0.c | 15 +--------------
>  1 file changed, 1 insertion(+), 14 deletions(-)
> 
> diff --git a/drivers/mmc/host/usdhi6rol0.c b/drivers/mmc/host/usdhi6rol0.c
> index b11ac2314328..969a34e698f2 100644
> --- a/drivers/mmc/host/usdhi6rol0.c
> +++ b/drivers/mmc/host/usdhi6rol0.c
> @@ -199,7 +199,6 @@ struct usdhi6_host {
>  
>  	/* Pin control */
>  	struct pinctrl *pinctrl;
> -	struct pinctrl_state *pins_default;
>  	struct pinctrl_state *pins_uhs;
>  };
>  
> @@ -1162,8 +1161,7 @@ static int usdhi6_set_pinstates(struct usdhi6_host *host, int voltage)
>  					    host->pins_uhs);
>  
>  	default:
> -		return pinctrl_select_state(host->pinctrl,
> -					    host->pins_default);
> +		return pinctrl_select_default_state(mmc_dev(host->mmc));
>  	}
>  }
>  
> @@ -1770,17 +1768,6 @@ static int usdhi6_probe(struct platform_device *pdev)
>  	}
>  
>  	host->pins_uhs = pinctrl_lookup_state(host->pinctrl, "state_uhs");
> -	if (!IS_ERR(host->pins_uhs)) {
> -		host->pins_default = pinctrl_lookup_state(host->pinctrl,
> -							  PINCTRL_STATE_DEFAULT);
> -
> -		if (IS_ERR(host->pins_default)) {
> -			dev_err(dev,
> -				"UHS pinctrl requires a default pin state.\n");
> -			ret = PTR_ERR(host->pins_default);
> -			goto e_free_mmc;
> -		}
> -	}
>  
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	host->base = devm_ioremap_resource(dev, res);
> -- 
> 2.17.1
> 

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state()
  2019-12-06 17:08 ` [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state() Ulf Hansson
@ 2019-12-10 10:06   ` Jerome Brunet
  0 siblings, 0 replies; 18+ messages in thread
From: Jerome Brunet @ 2019-12-10 10:06 UTC (permalink / raw)
  To: Ulf Hansson, linux-gpio, Linus Walleij; +Cc: linux-mmc, Kevin Hilman


On Fri 06 Dec 2019 at 18:08, Ulf Hansson <ulf.hansson@linaro.org> wrote:

> Let's drop the boilerplate code for managing the default pinctrl state and
> convert into using the new pinctrl_select_default_state().
>

Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>

> Cc: Kevin Hilman <khilman@baylibre.com>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
> ---
>  drivers/mmc/host/meson-gx-mmc.c | 10 +---------
>  1 file changed, 1 insertion(+), 9 deletions(-)
>
> diff --git a/drivers/mmc/host/meson-gx-mmc.c b/drivers/mmc/host/meson-gx-mmc.c
> index e712315c7e8d..35400cf2a2e4 100644
> --- a/drivers/mmc/host/meson-gx-mmc.c
> +++ b/drivers/mmc/host/meson-gx-mmc.c
> @@ -161,7 +161,6 @@ struct meson_host {
>  	bool dram_access_quirk;
>  
>  	struct pinctrl *pinctrl;
> -	struct pinctrl_state *pins_default;
>  	struct pinctrl_state *pins_clk_gate;
>  
>  	unsigned int bounce_buf_size;
> @@ -327,7 +326,7 @@ static void meson_mmc_clk_ungate(struct meson_host *host)
>  	u32 cfg;
>  
>  	if (host->pins_clk_gate)
> -		pinctrl_select_state(host->pinctrl, host->pins_default);
> +		pinctrl_select_default_state(host->dev);
>  
>  	/* Make sure the clock is not stopped in the controller */
>  	cfg = readl(host->regs + SD_EMMC_CFG);
> @@ -1101,13 +1100,6 @@ static int meson_mmc_probe(struct platform_device *pdev)
>  		goto free_host;
>  	}
>  
> -	host->pins_default = pinctrl_lookup_state(host->pinctrl,
> -						  PINCTRL_STATE_DEFAULT);
> -	if (IS_ERR(host->pins_default)) {
> -		ret = PTR_ERR(host->pins_default);
> -		goto free_host;
> -	}
> -
>  	host->pins_clk_gate = pinctrl_lookup_state(host->pinctrl,
>  						   "clk-gate");
>  	if (IS_ERR(host->pins_clk_gate)) {


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it
  2019-12-06 17:08 ` [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it Ulf Hansson
@ 2019-12-16  8:02   ` Linus Walleij
  2019-12-16 12:09     ` Ulf Hansson
  0 siblings, 1 reply; 18+ messages in thread
From: Linus Walleij @ 2019-12-16  8:02 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: open list:GPIO SUBSYSTEM, linux-mmc

On Fri, Dec 6, 2019 at 6:08 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:

> It has turned out that some mmc host drivers, but perhaps also others
> drivers, needs to reset the pinctrl into the default state
> (PINCTRL_STATE_DEFAULT). However, they can't use the existing
> pinctrl_pm_select_default_state(), as that requires CONFIG_PM to be set.
> This leads to open coding, as they need to look up the default state
> themselves and then select it.
>
> To avoid the open coding, let's introduce pinctrl_select_default_state()
> and make it available independently of CONFIG_PM. As a matter of fact, this
> makes it more consistent with the behaviour of the driver core, as it
> already tries to looks up the default state during probe.
>
> Going forward, users of pinctrl_pm_select_default_state() are encouraged to
> move to pinctrl_select_default_state(), so the old API can be removed.
>
> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>

I have put this patch on an immutable branch so that you can pull it into your
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=ib-pinctrl-default-state

I also pulled this immutable branch into my "devel" branch for v5.6.

I think other subsystems may need the same kind of stuff and I might need
to change code around here so I need to apply it to my tree.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc
  2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
                   ` (8 preceding siblings ...)
  2019-12-06 17:08 ` [PATCH 9/9] mmc: uniphier-sd: " Ulf Hansson
@ 2019-12-16  8:02 ` Linus Walleij
  9 siblings, 0 replies; 18+ messages in thread
From: Linus Walleij @ 2019-12-16  8:02 UTC (permalink / raw)
  To: Ulf Hansson; +Cc: open list:GPIO SUBSYSTEM, linux-mmc

On Fri, Dec 6, 2019 at 6:08 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:

> Ulf Hansson (9):
>   pinctrl: core: Add pinctrl_select_default_state() and export it
>   mmc: meson-gx: Convert to pinctrl_select_default_state()
>   mmc: mmci: Convert to pinctrl_select_default_state()
>   mmc: usdhi6rol0: Convert to pinctrl_select_default_state()
>   mmc: omap_hsmmc: Convert to pinctrl_select_default_state()
>   mmc: sdhci-esdhc-imx: Convert to pinctrl_select_default_state()
>   mmc: atmel-mci: Convert to pinctrl_select_default_state()
>   mmc: jz4740: Convert to pinctrl_select_default_state()
>   mmc: uniphier-sd: Convert to pinctrl_select_default_state()

For patches 2-9:
Acked-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it
  2019-12-16  8:02   ` Linus Walleij
@ 2019-12-16 12:09     ` Ulf Hansson
  0 siblings, 0 replies; 18+ messages in thread
From: Ulf Hansson @ 2019-12-16 12:09 UTC (permalink / raw)
  To: Linus Walleij; +Cc: open list:GPIO SUBSYSTEM, linux-mmc

On Mon, 16 Dec 2019 at 09:02, Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Fri, Dec 6, 2019 at 6:08 PM Ulf Hansson <ulf.hansson@linaro.org> wrote:
>
> > It has turned out that some mmc host drivers, but perhaps also others
> > drivers, needs to reset the pinctrl into the default state
> > (PINCTRL_STATE_DEFAULT). However, they can't use the existing
> > pinctrl_pm_select_default_state(), as that requires CONFIG_PM to be set.
> > This leads to open coding, as they need to look up the default state
> > themselves and then select it.
> >
> > To avoid the open coding, let's introduce pinctrl_select_default_state()
> > and make it available independently of CONFIG_PM. As a matter of fact, this
> > makes it more consistent with the behaviour of the driver core, as it
> > already tries to looks up the default state during probe.
> >
> > Going forward, users of pinctrl_pm_select_default_state() are encouraged to
> > move to pinctrl_select_default_state(), so the old API can be removed.
> >
> > Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
>
> I have put this patch on an immutable branch so that you can pull it into your
> tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl.git/log/?h=ib-pinctrl-default-state
>
> I also pulled this immutable branch into my "devel" branch for v5.6.
>
> I think other subsystems may need the same kind of stuff and I might need
> to change code around here so I need to apply it to my tree.

Thanks!

I have pulled in the branch into my tree - and applied the mmc patches
with your ack on top.

Kind regards
Uffe

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2019-12-16 12:09 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-06 17:08 [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Ulf Hansson
2019-12-06 17:08 ` [PATCH 1/9] pinctrl: core: Add pinctrl_select_default_state() and export it Ulf Hansson
2019-12-16  8:02   ` Linus Walleij
2019-12-16 12:09     ` Ulf Hansson
2019-12-06 17:08 ` [PATCH 2/9] mmc: meson-gx: Convert to pinctrl_select_default_state() Ulf Hansson
2019-12-10 10:06   ` Jerome Brunet
2019-12-06 17:08 ` [PATCH 3/9] mmc: mmci: " Ulf Hansson
2019-12-06 17:08 ` [PATCH 4/9] mmc: usdhi6rol0: " Ulf Hansson
2019-12-09  9:00   ` Jesper Nilsson
2019-12-06 17:08 ` [PATCH 5/9] mmc: omap_hsmmc: " Ulf Hansson
2019-12-06 17:08 ` [PATCH 6/9] mmc: sdhci-esdhc-imx: " Ulf Hansson
2019-12-06 17:08 ` [PATCH 7/9] mmc: atmel-mci: " Ulf Hansson
2019-12-06 17:08 ` [PATCH 8/9] mmc: jz4740: " Ulf Hansson
2019-12-07 16:28   ` Paul Cercueil
2019-12-08 23:56   ` Linus Walleij
2019-12-06 17:08 ` [PATCH 9/9] mmc: uniphier-sd: " Ulf Hansson
2019-12-09  5:12   ` Masahiro Yamada
2019-12-16  8:02 ` [PATCH 0/9] pinctrl: Consolidate some pinctrl code for mmc Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).