Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

authored by

Kuninori Morimoto and committed by
Vinod Koul
84f11d5b f33c9d65

+73 -103
+10 -10
arch/arm/mach-shmobile/board-armadillo800eva.c
··· 754 754 }; 755 755 756 756 /* SDHI0 */ 757 - static struct sh_mobile_sdhi_info sdhi0_info = { 758 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 759 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 760 - .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 757 + static struct tmio_mmc_data sdhi0_info = { 758 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 759 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 760 + .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 761 761 MMC_CAP_POWER_OFF_CARD, 762 - .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 762 + .flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 763 763 .cd_gpio = 167, 764 764 }; 765 765 ··· 796 796 }; 797 797 798 798 /* SDHI1 */ 799 - static struct sh_mobile_sdhi_info sdhi1_info = { 800 - .dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, 801 - .dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, 802 - .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 799 + static struct tmio_mmc_data sdhi1_info = { 800 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX, 801 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX, 802 + .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 803 803 MMC_CAP_POWER_OFF_CARD, 804 - .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 804 + .flags = TMIO_MMC_HAS_IDLE_WAIT | TMIO_MMC_USE_GPIO_CD, 805 805 /* Port72 cannot generate IRQs, will be used in polling mode. */ 806 806 .cd_gpio = 72, 807 807 };
+7 -7
arch/arm/mach-shmobile/board-bockw.c
··· 201 201 202 202 203 203 /* SDHI */ 204 - static struct sh_mobile_sdhi_info sdhi0_info __initdata = { 205 - .dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX, 206 - .dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX, 207 - .tmio_caps = MMC_CAP_SD_HIGHSPEED, 208 - .tmio_ocr_mask = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34, 209 - .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, 204 + static struct tmio_mmc_data sdhi0_info __initdata = { 205 + .chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX, 206 + .chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX, 207 + .capabilities = MMC_CAP_SD_HIGHSPEED, 208 + .ocr_mask = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34, 209 + .flags = TMIO_MMC_HAS_IDLE_WAIT, 210 210 }; 211 211 212 212 static struct resource sdhi0_resources[] __initdata = { ··· 683 683 platform_device_register_resndata( 684 684 NULL, "sh_mobile_sdhi", 0, 685 685 sdhi0_resources, ARRAY_SIZE(sdhi0_resources), 686 - &sdhi0_info, sizeof(struct sh_mobile_sdhi_info)); 686 + &sdhi0_info, sizeof(struct tmio_mmc_data)); 687 687 } 688 688 689 689 /* for Audio */
+10 -10
arch/arm/mach-shmobile/board-kzm9g.c
··· 442 442 }; 443 443 444 444 /* SDHI */ 445 - static struct sh_mobile_sdhi_info sdhi0_info = { 446 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 447 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 448 - .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT, 449 - .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 445 + static struct tmio_mmc_data sdhi0_info = { 446 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 447 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 448 + .flags = TMIO_MMC_HAS_IDLE_WAIT, 449 + .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_SDIO_IRQ | 450 450 MMC_CAP_POWER_OFF_CARD, 451 451 }; 452 452 ··· 484 484 }; 485 485 486 486 /* Micro SD */ 487 - static struct sh_mobile_sdhi_info sdhi2_info = { 488 - .dma_slave_tx = SHDMA_SLAVE_SDHI2_TX, 489 - .dma_slave_rx = SHDMA_SLAVE_SDHI2_RX, 490 - .tmio_flags = TMIO_MMC_HAS_IDLE_WAIT | 487 + static struct tmio_mmc_data sdhi2_info = { 488 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI2_TX, 489 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI2_RX, 490 + .flags = TMIO_MMC_HAS_IDLE_WAIT | 491 491 TMIO_MMC_USE_GPIO_CD | 492 492 TMIO_MMC_WRPROTECT_DISABLE, 493 - .tmio_caps = MMC_CAP_SD_HIGHSPEED | MMC_CAP_POWER_OFF_CARD, 493 + .capabilities = MMC_CAP_SD_HIGHSPEED | MMC_CAP_POWER_OFF_CARD, 494 494 .cd_gpio = 13, 495 495 }; 496 496
+5 -5
arch/arm/mach-shmobile/board-marzen.c
··· 122 122 }, 123 123 }; 124 124 125 - static struct sh_mobile_sdhi_info sdhi0_platform_data = { 126 - .dma_slave_tx = HPBDMA_SLAVE_SDHI0_TX, 127 - .dma_slave_rx = HPBDMA_SLAVE_SDHI0_RX, 128 - .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, 129 - .tmio_caps = MMC_CAP_SD_HIGHSPEED, 125 + static struct tmio_mmc_data sdhi0_platform_data = { 126 + .chan_priv_tx = (void *)HPBDMA_SLAVE_SDHI0_TX, 127 + .chan_priv_rx = (void *)HPBDMA_SLAVE_SDHI0_RX, 128 + .flags = TMIO_MMC_WRPROTECT_DISABLE | TMIO_MMC_HAS_IDLE_WAIT, 129 + .capabilities = MMC_CAP_SD_HIGHSPEED, 130 130 }; 131 131 132 132 static struct platform_device sdhi0_device = {
+5 -4
arch/sh/boards/board-sh7757lcr.c
··· 17 17 #include <linux/spi/spi.h> 18 18 #include <linux/spi/flash.h> 19 19 #include <linux/io.h> 20 + #include <linux/mfd/tmio.h> 20 21 #include <linux/mmc/host.h> 21 22 #include <linux/mmc/sh_mmcif.h> 22 23 #include <linux/mmc/sh_mobile_sdhi.h> ··· 244 243 }; 245 244 246 245 /* SDHI0 */ 247 - static struct sh_mobile_sdhi_info sdhi_info = { 248 - .dma_slave_tx = SHDMA_SLAVE_SDHI_TX, 249 - .dma_slave_rx = SHDMA_SLAVE_SDHI_RX, 250 - .tmio_caps = MMC_CAP_SD_HIGHSPEED, 246 + static struct tmio_mmc_data sdhi_info = { 247 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI_TX, 248 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI_RX, 249 + .capabilities = MMC_CAP_SD_HIGHSPEED, 251 250 }; 252 251 253 252 static struct resource sdhi_resources[] = {
+5 -4
arch/sh/boards/mach-ap325rxa/setup.c
··· 18 18 #include <linux/mmc/sh_mobile_sdhi.h> 19 19 #include <linux/mtd/physmap.h> 20 20 #include <linux/mtd/sh_flctl.h> 21 + #include <linux/mfd/tmio.h> 21 22 #include <linux/delay.h> 22 23 #include <linux/i2c.h> 23 24 #include <linux/regulator/fixed.h> ··· 448 447 }, 449 448 }; 450 449 451 - static struct sh_mobile_sdhi_info sdhi0_cn3_data = { 452 - .tmio_caps = MMC_CAP_SDIO_IRQ, 450 + static struct tmio_mmc_data sdhi0_cn3_data = { 451 + .capabilities = MMC_CAP_SDIO_IRQ, 453 452 }; 454 453 455 454 static struct platform_device sdhi0_cn3_device = { ··· 475 474 }, 476 475 }; 477 476 478 - static struct sh_mobile_sdhi_info sdhi1_cn7_data = { 479 - .tmio_caps = MMC_CAP_SDIO_IRQ, 477 + static struct tmio_mmc_data sdhi1_cn7_data = { 478 + .capabilities = MMC_CAP_SDIO_IRQ, 480 479 }; 481 480 482 481 static struct platform_device sdhi1_cn7_device = {
+10 -10
arch/sh/boards/mach-ecovec24/setup.c
··· 601 601 }, 602 602 }; 603 603 604 - static struct sh_mobile_sdhi_info sdhi0_info = { 605 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 606 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 607 - .tmio_caps = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | 604 + static struct tmio_mmc_data sdhi0_info = { 605 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 606 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 607 + .capabilities = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | 608 608 MMC_CAP_NEEDS_POLL, 609 - .tmio_flags = TMIO_MMC_USE_GPIO_CD, 609 + .flags = TMIO_MMC_USE_GPIO_CD, 610 610 .cd_gpio = GPIO_PTY7, 611 611 }; 612 612 ··· 635 635 636 636 #if !defined(CONFIG_MMC_SH_MMCIF) && !defined(CONFIG_MMC_SH_MMCIF_MODULE) 637 637 /* SDHI1 */ 638 - static struct sh_mobile_sdhi_info sdhi1_info = { 639 - .dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, 640 - .dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, 641 - .tmio_caps = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | 638 + static struct tmio_mmc_data sdhi1_info = { 639 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX, 640 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX, 641 + .capabilities = MMC_CAP_SDIO_IRQ | MMC_CAP_POWER_OFF_CARD | 642 642 MMC_CAP_NEEDS_POLL, 643 - .tmio_flags = TMIO_MMC_USE_GPIO_CD, 643 + .flags = TMIO_MMC_USE_GPIO_CD, 644 644 .cd_gpio = GPIO_PTW7, 645 645 }; 646 646
+5 -5
arch/sh/boards/mach-kfr2r09/setup.c
··· 373 373 }, 374 374 }; 375 375 376 - static struct sh_mobile_sdhi_info sh7724_sdhi0_data = { 377 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 378 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 379 - .tmio_flags = TMIO_MMC_WRPROTECT_DISABLE, 380 - .tmio_caps = MMC_CAP_SDIO_IRQ, 376 + static struct tmio_mmc_data sh7724_sdhi0_data = { 377 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 378 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 379 + .flags = TMIO_MMC_WRPROTECT_DISABLE, 380 + .capabilities = MMC_CAP_SDIO_IRQ, 381 381 }; 382 382 383 383 static struct platform_device kfr2r09_sh_sdhi0_device = {
+5 -4
arch/sh/boards/mach-migor/setup.c
··· 15 15 #include <linux/mmc/host.h> 16 16 #include <linux/mmc/sh_mobile_sdhi.h> 17 17 #include <linux/mtd/physmap.h> 18 + #include <linux/mfd/tmio.h> 18 19 #include <linux/mtd/nand.h> 19 20 #include <linux/i2c.h> 20 21 #include <linux/regulator/fixed.h> ··· 409 408 }, 410 409 }; 411 410 412 - static struct sh_mobile_sdhi_info sh7724_sdhi_data = { 413 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 414 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 415 - .tmio_caps = MMC_CAP_SDIO_IRQ, 411 + static struct tmio_mmc_data sh7724_sdhi_data = { 412 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 413 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 414 + .capabilities = MMC_CAP_SDIO_IRQ, 416 415 }; 417 416 418 417 static struct platform_device sdhi_cn9_device = {
+9 -8
arch/sh/boards/mach-se/7724/setup.c
··· 16 16 #include <linux/platform_device.h> 17 17 #include <linux/mmc/host.h> 18 18 #include <linux/mmc/sh_mobile_sdhi.h> 19 + #include <linux/mfd/tmio.h> 19 20 #include <linux/mtd/physmap.h> 20 21 #include <linux/delay.h> 21 22 #include <linux/regulator/fixed.h> ··· 469 468 }, 470 469 }; 471 470 472 - static struct sh_mobile_sdhi_info sh7724_sdhi0_data = { 473 - .dma_slave_tx = SHDMA_SLAVE_SDHI0_TX, 474 - .dma_slave_rx = SHDMA_SLAVE_SDHI0_RX, 475 - .tmio_caps = MMC_CAP_SDIO_IRQ, 471 + static struct tmio_mmc_data sh7724_sdhi0_data = { 472 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI0_TX, 473 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI0_RX, 474 + .capabilities = MMC_CAP_SDIO_IRQ, 476 475 }; 477 476 478 477 static struct platform_device sdhi0_cn7_device = { ··· 498 497 }, 499 498 }; 500 499 501 - static struct sh_mobile_sdhi_info sh7724_sdhi1_data = { 502 - .dma_slave_tx = SHDMA_SLAVE_SDHI1_TX, 503 - .dma_slave_rx = SHDMA_SLAVE_SDHI1_RX, 504 - .tmio_caps = MMC_CAP_SDIO_IRQ, 500 + static struct tmio_mmc_data sh7724_sdhi1_data = { 501 + .chan_priv_tx = (void *)SHDMA_SLAVE_SDHI1_TX, 502 + .chan_priv_rx = (void *)SHDMA_SLAVE_SDHI1_RX, 503 + .capabilities = MMC_CAP_SDIO_IRQ, 505 504 }; 506 505 507 506 static struct platform_device sdhi1_cn8_device = {
+2 -26
drivers/mmc/host/sh_mobile_sdhi.c
··· 202 202 struct sh_mobile_sdhi *priv; 203 203 struct tmio_mmc_data *mmc_data; 204 204 struct tmio_mmc_data *mmd = pdev->dev.platform_data; 205 - struct sh_mobile_sdhi_info *p = pdev->dev.platform_data; 206 205 struct tmio_mmc_host *host; 207 206 struct resource *res; 208 207 int irq, ret, i = 0; ··· 245 246 else 246 247 host->bus_shift = 0; 247 248 248 - if (mmd) { 249 - /* 250 - * FIXME 251 - * 252 - * sh_mobile_sdhi_info will be replaced to tmio_mmc_data soon. 253 - * But, sh_mobile_sdhi_info is used under 254 - * ${LINUX}/arch/arm/mach-shmobile/ 255 - * ${LINUX}/arch/sh/ 256 - * To separate large patch into "tmio_mmc_data has .chan_priv_?x" 257 - * and "replace sh_mobile_sdhi_info in tmio_mmc_data", 258 - * here has dummy method. 259 - * These should be removed. 260 - */ 261 - struct tmio_mmc_data m; 262 - 263 - mmd = &m; 264 - m.flags = p->tmio_flags; 265 - m.ocr_mask = p->tmio_ocr_mask; 266 - m.capabilities = p->tmio_caps; 267 - m.capabilities2 = p->tmio_caps2; 268 - m.cd_gpio = p->cd_gpio; 269 - m.chan_priv_tx = (void *)p->dma_slave_tx; 270 - m.chan_priv_rx = (void *)p->dma_slave_rx; 271 - 249 + if (mmd) 272 250 *mmc_data = *mmd; 273 - } 251 + 274 252 dma_priv->filter = shdma_chan_filter; 275 253 dma_priv->enable = sh_mobile_sdhi_enable_dma; 276 254
-10
include/linux/mmc/sh_mobile_sdhi.h
··· 7 7 #define SH_MOBILE_SDHI_IRQ_SDCARD "sdcard" 8 8 #define SH_MOBILE_SDHI_IRQ_SDIO "sdio" 9 9 10 - struct sh_mobile_sdhi_info { 11 - int dma_slave_tx; 12 - int dma_slave_rx; 13 - unsigned long tmio_flags; 14 - unsigned long tmio_caps; 15 - unsigned long tmio_caps2; 16 - u32 tmio_ocr_mask; /* available MMC voltages */ 17 - unsigned int cd_gpio; 18 - }; 19 - 20 10 #endif /* LINUX_MMC_SH_MOBILE_SDHI_H */