diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 13:33:09 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-10 13:33:09 -0700 | 
| commit | d0048f0b91ee35ab940ec6cbdfdd238c55b12a14 (patch) | |
| tree | 72914692414729a14ec1308c326d92359a3825a3 /arch/arm/mach-ep93xx | |
| parent | 7426d62871dafbeeed087d609c6469a515c88389 (diff) | |
| parent | 9d731e7539713acc0ec7b67a5a91357c455d2334 (diff) | |
| download | linux-d0048f0b91ee35ab940ec6cbdfdd238c55b12a14.tar.bz2 | |
Merge tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc
Pull MMC updates from Chris Ball:
 "MMC highlights for 3.12:
  Core:
   - Support Allocation Units 8MB-64MB in SD3.0, previous max was 4MB.
   - The slot-gpio helper can now handle GPIO debouncing card-detect.
   - Read supported voltages from DT "voltage-ranges" property.
  Drivers:
   - dw_mmc: Add support for ARC architecture, and support exynos5420.
   - mmc_spi: Support CD/RO GPIOs.
   - sh_mobile_sdhi: Add compatibility for more Renesas SoCs.
   - sh_mmcif: Add DT support for DMA channels"
* tag 'mmc-updates-for-3.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (50 commits)
  Revert "mmc: tmio-mmc: Remove .set_pwr() callback from platform data"
  mmc: dw_mmc: Add support for ARC
  mmc: sdhci-s3c: initialize host->quirks2 for using quirks2
  mmc: sdhci-s3c: fix the wrong register value, when clock is disabled
  mmc: esdhc: add support to get voltage from device-tree
  mmc: sdhci: get voltage from sdhc host
  mmc: core: parse voltage from device-tree
  mmc: omap_hsmmc: use the generic config for omap2plus devices
  mmc: omap_hsmmc: clear status flags before starting a new command
  mmc: dw_mmc: exynos: Add a new compatible string for exynos5420
  mmc: sh_mmcif: revision-specific CLK_CTRL2 handling
  mmc: sh_mmcif: revision-specific Command Completion Signal handling
  mmc: sh_mmcif: add support for Device Tree DMA bindings
  mmc: sh_mmcif: move header include from header into .c
  mmc: SDHI: add DT compatibility strings for further SoCs
  mmc: dw_mmc-pci: enable bus-mastering mode
  mmc: dw_mmc-pci: get resources from a proper BAR
  mmc: tmio-mmc: Remove .set_pwr() callback from platform data
  mmc: tmio-mmc: Remove .get_cd() callback from platform data
  mmc: sh_mobile_sdhi: Remove .set_pwr() callback from platform data
  ...
Diffstat (limited to 'arch/arm/mach-ep93xx')
| -rw-r--r-- | arch/arm/mach-ep93xx/vision_ep9307.c | 57 | 
1 files changed, 5 insertions, 52 deletions
| diff --git a/arch/arm/mach-ep93xx/vision_ep9307.c b/arch/arm/mach-ep93xx/vision_ep9307.c index 64f2e50e19ca..6bc1c181581d 100644 --- a/arch/arm/mach-ep93xx/vision_ep9307.c +++ b/arch/arm/mach-ep93xx/vision_ep9307.c @@ -224,62 +224,15 @@ static struct ep93xx_spi_chip_ops vision_spi_flash_hw = {  #define VISION_SPI_MMC_WP	EP93XX_GPIO_LINE_F(0)  #define VISION_SPI_MMC_CD	EP93XX_GPIO_LINE_EGPIO15 -static struct gpio vision_spi_mmc_gpios[] = { -	{ VISION_SPI_MMC_WP, GPIOF_DIR_IN, "mmc_spi:wp" }, -	{ VISION_SPI_MMC_CD, GPIOF_DIR_IN, "mmc_spi:cd" }, -}; - -static int vision_spi_mmc_init(struct device *pdev, -			irqreturn_t (*func)(int, void *), void *pdata) -{ -	int err; - -	err = gpio_request_array(vision_spi_mmc_gpios, -				 ARRAY_SIZE(vision_spi_mmc_gpios)); -	if (err) -		return err; - -	err = gpio_set_debounce(VISION_SPI_MMC_CD, 1); -	if (err) -		goto exit_err; - -	err = request_irq(gpio_to_irq(VISION_SPI_MMC_CD), func, -			IRQ_TYPE_EDGE_BOTH, "mmc_spi:cd", pdata); -	if (err) -		goto exit_err; - -	return 0; - -exit_err: -	gpio_free_array(vision_spi_mmc_gpios, ARRAY_SIZE(vision_spi_mmc_gpios)); -	return err; - -} - -static void vision_spi_mmc_exit(struct device *pdev, void *pdata) -{ -	free_irq(gpio_to_irq(VISION_SPI_MMC_CD), pdata); -	gpio_free_array(vision_spi_mmc_gpios, ARRAY_SIZE(vision_spi_mmc_gpios)); -} - -static int vision_spi_mmc_get_ro(struct device *pdev) -{ -	return !!gpio_get_value(VISION_SPI_MMC_WP); -} - -static int vision_spi_mmc_get_cd(struct device *pdev) -{ -	return !gpio_get_value(VISION_SPI_MMC_CD); -} -  static struct mmc_spi_platform_data vision_spi_mmc_data = { -	.init		= vision_spi_mmc_init, -	.exit		= vision_spi_mmc_exit, -	.get_ro		= vision_spi_mmc_get_ro, -	.get_cd		= vision_spi_mmc_get_cd,  	.detect_delay	= 100,  	.powerup_msecs	= 100,  	.ocr_mask	= MMC_VDD_32_33 | MMC_VDD_33_34, +	.flags		= MMC_SPI_USE_CD_GPIO | MMC_SPI_USE_RO_GPIO, +	.cd_gpio	= VISION_SPI_MMC_CD, +	.cd_debounce	= 1, +	.ro_gpio	= VISION_SPI_MMC_WP, +	.caps2		= MMC_CAP2_RO_ACTIVE_HIGH,  };  static int vision_spi_mmc_hw_setup(struct spi_device *spi) |