All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Adrian Hunter <adrian.hunter@intel.com>
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Krzysztof Halasa <khalasa@piap.pl>,
	linux-mmc@vger.kernel.org
Subject: [PATCH 03/17] mmc: remove cns3xxx driver
Date: Wed, 19 Oct 2022 17:03:25 +0200	[thread overview]
Message-ID: <20221019150410.3851944-3-arnd@kernel.org> (raw)
In-Reply-To: <20221019150410.3851944-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

The cns3xxx platform is gone, so this driver is now orphaned.

Cc: Krzysztof Halasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/mmc/host/Kconfig         |  11 ---
 drivers/mmc/host/Makefile        |   1 -
 drivers/mmc/host/sdhci-cns3xxx.c | 113 -------------------------------
 3 files changed, 125 deletions(-)
 delete mode 100644 drivers/mmc/host/sdhci-cns3xxx.c

diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index f324daadaf70..1c5b1c48a230 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -253,17 +253,6 @@ config MMC_SDHCI_CADENCE
 
 	  If unsure, say N.
 
-config MMC_SDHCI_CNS3XXX
-	tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
-	depends on ARCH_CNS3XXX || COMPILE_TEST
-	depends on MMC_SDHCI_PLTFM
-	help
-	  This selects the SDHCI support for CNS3xxx System-on-Chip devices.
-
-	  If you have a controller with this interface, say Y or M here.
-
-	  If unsure, say N.
-
 config MMC_SDHCI_ESDHC_MCF
 	tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
 	depends on M5441x
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 4e4ceb32c4b4..7bea77c28b7e 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -77,7 +77,6 @@ obj-$(CONFIG_MMC_REALTEK_USB)	+= rtsx_usb_sdmmc.o
 
 obj-$(CONFIG_MMC_SDHCI_PLTFM)		+= sdhci-pltfm.o
 obj-$(CONFIG_MMC_SDHCI_CADENCE)		+= sdhci-cadence.o
-obj-$(CONFIG_MMC_SDHCI_CNS3XXX)		+= sdhci-cns3xxx.o
 obj-$(CONFIG_MMC_SDHCI_ESDHC_MCF)       += sdhci-esdhc-mcf.o
 obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX)	+= sdhci-esdhc-imx.o
 obj-$(CONFIG_MMC_SDHCI_DOVE)		+= sdhci-dove.o
diff --git a/drivers/mmc/host/sdhci-cns3xxx.c b/drivers/mmc/host/sdhci-cns3xxx.c
deleted file mode 100644
index 2a29c7a4f308..000000000000
--- a/drivers/mmc/host/sdhci-cns3xxx.c
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * SDHCI support for CNS3xxx SoC
- *
- * Copyright 2008 Cavium Networks
- * Copyright 2010 MontaVista Software, LLC.
- *
- * Authors: Scott Shu
- *	    Anton Vorontsov <avorontsov@mvista.com>
- */
-
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/mmc/host.h>
-#include <linux/module.h>
-#include "sdhci-pltfm.h"
-
-static unsigned int sdhci_cns3xxx_get_max_clk(struct sdhci_host *host)
-{
-	return 150000000;
-}
-
-static void sdhci_cns3xxx_set_clock(struct sdhci_host *host, unsigned int clock)
-{
-	struct device *dev = mmc_dev(host->mmc);
-	int div = 1;
-	u16 clk;
-	unsigned long timeout;
-
-	host->mmc->actual_clock = 0;
-
-	sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL);
-
-	if (clock == 0)
-		return;
-
-	while (host->max_clk / div > clock) {
-		/*
-		 * On CNS3xxx divider grows linearly up to 4, and then
-		 * exponentially up to 256.
-		 */
-		if (div < 4)
-			div += 1;
-		else if (div < 256)
-			div *= 2;
-		else
-			break;
-	}
-
-	dev_dbg(dev, "desired SD clock: %d, actual: %d\n",
-		clock, host->max_clk / div);
-
-	/* Divide by 3 is special. */
-	if (div != 3)
-		div >>= 1;
-
-	clk = div << SDHCI_DIVIDER_SHIFT;
-	clk |= SDHCI_CLOCK_INT_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-	timeout = 20;
-	while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL))
-			& SDHCI_CLOCK_INT_STABLE)) {
-		if (timeout == 0) {
-			dev_warn(dev, "clock is unstable");
-			break;
-		}
-		timeout--;
-		mdelay(1);
-	}
-
-	clk |= SDHCI_CLOCK_CARD_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-}
-
-static const struct sdhci_ops sdhci_cns3xxx_ops = {
-	.get_max_clock	= sdhci_cns3xxx_get_max_clk,
-	.set_clock	= sdhci_cns3xxx_set_clock,
-	.set_bus_width	= sdhci_set_bus_width,
-	.reset          = sdhci_reset,
-	.set_uhs_signaling = sdhci_set_uhs_signaling,
-};
-
-static const struct sdhci_pltfm_data sdhci_cns3xxx_pdata = {
-	.ops = &sdhci_cns3xxx_ops,
-	.quirks = SDHCI_QUIRK_BROKEN_DMA |
-		  SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
-		  SDHCI_QUIRK_INVERTED_WRITE_PROTECT |
-		  SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
-		  SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
-};
-
-static int sdhci_cns3xxx_probe(struct platform_device *pdev)
-{
-	return sdhci_pltfm_register(pdev, &sdhci_cns3xxx_pdata, 0);
-}
-
-static struct platform_driver sdhci_cns3xxx_driver = {
-	.driver		= {
-		.name	= "sdhci-cns3xxx",
-		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
-		.pm	= &sdhci_pltfm_pmops,
-	},
-	.probe		= sdhci_cns3xxx_probe,
-	.remove		= sdhci_pltfm_unregister,
-};
-
-module_platform_driver(sdhci_cns3xxx_driver);
-
-MODULE_DESCRIPTION("SDHCI driver for CNS3xxx");
-MODULE_AUTHOR("Scott Shu, "
-	      "Anton Vorontsov <avorontsov@mvista.com>");
-MODULE_LICENSE("GPL v2");
-- 
2.29.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: linux-arm-kernel@lists.infradead.org,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Adrian Hunter <adrian.hunter@intel.com>
Cc: linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>,
	Krzysztof Halasa <khalasa@piap.pl>,
	linux-mmc@vger.kernel.org
Subject: [PATCH 03/17] mmc: remove cns3xxx driver
Date: Wed, 19 Oct 2022 17:03:25 +0200	[thread overview]
Message-ID: <20221019150410.3851944-3-arnd@kernel.org> (raw)
In-Reply-To: <20221019150410.3851944-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb.de>

The cns3xxx platform is gone, so this driver is now orphaned.

Cc: Krzysztof Halasa <khalasa@piap.pl>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/mmc/host/Kconfig         |  11 ---
 drivers/mmc/host/Makefile        |   1 -
 drivers/mmc/host/sdhci-cns3xxx.c | 113 -------------------------------
 3 files changed, 125 deletions(-)
 delete mode 100644 drivers/mmc/host/sdhci-cns3xxx.c

diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index f324daadaf70..1c5b1c48a230 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -253,17 +253,6 @@ config MMC_SDHCI_CADENCE
 
 	  If unsure, say N.
 
-config MMC_SDHCI_CNS3XXX
-	tristate "SDHCI support on the Cavium Networks CNS3xxx SoC"
-	depends on ARCH_CNS3XXX || COMPILE_TEST
-	depends on MMC_SDHCI_PLTFM
-	help
-	  This selects the SDHCI support for CNS3xxx System-on-Chip devices.
-
-	  If you have a controller with this interface, say Y or M here.
-
-	  If unsure, say N.
-
 config MMC_SDHCI_ESDHC_MCF
 	tristate "SDHCI support for the Freescale eSDHC ColdFire controller"
 	depends on M5441x
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 4e4ceb32c4b4..7bea77c28b7e 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -77,7 +77,6 @@ obj-$(CONFIG_MMC_REALTEK_USB)	+= rtsx_usb_sdmmc.o
 
 obj-$(CONFIG_MMC_SDHCI_PLTFM)		+= sdhci-pltfm.o
 obj-$(CONFIG_MMC_SDHCI_CADENCE)		+= sdhci-cadence.o
-obj-$(CONFIG_MMC_SDHCI_CNS3XXX)		+= sdhci-cns3xxx.o
 obj-$(CONFIG_MMC_SDHCI_ESDHC_MCF)       += sdhci-esdhc-mcf.o
 obj-$(CONFIG_MMC_SDHCI_ESDHC_IMX)	+= sdhci-esdhc-imx.o
 obj-$(CONFIG_MMC_SDHCI_DOVE)		+= sdhci-dove.o
diff --git a/drivers/mmc/host/sdhci-cns3xxx.c b/drivers/mmc/host/sdhci-cns3xxx.c
deleted file mode 100644
index 2a29c7a4f308..000000000000
--- a/drivers/mmc/host/sdhci-cns3xxx.c
+++ /dev/null
@@ -1,113 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * SDHCI support for CNS3xxx SoC
- *
- * Copyright 2008 Cavium Networks
- * Copyright 2010 MontaVista Software, LLC.
- *
- * Authors: Scott Shu
- *	    Anton Vorontsov <avorontsov@mvista.com>
- */
-
-#include <linux/delay.h>
-#include <linux/device.h>
-#include <linux/mmc/host.h>
-#include <linux/module.h>
-#include "sdhci-pltfm.h"
-
-static unsigned int sdhci_cns3xxx_get_max_clk(struct sdhci_host *host)
-{
-	return 150000000;
-}
-
-static void sdhci_cns3xxx_set_clock(struct sdhci_host *host, unsigned int clock)
-{
-	struct device *dev = mmc_dev(host->mmc);
-	int div = 1;
-	u16 clk;
-	unsigned long timeout;
-
-	host->mmc->actual_clock = 0;
-
-	sdhci_writew(host, 0, SDHCI_CLOCK_CONTROL);
-
-	if (clock == 0)
-		return;
-
-	while (host->max_clk / div > clock) {
-		/*
-		 * On CNS3xxx divider grows linearly up to 4, and then
-		 * exponentially up to 256.
-		 */
-		if (div < 4)
-			div += 1;
-		else if (div < 256)
-			div *= 2;
-		else
-			break;
-	}
-
-	dev_dbg(dev, "desired SD clock: %d, actual: %d\n",
-		clock, host->max_clk / div);
-
-	/* Divide by 3 is special. */
-	if (div != 3)
-		div >>= 1;
-
-	clk = div << SDHCI_DIVIDER_SHIFT;
-	clk |= SDHCI_CLOCK_INT_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-
-	timeout = 20;
-	while (!((clk = sdhci_readw(host, SDHCI_CLOCK_CONTROL))
-			& SDHCI_CLOCK_INT_STABLE)) {
-		if (timeout == 0) {
-			dev_warn(dev, "clock is unstable");
-			break;
-		}
-		timeout--;
-		mdelay(1);
-	}
-
-	clk |= SDHCI_CLOCK_CARD_EN;
-	sdhci_writew(host, clk, SDHCI_CLOCK_CONTROL);
-}
-
-static const struct sdhci_ops sdhci_cns3xxx_ops = {
-	.get_max_clock	= sdhci_cns3xxx_get_max_clk,
-	.set_clock	= sdhci_cns3xxx_set_clock,
-	.set_bus_width	= sdhci_set_bus_width,
-	.reset          = sdhci_reset,
-	.set_uhs_signaling = sdhci_set_uhs_signaling,
-};
-
-static const struct sdhci_pltfm_data sdhci_cns3xxx_pdata = {
-	.ops = &sdhci_cns3xxx_ops,
-	.quirks = SDHCI_QUIRK_BROKEN_DMA |
-		  SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK |
-		  SDHCI_QUIRK_INVERTED_WRITE_PROTECT |
-		  SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN |
-		  SDHCI_QUIRK_BROKEN_TIMEOUT_VAL,
-};
-
-static int sdhci_cns3xxx_probe(struct platform_device *pdev)
-{
-	return sdhci_pltfm_register(pdev, &sdhci_cns3xxx_pdata, 0);
-}
-
-static struct platform_driver sdhci_cns3xxx_driver = {
-	.driver		= {
-		.name	= "sdhci-cns3xxx",
-		.probe_type = PROBE_PREFER_ASYNCHRONOUS,
-		.pm	= &sdhci_pltfm_pmops,
-	},
-	.probe		= sdhci_cns3xxx_probe,
-	.remove		= sdhci_pltfm_unregister,
-};
-
-module_platform_driver(sdhci_cns3xxx_driver);
-
-MODULE_DESCRIPTION("SDHCI driver for CNS3xxx");
-MODULE_AUTHOR("Scott Shu, "
-	      "Anton Vorontsov <avorontsov@mvista.com>");
-MODULE_LICENSE("GPL v2");
-- 
2.29.2


  parent reply	other threads:[~2022-10-19 15:24 UTC|newest]

Thread overview: 115+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-19 14:40 [PATCH 00/17] ARM: remove old board files Arnd Bergmann
2022-10-19 14:40 ` Arnd Bergmann
2022-10-19 14:40 ` Arnd Bergmann
2022-10-19 14:40 ` Arnd Bergmann
2022-10-19 15:03 ` [PATCH 01/17] ARM: at91: remove stale MAINTAINER file entries Arnd Bergmann
2022-10-19 15:03   ` Arnd Bergmann
2022-10-19 15:03   ` [PATCH 02/17] ARM: cns3xxx: remove entire platform Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-21  7:19     ` Krzysztof Hałasa
2022-10-21  7:19       ` Krzysztof Hałasa
2022-10-19 15:03   ` Arnd Bergmann [this message]
2022-10-19 15:03     ` [PATCH 03/17] mmc: remove cns3xxx driver Arnd Bergmann
2022-10-20 10:36     ` Ulf Hansson
2022-10-20 10:36       ` Ulf Hansson
2022-10-19 15:03   ` [PATCH 04/17] ARM: ep93xx: remove old board files Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-20 17:08     ` Alexander Sverdlin
2022-10-20 17:08       ` Alexander Sverdlin
2022-10-19 15:03   ` [PATCH 05/17] ASoC: remove unused ep93xx files Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:30     ` Mark Brown
2022-10-19 15:30       ` Mark Brown
2022-10-19 15:30       ` Mark Brown
2022-10-19 15:03   ` [PATCH 06/17] ARM: mv78xx0: un-deprecate Terastation WXL Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03   ` [PATCH 07/17] ARM: orion: remove unused board files Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03   ` [PATCH 08/17] ARM: orion5x: remove dsa_chip_data references Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03   ` [PATCH 09/17] ARM: iop32x: remove the platform Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 16:29     ` Dan Williams
2022-10-19 16:29       ` Dan Williams
2022-10-19 19:30     ` Wolfram Sang
2022-10-19 19:30       ` Wolfram Sang
2022-10-19 15:03   ` [PATCH 10/17] dmaengine: remove iop-adma driver Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 16:30     ` Dan Williams
2022-10-19 16:30       ` Dan Williams
2022-10-19 16:56     ` Vinod Koul
2022-10-19 16:56       ` Vinod Koul
2022-10-19 15:03   ` [PATCH 11/17] gpio: remove iop driver Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-20  7:52     ` Linus Walleij
2022-10-20  7:52       ` Linus Walleij
2022-10-20 11:35     ` Bartosz Golaszewski
2022-10-20 11:35       ` Bartosz Golaszewski
2022-10-19 15:03   ` [PATCH 12/17] ARM: footbridge: remove CATS Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 19:45     ` Linus Walleij
2022-10-19 19:45       ` Linus Walleij
2022-10-19 15:03   ` [PATCH 13/17] ARM: omap1: remove unused board files Arnd Bergmann
2022-10-19 17:15     ` Aaro Koskinen
2022-10-19 17:15       ` Aaro Koskinen
2022-10-20  7:11       ` Arnd Bergmann
2022-10-20  7:11         ` Arnd Bergmann
2022-10-20 19:35         ` Aaro Koskinen
2022-10-20 19:35           ` Aaro Koskinen
2022-10-21  6:52           ` Arnd Bergmann
2022-10-21  6:52             ` Arnd Bergmann
2022-10-21 11:11             ` Aaro Koskinen
2022-10-21 11:11               ` Aaro Koskinen
2022-10-24  5:49               ` Tony Lindgren
2022-10-24  5:49                 ` Tony Lindgren
2022-10-24 16:02                 ` Arnd Bergmann
2022-10-24 16:02                   ` Arnd Bergmann
2022-10-25  8:08                   ` Tony Lindgren
2022-10-25  8:08                     ` Tony Lindgren
2022-10-19 19:30     ` Wolfram Sang
2022-10-19 19:30       ` Wolfram Sang
2022-10-21  9:50     ` Lee Jones
2022-10-21  9:50       ` Lee Jones
2022-10-22 10:24     ` Greg Kroah-Hartman
2022-10-22 10:24       ` Greg Kroah-Hartman
2022-10-24  5:45     ` Tony Lindgren
2022-10-24  5:45       ` Tony Lindgren
2022-10-19 15:03   ` [PATCH 14/17] ARM: omap1: remove dead code Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 17:34     ` Aaro Koskinen
2022-10-19 17:34       ` Aaro Koskinen
2022-10-19 17:34       ` Aaro Koskinen
2022-10-21  7:51       ` Arnd Bergmann
2022-10-21  7:51         ` Arnd Bergmann
2022-10-21  7:51         ` Arnd Bergmann
2022-10-22 10:24     ` Greg Kroah-Hartman
2022-10-22 10:24       ` Greg Kroah-Hartman
2022-10-22 10:24       ` Greg Kroah-Hartman
2022-10-24  5:49     ` Tony Lindgren
2022-10-24  5:49       ` Tony Lindgren
2022-10-24  5:49       ` Tony Lindgren
2022-10-24 18:03     ` Kevin Hilman
2022-10-24 18:03       ` Kevin Hilman
2022-10-24 18:03       ` Kevin Hilman
2022-10-19 15:03   ` [PATCH 15/17] fbdev: omapfb: remove unused board support Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-24  5:50     ` Tony Lindgren
2022-10-24  5:50       ` Tony Lindgren
2022-10-24  5:50       ` Tony Lindgren
2022-10-19 15:03   ` [PATCH 16/17] spi: remove omap 100K driver Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-19 15:29     ` Mark Brown
2022-10-19 15:29       ` Mark Brown
2022-10-24  5:50     ` Tony Lindgren
2022-10-24  5:50       ` Tony Lindgren
2022-10-19 15:03   ` [PATCH 17/17] mfd: remove htc-i2cpld driver Arnd Bergmann
2022-10-19 15:03     ` Arnd Bergmann
2022-10-31 15:18     ` Lee Jones
2022-10-31 15:18       ` Lee Jones
2022-10-21  8:33   ` [PATCH 01/17] ARM: at91: remove stale MAINTAINER file entries Nicolas Ferre
2022-10-21  8:33     ` Nicolas Ferre
2022-10-21  9:45     ` Nicolas Ferre
2022-10-21  9:45       ` Nicolas Ferre

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=20221019150410.3851944-3-arnd@kernel.org \
    --to=arnd@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=arnd@arndb.de \
    --cc=khalasa@piap.pl \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --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.