staging: mt7621-mmc: Use pinctrl subsystem to select SDXC pin mode
authorGeorge Hilliard <thirtythreeforty@gmail.com>
Tue, 19 Mar 2019 02:20:05 +0000 (20:20 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 20 Mar 2019 07:23:18 +0000 (08:23 +0100)
commit64eb131e22bd16f5875e742bdecf653cb4d6c95b
tree68dfe2ee02f621b92c5112c5690a6f94f83b37d4
parentc62a4073b243a1327160e1a095cb5448890c0e7f
staging: mt7621-mmc: Use pinctrl subsystem to select SDXC pin mode

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@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/mt7621-mmc/sd.c