mmc: sunxi: Honour non-removable property in DT
authorAndre Przywara <andre.przywara@arm.com>
Sat, 19 Jan 2019 01:30:53 +0000 (01:30 +0000)
committerJagan Teki <jagan@amarulasolutions.com>
Tue, 29 Jan 2019 18:19:41 +0000 (23:49 +0530)
If a board DT describes a cd-gpios property, but also marks the storage
as non-removable, we must ignore the GPIO (as Linux does).

Teach the DM_MMC part of the Allwinner MMC driver about the
non-removable DT property, to fix DM_MMC access on the SoPine and
Pine64-LTS board.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Acked-by: Jagan Teki <jagan@openedev.com>
drivers/mmc/sunxi_mmc.c

index 488e77288185ecd63b34b851d2d87eec09928fd3..9f426661c49d98f38b2c0e4501c35f990135df05 100644 (file)
@@ -658,7 +658,8 @@ static int sunxi_mmc_probe(struct udevice *dev)
                return ret;
 
        /* This GPIO is optional */
-       if (!gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
+       if (!dev_read_bool(dev, "non-removable") &&
+           !gpio_request_by_name(dev, "cd-gpios", 0, &priv->cd_gpio,
                                  GPIOD_IS_IN)) {
                int cd_pin = gpio_get_number(&priv->cd_gpio);