linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup
@ 2017-08-14 20:00 Michał Mirosław
  2017-08-14 20:00 ` [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA Michał Mirosław
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Michał Mirosław @ 2017-08-14 20:00 UTC (permalink / raw)
  To: Adrian Hunter, Ulf Hansson, Thierry Reding, Jonathan Hunter,
	Ben Dooks, Jaehoon Chung
  Cc: linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

Some SDHCI drivers are reimplementing sdhci_set_bus_width() just because
they support 8-bit bus but don't advertise full SDHCI 3.0 compliance.
This unnecessarily duplicates the function. Let's remove those duplicates.

v2:
	- added commit messages from Adrian Hunter

Michał Mirosław (4):
  mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA
  mmc: sdhci-tegra: use generic sdhci_set_bus_width()
  mmc: sdhci-pci: use generic sdhci_set_bus_width()
  mmc: sdhci-s3c: use generic sdhci_set_bus_width()

 drivers/mmc/host/sdhci-pci-core.c | 30 +++---------------------------
 drivers/mmc/host/sdhci-s3c.c      | 34 +---------------------------------
 drivers/mmc/host/sdhci-tegra.c    | 23 ++---------------------
 drivers/mmc/host/sdhci.c          |  5 ++---
 4 files changed, 8 insertions(+), 84 deletions(-)

-- 
2.11.0

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

* [PATCH v2 2/4] mmc: sdhci-tegra: use generic sdhci_set_bus_width()
  2017-08-14 20:00 [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Michał Mirosław
  2017-08-14 20:00 ` [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA Michał Mirosław
@ 2017-08-14 20:00 ` Michał Mirosław
       [not found]   ` <7d6cf1b81c67e3448edbab526e36bfdca737fc45.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
  2017-08-14 20:00 ` [PATCH v2 3/4] mmc: sdhci-pci: " Michał Mirosław
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Michał Mirosław @ 2017-08-14 20:00 UTC (permalink / raw)
  To: Adrian Hunter, Ulf Hansson, Thierry Reding, Jonathan Hunter,
	Ben Dooks, Jaehoon Chung
  Cc: linux-mmc, linux-tegra

Now that sdhci_set_bus_width() supports 8-bit bus widths based on the
MMC_CAP_8_BIT_DATA capability flag, replace the tegra version with the
generic sdhci version.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-tegra.c | 23 ++---------------------
 1 file changed, 2 insertions(+), 21 deletions(-)

diff --git a/drivers/mmc/host/sdhci-tegra.c b/drivers/mmc/host/sdhci-tegra.c
index 7f93079c7a3a..9a589b6a53dd 100644
--- a/drivers/mmc/host/sdhci-tegra.c
+++ b/drivers/mmc/host/sdhci-tegra.c
@@ -190,25 +190,6 @@ static void tegra_sdhci_reset(struct sdhci_host *host, u8 mask)
 	tegra_host->ddr_signaling = false;
 }
 
-static void tegra_sdhci_set_bus_width(struct sdhci_host *host, int bus_width)
-{
-	u32 ctrl;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-	if ((host->mmc->caps & MMC_CAP_8_BIT_DATA) &&
-	    (bus_width == MMC_BUS_WIDTH_8)) {
-		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		ctrl |= SDHCI_CTRL_8BITBUS;
-	} else {
-		ctrl &= ~SDHCI_CTRL_8BITBUS;
-		if (bus_width == MMC_BUS_WIDTH_4)
-			ctrl |= SDHCI_CTRL_4BITBUS;
-		else
-			ctrl &= ~SDHCI_CTRL_4BITBUS;
-	}
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
 static void tegra_sdhci_pad_autocalib(struct sdhci_host *host)
 {
 	u32 val;
@@ -323,7 +304,7 @@ static const struct sdhci_ops tegra_sdhci_ops = {
 	.read_w     = tegra_sdhci_readw,
 	.write_l    = tegra_sdhci_writel,
 	.set_clock  = tegra_sdhci_set_clock,
-	.set_bus_width = tegra_sdhci_set_bus_width,
+	.set_bus_width = sdhci_set_bus_width,
 	.reset      = tegra_sdhci_reset,
 	.platform_execute_tuning = tegra_sdhci_execute_tuning,
 	.set_uhs_signaling = tegra_sdhci_set_uhs_signaling,
@@ -371,7 +352,7 @@ static const struct sdhci_ops tegra114_sdhci_ops = {
 	.write_w    = tegra_sdhci_writew,
 	.write_l    = tegra_sdhci_writel,
 	.set_clock  = tegra_sdhci_set_clock,
-	.set_bus_width = tegra_sdhci_set_bus_width,
+	.set_bus_width = sdhci_set_bus_width,
 	.reset      = tegra_sdhci_reset,
 	.platform_execute_tuning = tegra_sdhci_execute_tuning,
 	.set_uhs_signaling = tegra_sdhci_set_uhs_signaling,
-- 
2.11.0


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

* [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA
  2017-08-14 20:00 [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Michał Mirosław
@ 2017-08-14 20:00 ` Michał Mirosław
       [not found]   ` <48d72c32067a8e4ae50c77ee9cc5c077bb2809ae.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
  2017-08-14 20:00 ` [PATCH v2 2/4] mmc: sdhci-tegra: use generic sdhci_set_bus_width() Michał Mirosław
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 9+ messages in thread
From: Michał Mirosław @ 2017-08-14 20:00 UTC (permalink / raw)
  To: Adrian Hunter, Ulf Hansson, Thierry Reding, Jonathan Hunter,
	Ben Dooks, Jaehoon Chung
  Cc: linux-mmc, linux-tegra

Hosts supporting 8-bit bus are marked accordingly. If MMC_CAP_8_BIT_DATA
is not among host capabilities, 8BITBUS bit will never be set and it
is not cleared in case some non-SDHCI3 host uses it for something else.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/mmc/host/sdhci.c b/drivers/mmc/host/sdhci.c
index ecd0d4350e8a..cca21246cf61 100644
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
@@ -1544,10 +1544,9 @@ void sdhci_set_bus_width(struct sdhci_host *host, int width)
 	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
 	if (width == MMC_BUS_WIDTH_8) {
 		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		if (host->version >= SDHCI_SPEC_300)
-			ctrl |= SDHCI_CTRL_8BITBUS;
+		ctrl |= SDHCI_CTRL_8BITBUS;
 	} else {
-		if (host->version >= SDHCI_SPEC_300)
+		if (host->mmc->caps & MMC_CAP_8_BIT_DATA)
 			ctrl &= ~SDHCI_CTRL_8BITBUS;
 		if (width == MMC_BUS_WIDTH_4)
 			ctrl |= SDHCI_CTRL_4BITBUS;
-- 
2.11.0


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

* [PATCH v2 3/4] mmc: sdhci-pci: use generic sdhci_set_bus_width()
  2017-08-14 20:00 [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Michał Mirosław
  2017-08-14 20:00 ` [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA Michał Mirosław
  2017-08-14 20:00 ` [PATCH v2 2/4] mmc: sdhci-tegra: use generic sdhci_set_bus_width() Michał Mirosław
@ 2017-08-14 20:00 ` Michał Mirosław
  2017-08-14 20:00 ` [PATCH v2 4/4] mmc: sdhci-s3c: " Michał Mirosław
       [not found] ` <cover.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
  4 siblings, 0 replies; 9+ messages in thread
From: Michał Mirosław @ 2017-08-14 20:00 UTC (permalink / raw)
  To: Adrian Hunter, Ulf Hansson, Thierry Reding, Jonathan Hunter,
	Ben Dooks, Jaehoon Chung
  Cc: linux-mmc, linux-tegra

Now that sdhci_set_bus_width() supports 8-bit bus widths based on the
MMC_CAP_8_BIT_DATA capability flag, replace the sdhci-pci version with
the generic sdhci version.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-pci-core.c | 30 +++---------------------------
 1 file changed, 3 insertions(+), 27 deletions(-)

diff --git a/drivers/mmc/host/sdhci-pci-core.c b/drivers/mmc/host/sdhci-pci-core.c
index e1721ac37919..deffd73df124 100644
--- a/drivers/mmc/host/sdhci-pci-core.c
+++ b/drivers/mmc/host/sdhci-pci-core.c
@@ -35,7 +35,6 @@
 #include "sdhci-pci-o2micro.h"
 
 static int sdhci_pci_enable_dma(struct sdhci_host *host);
-static void sdhci_pci_set_bus_width(struct sdhci_host *host, int width);
 static void sdhci_pci_hw_reset(struct sdhci_host *host);
 
 #ifdef CONFIG_PM_SLEEP
@@ -562,7 +561,7 @@ static const struct sdhci_ops sdhci_intel_byt_ops = {
 	.set_clock		= sdhci_set_clock,
 	.set_power		= sdhci_intel_set_power,
 	.enable_dma		= sdhci_pci_enable_dma,
-	.set_bus_width		= sdhci_pci_set_bus_width,
+	.set_bus_width		= sdhci_set_bus_width,
 	.reset			= sdhci_reset,
 	.set_uhs_signaling	= sdhci_set_uhs_signaling,
 	.hw_reset		= sdhci_pci_hw_reset,
@@ -1197,7 +1196,7 @@ static int amd_probe(struct sdhci_pci_chip *chip)
 static const struct sdhci_ops amd_sdhci_pci_ops = {
 	.set_clock			= sdhci_set_clock,
 	.enable_dma			= sdhci_pci_enable_dma,
-	.set_bus_width			= sdhci_pci_set_bus_width,
+	.set_bus_width			= sdhci_set_bus_width,
 	.reset				= sdhci_reset,
 	.set_uhs_signaling		= sdhci_set_uhs_signaling,
 	.platform_execute_tuning	= amd_execute_tuning,
@@ -1313,29 +1312,6 @@ static int sdhci_pci_enable_dma(struct sdhci_host *host)
 	return 0;
 }
 
-static void sdhci_pci_set_bus_width(struct sdhci_host *host, int width)
-{
-	u8 ctrl;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-
-	switch (width) {
-	case MMC_BUS_WIDTH_8:
-		ctrl |= SDHCI_CTRL_8BITBUS;
-		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		break;
-	case MMC_BUS_WIDTH_4:
-		ctrl |= SDHCI_CTRL_4BITBUS;
-		ctrl &= ~SDHCI_CTRL_8BITBUS;
-		break;
-	default:
-		ctrl &= ~(SDHCI_CTRL_8BITBUS | SDHCI_CTRL_4BITBUS);
-		break;
-	}
-
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
 static void sdhci_pci_gpio_hw_reset(struct sdhci_host *host)
 {
 	struct sdhci_pci_slot *slot = sdhci_priv(host);
@@ -1362,7 +1338,7 @@ static void sdhci_pci_hw_reset(struct sdhci_host *host)
 static const struct sdhci_ops sdhci_pci_ops = {
 	.set_clock	= sdhci_set_clock,
 	.enable_dma	= sdhci_pci_enable_dma,
-	.set_bus_width	= sdhci_pci_set_bus_width,
+	.set_bus_width	= sdhci_set_bus_width,
 	.reset		= sdhci_reset,
 	.set_uhs_signaling = sdhci_set_uhs_signaling,
 	.hw_reset		= sdhci_pci_hw_reset,
-- 
2.11.0


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

* [PATCH v2 4/4] mmc: sdhci-s3c: use generic sdhci_set_bus_width()
  2017-08-14 20:00 [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Michał Mirosław
                   ` (2 preceding siblings ...)
  2017-08-14 20:00 ` [PATCH v2 3/4] mmc: sdhci-pci: " Michał Mirosław
@ 2017-08-14 20:00 ` Michał Mirosław
       [not found]   ` <471746dfd08fd4eeae2e747c4ce7f98371ac1e99.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
       [not found] ` <cover.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
  4 siblings, 1 reply; 9+ messages in thread
From: Michał Mirosław @ 2017-08-14 20:00 UTC (permalink / raw)
  To: Adrian Hunter, Ulf Hansson, Thierry Reding, Jonathan Hunter,
	Ben Dooks, Jaehoon Chung
  Cc: linux-mmc, linux-tegra

Now that sdhci_set_bus_width() supports 8-bit bus widths based on the
MMC_CAP_8_BIT_DATA capability flag, replace the sdhci-s3c version with
the generic sdhci version.

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
---
 drivers/mmc/host/sdhci-s3c.c | 34 +---------------------------------
 1 file changed, 1 insertion(+), 33 deletions(-)

diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
index 7c065a70f92b..d328fcf284d1 100644
--- a/drivers/mmc/host/sdhci-s3c.c
+++ b/drivers/mmc/host/sdhci-s3c.c
@@ -414,43 +414,11 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)
 	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
 }
 
-/**
- * sdhci_s3c_set_bus_width - support 8bit buswidth
- * @host: The SDHCI host being queried
- * @width: MMC_BUS_WIDTH_ macro for the bus width being requested
- *
- * We have 8-bit width support but is not a v3 controller.
- * So we add platform_bus_width() and support 8bit width.
- */
-static void sdhci_s3c_set_bus_width(struct sdhci_host *host, int width)
-{
-	u8 ctrl;
-
-	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
-
-	switch (width) {
-	case MMC_BUS_WIDTH_8:
-		ctrl |= SDHCI_CTRL_8BITBUS;
-		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		break;
-	case MMC_BUS_WIDTH_4:
-		ctrl |= SDHCI_CTRL_4BITBUS;
-		ctrl &= ~SDHCI_CTRL_8BITBUS;
-		break;
-	default:
-		ctrl &= ~SDHCI_CTRL_4BITBUS;
-		ctrl &= ~SDHCI_CTRL_8BITBUS;
-		break;
-	}
-
-	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
-}
-
 static struct sdhci_ops sdhci_s3c_ops = {
 	.get_max_clock		= sdhci_s3c_get_max_clk,
 	.set_clock		= sdhci_s3c_set_clock,
 	.get_min_clock		= sdhci_s3c_get_min_clock,
-	.set_bus_width		= sdhci_s3c_set_bus_width,
+	.set_bus_width		= sdhci_set_bus_width,
 	.reset			= sdhci_reset,
 	.set_uhs_signaling	= sdhci_set_uhs_signaling,
 };
-- 
2.11.0


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

* Re: [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA
       [not found]   ` <48d72c32067a8e4ae50c77ee9cc5c077bb2809ae.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
@ 2017-08-17 11:17     ` Thierry Reding
  0 siblings, 0 replies; 9+ messages in thread
From: Thierry Reding @ 2017-08-17 11:17 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Adrian Hunter, Ulf Hansson, Jonathan Hunter, Ben Dooks,
	Jaehoon Chung, linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 644 bytes --]

On Mon, Aug 14, 2017 at 10:00:24PM +0200, Michał Mirosław wrote:
> Hosts supporting 8-bit bus are marked accordingly. If MMC_CAP_8_BIT_DATA
> is not among host capabilities, 8BITBUS bit will never be set and it
> is not cleared in case some non-SDHCI3 host uses it for something else.
> 
> Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
> Acked-by: Adrian Hunter <adrian.hunter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/mmc/host/sdhci.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)

Tested-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH v2 2/4] mmc: sdhci-tegra: use generic sdhci_set_bus_width()
       [not found]   ` <7d6cf1b81c67e3448edbab526e36bfdca737fc45.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
@ 2017-08-17 11:18     ` Thierry Reding
  0 siblings, 0 replies; 9+ messages in thread
From: Thierry Reding @ 2017-08-17 11:18 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Adrian Hunter, Ulf Hansson, Jonathan Hunter, Ben Dooks,
	Jaehoon Chung, linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 620 bytes --]

On Mon, Aug 14, 2017 at 10:00:24PM +0200, Michał Mirosław wrote:
> Now that sdhci_set_bus_width() supports 8-bit bus widths based on the
> MMC_CAP_8_BIT_DATA capability flag, replace the tegra version with the
> generic sdhci version.
> 
> Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
> Acked-by: Adrian Hunter <adrian.hunter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> ---
>  drivers/mmc/host/sdhci-tegra.c | 23 ++---------------------
>  1 file changed, 2 insertions(+), 21 deletions(-)

Tested-by: Thierry Reding <treding-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: [PATCH v2 4/4] mmc: sdhci-s3c: use generic sdhci_set_bus_width()
       [not found]   ` <471746dfd08fd4eeae2e747c4ce7f98371ac1e99.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
@ 2017-08-18  7:31     ` Jaehoon Chung
  0 siblings, 0 replies; 9+ messages in thread
From: Jaehoon Chung @ 2017-08-18  7:31 UTC (permalink / raw)
  To: Michał Mirosław, Adrian Hunter, Ulf Hansson,
	Thierry Reding, Jonathan Hunter, Ben Dooks
  Cc: linux-mmc-u79uwXL29TY76Z2rM5mHXA,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA

On 08/15/2017 05:00 AM, Michał Mirosław wrote:
> Now that sdhci_set_bus_width() supports 8-bit bus widths based on the
> MMC_CAP_8_BIT_DATA capability flag, replace the sdhci-s3c version with
> the generic sdhci version.
> 
> Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
> Acked-by: Adrian Hunter <adrian.hunter-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>

Acked-by: Jaehoon Chung <jh80.chung-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>

> ---
>  drivers/mmc/host/sdhci-s3c.c | 34 +---------------------------------
>  1 file changed, 1 insertion(+), 33 deletions(-)
> 
> diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c
> index 7c065a70f92b..d328fcf284d1 100644
> --- a/drivers/mmc/host/sdhci-s3c.c
> +++ b/drivers/mmc/host/sdhci-s3c.c
> @@ -414,43 +414,11 @@ static void sdhci_cmu_set_clock(struct sdhci_host *host, unsigned int clock)
>  	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
>  }
>  
> -/**
> - * sdhci_s3c_set_bus_width - support 8bit buswidth
> - * @host: The SDHCI host being queried
> - * @width: MMC_BUS_WIDTH_ macro for the bus width being requested
> - *
> - * We have 8-bit width support but is not a v3 controller.
> - * So we add platform_bus_width() and support 8bit width.
> - */
> -static void sdhci_s3c_set_bus_width(struct sdhci_host *host, int width)
> -{
> -	u8 ctrl;
> -
> -	ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL);
> -
> -	switch (width) {
> -	case MMC_BUS_WIDTH_8:
> -		ctrl |= SDHCI_CTRL_8BITBUS;
> -		ctrl &= ~SDHCI_CTRL_4BITBUS;
> -		break;
> -	case MMC_BUS_WIDTH_4:
> -		ctrl |= SDHCI_CTRL_4BITBUS;
> -		ctrl &= ~SDHCI_CTRL_8BITBUS;
> -		break;
> -	default:
> -		ctrl &= ~SDHCI_CTRL_4BITBUS;
> -		ctrl &= ~SDHCI_CTRL_8BITBUS;
> -		break;
> -	}
> -
> -	sdhci_writeb(host, ctrl, SDHCI_HOST_CONTROL);
> -}
> -
>  static struct sdhci_ops sdhci_s3c_ops = {
>  	.get_max_clock		= sdhci_s3c_get_max_clk,
>  	.set_clock		= sdhci_s3c_set_clock,
>  	.get_min_clock		= sdhci_s3c_get_min_clock,
> -	.set_bus_width		= sdhci_s3c_set_bus_width,
> +	.set_bus_width		= sdhci_set_bus_width,
>  	.reset			= sdhci_reset,
>  	.set_uhs_signaling	= sdhci_set_uhs_signaling,
>  };
> 

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

* Re: [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup
       [not found] ` <cover.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
@ 2017-08-22 11:14   ` Ulf Hansson
  0 siblings, 0 replies; 9+ messages in thread
From: Ulf Hansson @ 2017-08-22 11:14 UTC (permalink / raw)
  To: Michał Mirosław
  Cc: Adrian Hunter, Thierry Reding, Jonathan Hunter, Ben Dooks,
	Jaehoon Chung, linux-mmc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org

On 14 August 2017 at 22:00, Michał Mirosław <mirq-linux-CoA6ZxLDdyEAvxtiuMwx3w@public.gmane.org.pl> wrote:
> Some SDHCI drivers are reimplementing sdhci_set_bus_width() just because
> they support 8-bit bus but don't advertise full SDHCI 3.0 compliance.
> This unnecessarily duplicates the function. Let's remove those duplicates.
>
> v2:
>         - added commit messages from Adrian Hunter
>
> Michał Mirosław (4):
>   mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA
>   mmc: sdhci-tegra: use generic sdhci_set_bus_width()
>   mmc: sdhci-pci: use generic sdhci_set_bus_width()
>   mmc: sdhci-s3c: use generic sdhci_set_bus_width()
>
>  drivers/mmc/host/sdhci-pci-core.c | 30 +++---------------------------
>  drivers/mmc/host/sdhci-s3c.c      | 34 +---------------------------------
>  drivers/mmc/host/sdhci-tegra.c    | 23 ++---------------------
>  drivers/mmc/host/sdhci.c          |  5 ++---
>  4 files changed, 8 insertions(+), 84 deletions(-)
>
> --
> 2.11.0
>

Thanks, applied for next!

Kind regards
Uffe

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

end of thread, other threads:[~2017-08-22 11:14 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-14 20:00 [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Michał Mirosław
2017-08-14 20:00 ` [PATCH v2 1/4] mmc: sdhci: key 8BITBUS bit off MMC_CAP_8_BIT_DATA Michał Mirosław
     [not found]   ` <48d72c32067a8e4ae50c77ee9cc5c077bb2809ae.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
2017-08-17 11:17     ` Thierry Reding
2017-08-14 20:00 ` [PATCH v2 2/4] mmc: sdhci-tegra: use generic sdhci_set_bus_width() Michał Mirosław
     [not found]   ` <7d6cf1b81c67e3448edbab526e36bfdca737fc45.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
2017-08-17 11:18     ` Thierry Reding
2017-08-14 20:00 ` [PATCH v2 3/4] mmc: sdhci-pci: " Michał Mirosław
2017-08-14 20:00 ` [PATCH v2 4/4] mmc: sdhci-s3c: " Michał Mirosław
     [not found]   ` <471746dfd08fd4eeae2e747c4ce7f98371ac1e99.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
2017-08-18  7:31     ` Jaehoon Chung
     [not found] ` <cover.1502740497.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>
2017-08-22 11:14   ` [PATCH v2 0/4] mmc: sdhci: sdhci_set_bus_width() cleanup Ulf Hansson

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).