Commit 84f11d5b authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Vinod Koul

mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info

Current sh_mobile_sdhi's platform data is set via sh_mobile_sdhi_info
and it is just copied to tmio_mmc_data.
Now, tmio mmc platform data is specified via tmio_mmc_data.
This patch replace sh_mobile_sdhi_info to tmio_mmc_data

struct sh_mobile_sdhi_info {      -> struct tmio_mmc_data {
        int dma_slave_tx;         ->    void            *chan_priv_tx;
        int dma_slave_rx;         ->    void            *chan_priv_rx;
        unsigned long tmio_flags; ->    unsigned long   flags;
        unsigned long tmio_caps;  ->    unsigned long   capabilities;
        unsigned long tmio_caps2; ->    unsigned long   capabilities2;
        u32 tmio_ocr_mask;        ->    u32             ocr_mask;
        unsigned int cd_gpio;     ->    unsigned int    cd_gpio;
};                                      unsigned int    hclk;
                                        void (*set_pwr)(...);
                                        void (*set_clk_div)(...);
                                      };
Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Acked-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent f33c9d65
...@@ -754,12 +754,12 @@ static struct platform_device vcc_sdhi1 = { ...@@ -754,12 +754,12 @@ static struct platform_device vcc_sdhi1 = {
}; };
/* SDHI0 */ /* SDHI0 */
static struct sh_mobile_sdhi_info sdhi0_info = { static struct tmio_mmc_data sdhi0_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
MMC_CAP_POWER_OFF_CARD, MMC_CAP_POWER_OFF_CARD,
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, .flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD,
.cd_gpio = 167, .cd_gpio = 167,
}; };
...@@ -796,12 +796,12 @@ static struct platform_device sdhi0_device = { ...@@ -796,12 +796,12 @@ static struct platform_device sdhi0_device = {
}; };
/* SDHI1 */ /* SDHI1 */
static struct sh_mobile_sdhi_info sdhi1_info = { static struct tmio_mmc_data sdhi1_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX,
.tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
MMC_CAP_POWER_OFF_CARD, MMC_CAP_POWER_OFF_CARD,
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, .flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD,
/* Port72 cannot generate IRQs, will be used in polling mode. */ /* Port72 cannot generate IRQs, will be used in polling mode. */
.cd_gpio = 72, .cd_gpio = 72,
}; };
......
...@@ -201,12 +201,12 @@ static struct rcar_phy_platform_data usb_phy_platform_data __initdata = ...@@ -201,12 +201,12 @@ static struct rcar_phy_platform_data usb_phy_platform_data __initdata =
/* SDHI */ /* SDHI */
static struct sh_mobile_sdhi_info sdhi0_info __initdata = { static struct tmio_mmc_data sdhi0_info __initdata = {
.dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX,
.tmio_caps = MMC_CAP_SD_HIGHSPEED, .capabilities = MMC_CAP_SD_HIGHSPEED,
.tmio_ocr_mask = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34, .ocr_mask = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, .flags = TMIO_MMC_HAS_IDLE_WAIT,
}; };
static struct resource sdhi0_resources[] __initdata = { static struct resource sdhi0_resources[] __initdata = {
...@@ -683,7 +683,7 @@ static void __init bockw_init(void) ...@@ -683,7 +683,7 @@ static void __init bockw_init(void)
platform_device_register_resndata( platform_device_register_resndata(
NULL, "sh_mobile_sdhi", 0, NULL, "sh_mobile_sdhi", 0,
sdhi0_resources, ARRAY_SIZE(sdhi0_resources), sdhi0_resources, ARRAY_SIZE(sdhi0_resources),
&sdhi0_info, sizeof(struct sh_mobile_sdhi_info)); &sdhi0_info, sizeof(struct tmio_mmc_data));
} }
/* for Audio */ /* for Audio */
......
...@@ -442,11 +442,11 @@ static struct platform_device vcc_sdhi2 = { ...@@ -442,11 +442,11 @@ static struct platform_device vcc_sdhi2 = {
}; };
/* SDHI */ /* SDHI */
static struct sh_mobile_sdhi_info sdhi0_info = { static struct tmio_mmc_data sdhi0_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, .flags = TMIO_MMC_HAS_IDLE_WAIT,
.tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
MMC_CAP_POWER_OFF_CARD, MMC_CAP_POWER_OFF_CARD,
}; };
...@@ -484,13 +484,13 @@ static struct platform_device sdhi0_device = { ...@@ -484,13 +484,13 @@ static struct platform_device sdhi0_device = {
}; };
/* Micro SD */ /* Micro SD */
static struct sh_mobile_sdhi_info sdhi2_info = { static struct tmio_mmc_data sdhi2_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI2_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI2_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI2_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI2_RX,
.tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | .flags = TMIO_MMC_HAS_IDLE_WAIT |
TMIO_MMC_USE_GPIO_CD | TMIO_MMC_USE_GPIO_CD |
TMIO_MMC_WRPROTECT_DISABLE, TMIO_MMC_WRPROTECT_DISABLE,
.tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_POWER_OFF_CARD, .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_POWER_OFF_CARD,
.cd_gpio = 13, .cd_gpio = 13,
}; };
......
...@@ -122,11 +122,11 @@ static struct resource sdhi0_resources[] = { ...@@ -122,11 +122,11 @@ static struct resource sdhi0_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sdhi0_platform_data = { static struct tmio_mmc_data sdhi0_platform_data = {
.dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX,
.tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, .flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT,
.tmio_caps = MMC_CAP_SD_HIGHSPEED, .capabilities = MMC_CAP_SD_HIGHSPEED,
}; };
static struct platform_device sdhi0_device = { static struct platform_device sdhi0_device = {
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/spi/spi.h> #include <linux/spi/spi.h>
#include <linux/spi/flash.h> #include <linux/spi/flash.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/mfd/tmio.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
#include <linux/mmc/sh_mmcif.h> #include <linux/mmc/sh_mmcif.h>
#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/mmc/sh_mobile_sdhi.h>
...@@ -243,10 +244,10 @@ static struct platform_device sh_mmcif_device = { ...@@ -243,10 +244,10 @@ static struct platform_device sh_mmcif_device = {
}; };
/* SDHI0 */ /* SDHI0 */
static struct sh_mobile_sdhi_info sdhi_info = { static struct tmio_mmc_data sdhi_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI_RX,
.tmio_caps = MMC_CAP_SD_HIGHSPEED, .capabilities = MMC_CAP_SD_HIGHSPEED,
}; };
static struct resource sdhi_resources[] = { static struct resource sdhi_resources[] = {
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/mtd/sh_flctl.h> #include <linux/mtd/sh_flctl.h>
#include <linux/mfd/tmio.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h>
...@@ -447,8 +448,8 @@ static struct resource sdhi0_cn3_resources[] = { ...@@ -447,8 +448,8 @@ static struct resource sdhi0_cn3_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sdhi0_cn3_data = { static struct tmio_mmc_data sdhi0_cn3_data = {
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device sdhi0_cn3_device = { static struct platform_device sdhi0_cn3_device = {
...@@ -474,8 +475,8 @@ static struct resource sdhi1_cn7_resources[] = { ...@@ -474,8 +475,8 @@ static struct resource sdhi1_cn7_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sdhi1_cn7_data = { static struct tmio_mmc_data sdhi1_cn7_data = {
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device sdhi1_cn7_device = { static struct platform_device sdhi1_cn7_device = {
......
...@@ -601,12 +601,12 @@ static struct platform_device sdhi0_power = { ...@@ -601,12 +601,12 @@ static struct platform_device sdhi0_power = {
}, },
}; };
static struct sh_mobile_sdhi_info sdhi0_info = { static struct tmio_mmc_data sdhi0_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_caps = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | .capabilities = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
MMC_CAP_NEEDS_POLL, MMC_CAP_NEEDS_POLL,
.tmio_flags = TMIO_MMC_USE_GPIO_CD, .flags = TMIO_MMC_USE_GPIO_CD,
.cd_gpio = GPIO_PTY7, .cd_gpio = GPIO_PTY7,
}; };
...@@ -635,12 +635,12 @@ static struct platform_device sdhi0_device = { ...@@ -635,12 +635,12 @@ static struct platform_device sdhi0_device = {
#if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE) #if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
/* SDHI1 */ /* SDHI1 */
static struct sh_mobile_sdhi_info sdhi1_info = { static struct tmio_mmc_data sdhi1_info = {
.dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX,
.tmio_caps = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | .capabilities = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
MMC_CAP_NEEDS_POLL, MMC_CAP_NEEDS_POLL,
.tmio_flags = TMIO_MMC_USE_GPIO_CD, .flags = TMIO_MMC_USE_GPIO_CD,
.cd_gpio = GPIO_PTW7, .cd_gpio = GPIO_PTW7,
}; };
......
...@@ -373,11 +373,11 @@ static struct resource kfr2r09_sh_sdhi0_resources[] = { ...@@ -373,11 +373,11 @@ static struct resource kfr2r09_sh_sdhi0_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sh7724_sdhi0_data = { static struct tmio_mmc_data sh7724_sdhi0_data = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_flags = TMIO_MMC_WRPROTECT_DISABLE, .flags = TMIO_MMC_WRPROTECT_DISABLE,
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device kfr2r09_sh_sdhi0_device = { static struct platform_device kfr2r09_sh_sdhi0_device = {
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/mfd/tmio.h>
#include <linux/mtd/nand.h> #include <linux/mtd/nand.h>
#include <linux/i2c.h> #include <linux/i2c.h>
#include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h>
...@@ -408,10 +409,10 @@ static struct resource sdhi_cn9_resources[] = { ...@@ -408,10 +409,10 @@ static struct resource sdhi_cn9_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sh7724_sdhi_data = { static struct tmio_mmc_data sh7724_sdhi_data = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device sdhi_cn9_device = { static struct platform_device sdhi_cn9_device = {
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/mmc/host.h> #include <linux/mmc/host.h>
#include <linux/mmc/sh_mobile_sdhi.h> #include <linux/mmc/sh_mobile_sdhi.h>
#include <linux/mfd/tmio.h>
#include <linux/mtd/physmap.h> #include <linux/mtd/physmap.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/regulator/fixed.h> #include <linux/regulator/fixed.h>
...@@ -468,10 +469,10 @@ static struct resource sdhi0_cn7_resources[] = { ...@@ -468,10 +469,10 @@ static struct resource sdhi0_cn7_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sh7724_sdhi0_data = { static struct tmio_mmc_data sh7724_sdhi0_data = {
.dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX,
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device sdhi0_cn7_device = { static struct platform_device sdhi0_cn7_device = {
...@@ -497,10 +498,10 @@ static struct resource sdhi1_cn8_resources[] = { ...@@ -497,10 +498,10 @@ static struct resource sdhi1_cn8_resources[] = {
}, },
}; };
static struct sh_mobile_sdhi_info sh7724_sdhi1_data = { static struct tmio_mmc_data sh7724_sdhi1_data = {
.dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX,
.dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX,
.tmio_caps = MMC_CAP_SDIO_IRQ, .capabilities = MMC_CAP_SDIO_IRQ,
}; };
static struct platform_device sdhi1_cn8_device = { static struct platform_device sdhi1_cn8_device = {
......
...@@ -202,7 +202,6 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev) ...@@ -202,7 +202,6 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
struct sh_mobile_sdhi *priv; struct sh_mobile_sdhi *priv;
struct tmio_mmc_data *mmc_data; struct tmio_mmc_data *mmc_data;
struct tmio_mmc_data *mmd = pdev->dev.platform_data; struct tmio_mmc_data *mmd = pdev->dev.platform_data;
struct sh_mobile_sdhi_info *p = pdev->dev.platform_data;
struct tmio_mmc_host *host; struct tmio_mmc_host *host;
struct resource *res; struct resource *res;
int irq, ret, i = 0; int irq, ret, i = 0;
...@@ -246,32 +245,9 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev) ...@@ -246,32 +245,9 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
else else
host->bus_shift = 0; host->bus_shift = 0;
if (mmd) { if (mmd)
/*
* FIXME
*
* sh_mobile_sdhi_info will be replaced to tmio_mmc_data soon.
* But, sh_mobile_sdhi_info is used under
* ${LINUX}/arch/arm/mach-shmobile/
* ${LINUX}/arch/sh/
* To separate large patch into "tmio_mmc_data has .chan_priv_?x"
* and "replace sh_mobile_sdhi_info in tmio_mmc_data",
* here has dummy method.
* These should be removed.
*/
struct tmio_mmc_data m;
mmd = &m;
m.flags = p->tmio_flags;
m.ocr_mask = p->tmio_ocr_mask;
m.capabilities = p->tmio_caps;
m.capabilities2 = p->tmio_caps2;
m.cd_gpio = p->cd_gpio;
m.chan_priv_tx = (void *)p->dma_slave_tx;
m.chan_priv_rx = (void *)p->dma_slave_rx;
*mmc_data = *mmd; *mmc_data = *mmd;
}
dma_priv->filter = shdma_chan_filter; dma_priv->filter = shdma_chan_filter;
dma_priv->enable = sh_mobile_sdhi_enable_dma; dma_priv->enable = sh_mobile_sdhi_enable_dma;
......
...@@ -7,14 +7,4 @@ ...@@ -7,14 +7,4 @@
#define SH_MOBILE_SDHI_IRQ_SDCARD "sdcard" #define SH_MOBILE_SDHI_IRQ_SDCARD "sdcard"
#define SH_MOBILE_SDHI_IRQ_SDIO "sdio" #define SH_MOBILE_SDHI_IRQ_SDIO "sdio"
struct sh_mobile_sdhi_info {
int dma_slave_tx;
int dma_slave_rx;
unsigned long tmio_flags;
unsigned long tmio_caps;
unsigned long tmio_caps2;
u32 tmio_ocr_mask; /* available MMC voltages */
unsigned int cd_gpio;
};
#endif /* LINUX_MMC_SH_MOBILE_SDHI_H */ #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment