mmc: sunxi: Move bus width configuration to a function
authorMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 16 Apr 2018 14:23:01 +0000 (16:23 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 2 May 2018 13:08:41 +0000 (15:08 +0200)
In order to improve readibility and reusability, let's move the bus width
setup to a small function called by our .set_ios hook.

Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/host/sunxi-mmc.c

index 9fdaea37aa7473c9f80257c3decaf6a6a4f3526c..c0bb75e17a448b8d21c3bc148e680d773e694b43 100644 (file)
@@ -855,6 +855,22 @@ static int sunxi_mmc_clk_set_rate(struct sunxi_mmc_host *host,
        return 0;
 }
 
+static void sunxi_mmc_set_bus_width(struct sunxi_mmc_host *host,
+                                  unsigned char width)
+{
+       switch (width) {
+       case MMC_BUS_WIDTH_1:
+               mmc_writel(host, REG_WIDTH, SDXC_WIDTH1);
+               break;
+       case MMC_BUS_WIDTH_4:
+               mmc_writel(host, REG_WIDTH, SDXC_WIDTH4);
+               break;
+       case MMC_BUS_WIDTH_8:
+               mmc_writel(host, REG_WIDTH, SDXC_WIDTH8);
+               break;
+       }
+}
+
 static void sunxi_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
 {
        struct sunxi_mmc_host *host = mmc_priv(mmc);
@@ -903,18 +919,7 @@ static void sunxi_mmc_set_ios(struct mmc_host *mmc, struct mmc_ios *ios)
                break;
        }
 
-       /* set bus width */
-       switch (ios->bus_width) {
-       case MMC_BUS_WIDTH_1:
-               mmc_writel(host, REG_WIDTH, SDXC_WIDTH1);
-               break;
-       case MMC_BUS_WIDTH_4:
-               mmc_writel(host, REG_WIDTH, SDXC_WIDTH4);
-               break;
-       case MMC_BUS_WIDTH_8:
-               mmc_writel(host, REG_WIDTH, SDXC_WIDTH8);
-               break;
-       }
+       sunxi_mmc_set_bus_width(host, ios->bus_width);
 
        /* set ddr mode */
        rval = mmc_readl(host, REG_GCTRL);