[PATCH v2 04/11] staging: mt7621-mmc: Use pinctrl subsystem to select SDXC pin mode

From: George Hilliard
Date: Mon Mar 18 2019 - 22:20:43 EST


The driver previously grabbed the SD pins for itself, ignoring the pin
controller. Remove this, and allow the pinctrl subsystem to set up the
pins using the device tree mappings. This allows this driver to work on
related devices that have a different pin controller mapping, such as
the MT7688. The hardcoded bit index was incorrect on that device.

The driver now needs a pin controller reference in its device tree node:

sdhci: /* ... */ {
compatible = "ralink,mt7620-sdhci";

pinctrl-names = "default";
pinctrl-0 = <&sdhci_pins>;

// ...
};

This change could break SD controller functionality on existing devices
whose device trees do not specify a pin controller and state for the SD
node.

Signed-off-by: George Hilliard <thirtythreeforty@xxxxxxxxx>
---
drivers/staging/mt7621-mmc/sd.c | 6 ------
1 file changed, 6 deletions(-)

diff --git a/drivers/staging/mt7621-mmc/sd.c b/drivers/staging/mt7621-mmc/sd.c
index 306b3b46f7c9..4380b321bc73 100644
--- a/drivers/staging/mt7621-mmc/sd.c
+++ b/drivers/staging/mt7621-mmc/sd.c
@@ -1820,12 +1820,6 @@ static struct platform_driver mt_msdc_driver = {
static int __init mt_msdc_init(void)
{
int ret;
- u32 reg;
-
- // Set the pins for sdxc to sdxc mode
- //FIXME: this should be done by pinctl and not by the sd driver
- reg = readl((void __iomem *)(RALINK_SYSCTL_BASE + 0x60)) & ~(0x3 << 18);
- writel(reg, (void __iomem *)(RALINK_SYSCTL_BASE + 0x60));

ret = platform_driver_register(&mt_msdc_driver);
if (ret) {
--
2.21.0