diff mbox

[2/2] mmc: sh_mobile_sdhi: remove sh_mobile_sdhi_info

Message ID 8761as12ox.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State Accepted
Delegated to: Geert Uytterhoeven
Headers show

Commit Message

Kuninori Morimoto Feb. 24, 2015, 2:07 a.m. UTC
From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

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: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
---
 arch/arm/mach-shmobile/board-armadillo800eva.c |   20 ++++++++---------
 arch/arm/mach-shmobile/board-bockw.c           |   14 ++++++------
 arch/arm/mach-shmobile/board-kzm9g.c           |   20 ++++++++---------
 arch/arm/mach-shmobile/board-marzen.c          |   10 ++++-----
 arch/sh/boards/board-sh7757lcr.c               |    9 ++++----
 arch/sh/boards/mach-ap325rxa/setup.c           |    9 ++++----
 arch/sh/boards/mach-ecovec24/setup.c           |   20 ++++++++---------
 arch/sh/boards/mach-kfr2r09/setup.c            |   10 ++++-----
 arch/sh/boards/mach-migor/setup.c              |    9 ++++----
 arch/sh/boards/mach-se/7724/setup.c            |   17 +++++++-------
 drivers/mmc/host/sh_mobile_sdhi.c              |   28 ++----------------------
 include/linux/mmc/sh_mobile_sdhi.h             |   10 ---------
 12 files changed, 73 insertions(+), 103 deletions(-)

Comments

Ulf Hansson March 5, 2015, 9:59 a.m. UTC | #1
On 24 February 2015 at 03:07, Kuninori Morimoto
<kuninori.morimoto.gx@renesas.com> wrote:
> From: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
>
> 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: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>

For the mmc parts,

Acked-by: Ulf Hansson <ulf.hansson@linaro.org>

> ---
>  arch/arm/mach-shmobile/board-armadillo800eva.c |   20 ++++++++---------
>  arch/arm/mach-shmobile/board-bockw.c           |   14 ++++++------
>  arch/arm/mach-shmobile/board-kzm9g.c           |   20 ++++++++---------
>  arch/arm/mach-shmobile/board-marzen.c          |   10 ++++-----
>  arch/sh/boards/board-sh7757lcr.c               |    9 ++++----
>  arch/sh/boards/mach-ap325rxa/setup.c           |    9 ++++----
>  arch/sh/boards/mach-ecovec24/setup.c           |   20 ++++++++---------
>  arch/sh/boards/mach-kfr2r09/setup.c            |   10 ++++-----
>  arch/sh/boards/mach-migor/setup.c              |    9 ++++----
>  arch/sh/boards/mach-se/7724/setup.c            |   17 +++++++-------
>  drivers/mmc/host/sh_mobile_sdhi.c              |   28 ++----------------------
>  include/linux/mmc/sh_mobile_sdhi.h             |   10 ---------
>  12 files changed, 73 insertions(+), 103 deletions(-)
>
> diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
> index 6d949f1..7eac846 100644
> --- a/arch/arm/mach-shmobile/board-armadillo800eva.c
> +++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
> @@ -754,12 +754,12 @@ static struct platform_device vcc_sdhi1 = {
>  };
>
>  /* SDHI0 */
> -static struct sh_mobile_sdhi_info sdhi0_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_caps      = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
> +static struct tmio_mmc_data sdhi0_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .capabilities   = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
>                           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,
>  };
>
> @@ -796,12 +796,12 @@ static struct platform_device sdhi0_device = {
>  };
>
>  /* SDHI1 */
> -static struct sh_mobile_sdhi_info sdhi1_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI1_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI1_RX,
> -       .tmio_caps      = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
> +static struct tmio_mmc_data sdhi1_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI1_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI1_RX,
> +       .capabilities   = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
>                           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. */
>         .cd_gpio        = 72,
>  };
> diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
> index f27b5a8..25558d1 100644
> --- a/arch/arm/mach-shmobile/board-bockw.c
> +++ b/arch/arm/mach-shmobile/board-bockw.c
> @@ -201,12 +201,12 @@ static struct rcar_phy_platform_data usb_phy_platform_data __initdata =
>
>
>  /* SDHI */
> -static struct sh_mobile_sdhi_info sdhi0_info __initdata = {
> -       .dma_slave_tx   = HPBDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = HPBDMA_SLAVE_SDHI0_RX,
> -       .tmio_caps      = MMC_CAP_SD_HIGHSPEED,
> -       .tmio_ocr_mask  = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
> -       .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT,
> +static struct tmio_mmc_data sdhi0_info __initdata = {
> +       .chan_priv_tx   = (void *)HPBDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)HPBDMA_SLAVE_SDHI0_RX,
> +       .capabilities   = MMC_CAP_SD_HIGHSPEED,
> +       .ocr_mask       = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
> +       .flags          = TMIO_MMC_HAS_IDLE_WAIT,
>  };
>
>  static struct resource sdhi0_resources[] __initdata = {
> @@ -683,7 +683,7 @@ static void __init bockw_init(void)
>                 platform_device_register_resndata(
>                         NULL, "sh_mobile_sdhi", 0,
>                         sdhi0_resources, ARRAY_SIZE(sdhi0_resources),
> -                       &sdhi0_info, sizeof(struct sh_mobile_sdhi_info));
> +                       &sdhi0_info, sizeof(struct tmio_mmc_data));
>         }
>
>         /* for Audio */
> diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
> index 7c9b63b..260d831 100644
> --- a/arch/arm/mach-shmobile/board-kzm9g.c
> +++ b/arch/arm/mach-shmobile/board-kzm9g.c
> @@ -442,11 +442,11 @@ static struct platform_device vcc_sdhi2 = {
>  };
>
>  /* SDHI */
> -static struct sh_mobile_sdhi_info sdhi0_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT,
> -       .tmio_caps      = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
> +static struct tmio_mmc_data sdhi0_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .flags          = TMIO_MMC_HAS_IDLE_WAIT,
> +       .capabilities   = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
>                           MMC_CAP_POWER_OFF_CARD,
>  };
>
> @@ -484,13 +484,13 @@ static struct platform_device sdhi0_device = {
>  };
>
>  /* Micro SD */
> -static struct sh_mobile_sdhi_info sdhi2_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI2_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI2_RX,
> -       .tmio_flags     = TMIO_MMC_HAS_IDLE_WAIT |
> +static struct tmio_mmc_data sdhi2_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI2_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI2_RX,
> +       .flags          = TMIO_MMC_HAS_IDLE_WAIT |
>                           TMIO_MMC_USE_GPIO_CD |
>                           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,
>  };
>
> diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
> index 598f704..51db288 100644
> --- a/arch/arm/mach-shmobile/board-marzen.c
> +++ b/arch/arm/mach-shmobile/board-marzen.c
> @@ -122,11 +122,11 @@ static struct resource sdhi0_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sdhi0_platform_data = {
> -       .dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX,
> -       .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT,
> -       .tmio_caps = MMC_CAP_SD_HIGHSPEED,
> +static struct tmio_mmc_data sdhi0_platform_data = {
> +       .chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX,
> +       .flags        = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT,
> +       .capabilities = MMC_CAP_SD_HIGHSPEED,
>  };
>
>  static struct platform_device sdhi0_device = {
> diff --git a/arch/sh/boards/board-sh7757lcr.c b/arch/sh/boards/board-sh7757lcr.c
> index 669df51..324599b 100644
> --- a/arch/sh/boards/board-sh7757lcr.c
> +++ b/arch/sh/boards/board-sh7757lcr.c
> @@ -17,6 +17,7 @@
>  #include <linux/spi/spi.h>
>  #include <linux/spi/flash.h>
>  #include <linux/io.h>
> +#include <linux/mfd/tmio.h>
>  #include <linux/mmc/host.h>
>  #include <linux/mmc/sh_mmcif.h>
>  #include <linux/mmc/sh_mobile_sdhi.h>
> @@ -243,10 +244,10 @@ static struct platform_device sh_mmcif_device = {
>  };
>
>  /* SDHI0 */
> -static struct sh_mobile_sdhi_info sdhi_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI_RX,
> -       .tmio_caps      = MMC_CAP_SD_HIGHSPEED,
> +static struct tmio_mmc_data sdhi_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI_RX,
> +       .capabilities   = MMC_CAP_SD_HIGHSPEED,
>  };
>
>  static struct resource sdhi_resources[] = {
> diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c
> index d4b01d4c..cbd2a9f 100644
> --- a/arch/sh/boards/mach-ap325rxa/setup.c
> +++ b/arch/sh/boards/mach-ap325rxa/setup.c
> @@ -18,6 +18,7 @@
>  #include <linux/mmc/sh_mobile_sdhi.h>
>  #include <linux/mtd/physmap.h>
>  #include <linux/mtd/sh_flctl.h>
> +#include <linux/mfd/tmio.h>
>  #include <linux/delay.h>
>  #include <linux/i2c.h>
>  #include <linux/regulator/fixed.h>
> @@ -447,8 +448,8 @@ static struct resource sdhi0_cn3_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sdhi0_cn3_data = {
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sdhi0_cn3_data = {
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device sdhi0_cn3_device = {
> @@ -474,8 +475,8 @@ static struct resource sdhi1_cn7_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sdhi1_cn7_data = {
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sdhi1_cn7_data = {
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device sdhi1_cn7_device = {
> diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
> index 0d30492..d531791 100644
> --- a/arch/sh/boards/mach-ecovec24/setup.c
> +++ b/arch/sh/boards/mach-ecovec24/setup.c
> @@ -601,12 +601,12 @@ static struct platform_device sdhi0_power = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sdhi0_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
> +static struct tmio_mmc_data sdhi0_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .capabilities   = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
>                           MMC_CAP_NEEDS_POLL,
> -       .tmio_flags     = TMIO_MMC_USE_GPIO_CD,
> +       .flags          = TMIO_MMC_USE_GPIO_CD,
>         .cd_gpio        = GPIO_PTY7,
>  };
>
> @@ -635,12 +635,12 @@ static struct platform_device sdhi0_device = {
>
>  #if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
>  /* SDHI1 */
> -static struct sh_mobile_sdhi_info sdhi1_info = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI1_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI1_RX,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
> +static struct tmio_mmc_data sdhi1_info = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI1_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI1_RX,
> +       .capabilities   = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
>                           MMC_CAP_NEEDS_POLL,
> -       .tmio_flags     = TMIO_MMC_USE_GPIO_CD,
> +       .flags          = TMIO_MMC_USE_GPIO_CD,
>         .cd_gpio        = GPIO_PTW7,
>  };
>
> diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c
> index 1df4398..7d997ce 100644
> --- a/arch/sh/boards/mach-kfr2r09/setup.c
> +++ b/arch/sh/boards/mach-kfr2r09/setup.c
> @@ -373,11 +373,11 @@ static struct resource kfr2r09_sh_sdhi0_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sh7724_sdhi0_data = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_flags     = TMIO_MMC_WRPROTECT_DISABLE,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sh7724_sdhi0_data = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .flags          = TMIO_MMC_WRPROTECT_DISABLE,
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device kfr2r09_sh_sdhi0_device = {
> diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
> index 8b73194..29b7c0d 100644
> --- a/arch/sh/boards/mach-migor/setup.c
> +++ b/arch/sh/boards/mach-migor/setup.c
> @@ -15,6 +15,7 @@
>  #include <linux/mmc/host.h>
>  #include <linux/mmc/sh_mobile_sdhi.h>
>  #include <linux/mtd/physmap.h>
> +#include <linux/mfd/tmio.h>
>  #include <linux/mtd/nand.h>
>  #include <linux/i2c.h>
>  #include <linux/regulator/fixed.h>
> @@ -408,10 +409,10 @@ static struct resource sdhi_cn9_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sh7724_sdhi_data = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sh7724_sdhi_data = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device sdhi_cn9_device = {
> diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
> index 1162bc6..4f6635a 100644
> --- a/arch/sh/boards/mach-se/7724/setup.c
> +++ b/arch/sh/boards/mach-se/7724/setup.c
> @@ -16,6 +16,7 @@
>  #include <linux/platform_device.h>
>  #include <linux/mmc/host.h>
>  #include <linux/mmc/sh_mobile_sdhi.h>
> +#include <linux/mfd/tmio.h>
>  #include <linux/mtd/physmap.h>
>  #include <linux/delay.h>
>  #include <linux/regulator/fixed.h>
> @@ -468,10 +469,10 @@ static struct resource sdhi0_cn7_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sh7724_sdhi0_data = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI0_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI0_RX,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sh7724_sdhi0_data = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI0_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI0_RX,
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device sdhi0_cn7_device = {
> @@ -497,10 +498,10 @@ static struct resource sdhi1_cn8_resources[] = {
>         },
>  };
>
> -static struct sh_mobile_sdhi_info sh7724_sdhi1_data = {
> -       .dma_slave_tx   = SHDMA_SLAVE_SDHI1_TX,
> -       .dma_slave_rx   = SHDMA_SLAVE_SDHI1_RX,
> -       .tmio_caps      = MMC_CAP_SDIO_IRQ,
> +static struct tmio_mmc_data sh7724_sdhi1_data = {
> +       .chan_priv_tx   = (void *)SHDMA_SLAVE_SDHI1_TX,
> +       .chan_priv_rx   = (void *)SHDMA_SLAVE_SDHI1_RX,
> +       .capabilities   = MMC_CAP_SDIO_IRQ,
>  };
>
>  static struct platform_device sdhi1_cn8_device = {
> diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
> index 3137e29..354f4f3 100644
> --- a/drivers/mmc/host/sh_mobile_sdhi.c
> +++ b/drivers/mmc/host/sh_mobile_sdhi.c
> @@ -202,7 +202,6 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
>         struct sh_mobile_sdhi *priv;
>         struct tmio_mmc_data *mmc_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 resource *res;
>         int irq, ret, i = 0;
> @@ -246,32 +245,9 @@ static int sh_mobile_sdhi_probe(struct platform_device *pdev)
>         else
>                 host->bus_shift = 0;
>
> -       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;
> -
> +       if (mmd)
>                 *mmc_data = *mmd;
> -       }
> +
>         dma_priv->filter = shdma_chan_filter;
>         dma_priv->enable = sh_mobile_sdhi_enable_dma;
>
> diff --git a/include/linux/mmc/sh_mobile_sdhi.h b/include/linux/mmc/sh_mobile_sdhi.h
> index da77e5e20..95d6f03 100644
> --- a/include/linux/mmc/sh_mobile_sdhi.h
> +++ b/include/linux/mmc/sh_mobile_sdhi.h
> @@ -7,14 +7,4 @@
>  #define SH_MOBILE_SDHI_IRQ_SDCARD      "sdcard"
>  #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 */
> --
> 1.7.9.5
>
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index 6d949f1..7eac846 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -754,12 +754,12 @@  static struct platform_device vcc_sdhi1 = {
 };
 
 /* SDHI0 */
-static struct sh_mobile_sdhi_info sdhi0_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_caps	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
+static struct tmio_mmc_data sdhi0_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
 			  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,
 };
 
@@ -796,12 +796,12 @@  static struct platform_device sdhi0_device = {
 };
 
 /* SDHI1 */
-static struct sh_mobile_sdhi_info sdhi1_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI1_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI1_RX,
-	.tmio_caps	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
+static struct tmio_mmc_data sdhi1_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI1_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI1_RX,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
 			  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. */
 	.cd_gpio	= 72,
 };
diff --git a/arch/arm/mach-shmobile/board-bockw.c b/arch/arm/mach-shmobile/board-bockw.c
index f27b5a8..25558d1 100644
--- a/arch/arm/mach-shmobile/board-bockw.c
+++ b/arch/arm/mach-shmobile/board-bockw.c
@@ -201,12 +201,12 @@  static struct rcar_phy_platform_data usb_phy_platform_data __initdata =
 
 
 /* SDHI */
-static struct sh_mobile_sdhi_info sdhi0_info __initdata = {
-	.dma_slave_tx	= HPBDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= HPBDMA_SLAVE_SDHI0_RX,
-	.tmio_caps	= MMC_CAP_SD_HIGHSPEED,
-	.tmio_ocr_mask	= MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT,
+static struct tmio_mmc_data sdhi0_info __initdata = {
+	.chan_priv_tx	= (void *)HPBDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)HPBDMA_SLAVE_SDHI0_RX,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED,
+	.ocr_mask	= MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34,
+	.flags		= TMIO_MMC_HAS_IDLE_WAIT,
 };
 
 static struct resource sdhi0_resources[] __initdata = {
@@ -683,7 +683,7 @@  static void __init bockw_init(void)
 		platform_device_register_resndata(
 			NULL, "sh_mobile_sdhi", 0,
 			sdhi0_resources, ARRAY_SIZE(sdhi0_resources),
-			&sdhi0_info, sizeof(struct sh_mobile_sdhi_info));
+			&sdhi0_info, sizeof(struct tmio_mmc_data));
 	}
 
 	/* for Audio */
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
index 7c9b63b..260d831 100644
--- a/arch/arm/mach-shmobile/board-kzm9g.c
+++ b/arch/arm/mach-shmobile/board-kzm9g.c
@@ -442,11 +442,11 @@  static struct platform_device vcc_sdhi2 = {
 };
 
 /* SDHI */
-static struct sh_mobile_sdhi_info sdhi0_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT,
-	.tmio_caps	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
+static struct tmio_mmc_data sdhi0_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.flags		= TMIO_MMC_HAS_IDLE_WAIT,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ |
 			  MMC_CAP_POWER_OFF_CARD,
 };
 
@@ -484,13 +484,13 @@  static struct platform_device sdhi0_device = {
 };
 
 /* Micro SD */
-static struct sh_mobile_sdhi_info sdhi2_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI2_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI2_RX,
-	.tmio_flags	= TMIO_MMC_HAS_IDLE_WAIT |
+static struct tmio_mmc_data sdhi2_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI2_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI2_RX,
+	.flags		= TMIO_MMC_HAS_IDLE_WAIT |
 			  TMIO_MMC_USE_GPIO_CD |
 			  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,
 };
 
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
index 598f704..51db288 100644
--- a/arch/arm/mach-shmobile/board-marzen.c
+++ b/arch/arm/mach-shmobile/board-marzen.c
@@ -122,11 +122,11 @@  static struct resource sdhi0_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sdhi0_platform_data = {
-	.dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX,
-	.tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT,
-	.tmio_caps = MMC_CAP_SD_HIGHSPEED,
+static struct tmio_mmc_data sdhi0_platform_data = {
+	.chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX,
+	.flags        = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT,
+	.capabilities = MMC_CAP_SD_HIGHSPEED,
 };
 
 static struct platform_device sdhi0_device = {
diff --git a/arch/sh/boards/board-sh7757lcr.c b/arch/sh/boards/board-sh7757lcr.c
index 669df51..324599b 100644
--- a/arch/sh/boards/board-sh7757lcr.c
+++ b/arch/sh/boards/board-sh7757lcr.c
@@ -17,6 +17,7 @@ 
 #include <linux/spi/spi.h>
 #include <linux/spi/flash.h>
 #include <linux/io.h>
+#include <linux/mfd/tmio.h>
 #include <linux/mmc/host.h>
 #include <linux/mmc/sh_mmcif.h>
 #include <linux/mmc/sh_mobile_sdhi.h>
@@ -243,10 +244,10 @@  static struct platform_device sh_mmcif_device = {
 };
 
 /* SDHI0 */
-static struct sh_mobile_sdhi_info sdhi_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI_RX,
-	.tmio_caps	= MMC_CAP_SD_HIGHSPEED,
+static struct tmio_mmc_data sdhi_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI_RX,
+	.capabilities	= MMC_CAP_SD_HIGHSPEED,
 };
 
 static struct resource sdhi_resources[] = {
diff --git a/arch/sh/boards/mach-ap325rxa/setup.c b/arch/sh/boards/mach-ap325rxa/setup.c
index d4b01d4c..cbd2a9f 100644
--- a/arch/sh/boards/mach-ap325rxa/setup.c
+++ b/arch/sh/boards/mach-ap325rxa/setup.c
@@ -18,6 +18,7 @@ 
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <linux/mtd/physmap.h>
 #include <linux/mtd/sh_flctl.h>
+#include <linux/mfd/tmio.h>
 #include <linux/delay.h>
 #include <linux/i2c.h>
 #include <linux/regulator/fixed.h>
@@ -447,8 +448,8 @@  static struct resource sdhi0_cn3_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sdhi0_cn3_data = {
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sdhi0_cn3_data = {
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device sdhi0_cn3_device = {
@@ -474,8 +475,8 @@  static struct resource sdhi1_cn7_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sdhi1_cn7_data = {
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sdhi1_cn7_data = {
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device sdhi1_cn7_device = {
diff --git a/arch/sh/boards/mach-ecovec24/setup.c b/arch/sh/boards/mach-ecovec24/setup.c
index 0d30492..d531791 100644
--- a/arch/sh/boards/mach-ecovec24/setup.c
+++ b/arch/sh/boards/mach-ecovec24/setup.c
@@ -601,12 +601,12 @@  static struct platform_device sdhi0_power = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sdhi0_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
+static struct tmio_mmc_data sdhi0_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.capabilities	= MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
 			  MMC_CAP_NEEDS_POLL,
-	.tmio_flags	= TMIO_MMC_USE_GPIO_CD,
+	.flags		= TMIO_MMC_USE_GPIO_CD,
 	.cd_gpio	= GPIO_PTY7,
 };
 
@@ -635,12 +635,12 @@  static struct platform_device sdhi0_device = {
 
 #if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE)
 /* SDHI1 */
-static struct sh_mobile_sdhi_info sdhi1_info = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI1_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI1_RX,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
+static struct tmio_mmc_data sdhi1_info = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI1_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI1_RX,
+	.capabilities	= MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD |
 			  MMC_CAP_NEEDS_POLL,
-	.tmio_flags	= TMIO_MMC_USE_GPIO_CD,
+	.flags		= TMIO_MMC_USE_GPIO_CD,
 	.cd_gpio	= GPIO_PTW7,
 };
 
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c
index 1df4398..7d997ce 100644
--- a/arch/sh/boards/mach-kfr2r09/setup.c
+++ b/arch/sh/boards/mach-kfr2r09/setup.c
@@ -373,11 +373,11 @@  static struct resource kfr2r09_sh_sdhi0_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sh7724_sdhi0_data = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_flags	= TMIO_MMC_WRPROTECT_DISABLE,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sh7724_sdhi0_data = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.flags		= TMIO_MMC_WRPROTECT_DISABLE,
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device kfr2r09_sh_sdhi0_device = {
diff --git a/arch/sh/boards/mach-migor/setup.c b/arch/sh/boards/mach-migor/setup.c
index 8b73194..29b7c0d 100644
--- a/arch/sh/boards/mach-migor/setup.c
+++ b/arch/sh/boards/mach-migor/setup.c
@@ -15,6 +15,7 @@ 
 #include <linux/mmc/host.h>
 #include <linux/mmc/sh_mobile_sdhi.h>
 #include <linux/mtd/physmap.h>
+#include <linux/mfd/tmio.h>
 #include <linux/mtd/nand.h>
 #include <linux/i2c.h>
 #include <linux/regulator/fixed.h>
@@ -408,10 +409,10 @@  static struct resource sdhi_cn9_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sh7724_sdhi_data = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sh7724_sdhi_data = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device sdhi_cn9_device = {
diff --git a/arch/sh/boards/mach-se/7724/setup.c b/arch/sh/boards/mach-se/7724/setup.c
index 1162bc6..4f6635a 100644
--- a/arch/sh/boards/mach-se/7724/setup.c
+++ b/arch/sh/boards/mach-se/7724/setup.c
@@ -16,6 +16,7 @@ 
 #include <linux/platform_device.h>
 #include <linux/mmc/host.h>
 #include <linux/mmc/sh_mobile_sdhi.h>
+#include <linux/mfd/tmio.h>
 #include <linux/mtd/physmap.h>
 #include <linux/delay.h>
 #include <linux/regulator/fixed.h>
@@ -468,10 +469,10 @@  static struct resource sdhi0_cn7_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sh7724_sdhi0_data = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI0_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI0_RX,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sh7724_sdhi0_data = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI0_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI0_RX,
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device sdhi0_cn7_device = {
@@ -497,10 +498,10 @@  static struct resource sdhi1_cn8_resources[] = {
 	},
 };
 
-static struct sh_mobile_sdhi_info sh7724_sdhi1_data = {
-	.dma_slave_tx	= SHDMA_SLAVE_SDHI1_TX,
-	.dma_slave_rx	= SHDMA_SLAVE_SDHI1_RX,
-	.tmio_caps      = MMC_CAP_SDIO_IRQ,
+static struct tmio_mmc_data sh7724_sdhi1_data = {
+	.chan_priv_tx	= (void *)SHDMA_SLAVE_SDHI1_TX,
+	.chan_priv_rx	= (void *)SHDMA_SLAVE_SDHI1_RX,
+	.capabilities	= MMC_CAP_SDIO_IRQ,
 };
 
 static struct platform_device sdhi1_cn8_device = {
diff --git a/drivers/mmc/host/sh_mobile_sdhi.c b/drivers/mmc/host/sh_mobile_sdhi.c
index 3137e29..354f4f3 100644
--- a/drivers/mmc/host/sh_mobile_sdhi.c
+++ b/drivers/mmc/host/sh_mobile_sdhi.c
@@ -202,7 +202,6 @@  static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 	struct sh_mobile_sdhi *priv;
 	struct tmio_mmc_data *mmc_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 resource *res;
 	int irq, ret, i = 0;
@@ -246,32 +245,9 @@  static int sh_mobile_sdhi_probe(struct platform_device *pdev)
 	else
 		host->bus_shift = 0;
 
-	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;
-
+	if (mmd)
 		*mmc_data = *mmd;
-	}
+
 	dma_priv->filter = shdma_chan_filter;
 	dma_priv->enable = sh_mobile_sdhi_enable_dma;
 
diff --git a/include/linux/mmc/sh_mobile_sdhi.h b/include/linux/mmc/sh_mobile_sdhi.h
index da77e5e20..95d6f03 100644
--- a/include/linux/mmc/sh_mobile_sdhi.h
+++ b/include/linux/mmc/sh_mobile_sdhi.h
@@ -7,14 +7,4 @@ 
 #define SH_MOBILE_SDHI_IRQ_SDCARD	"sdcard"
 #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 */