diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-08-10 12:34:18 +0200 | 
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-08-13 17:09:38 +0200 | 
| commit | e05dd97c5c345bd1f6ce9f6fc242326a64191239 (patch) | |
| tree | a3d700746bc2b5f809876bd7aa8c7c0ac93166ac /arch/arm/mach-at91/at91sam9261_devices.c | |
| parent | 19e4ab54e7f5fe46a3c931afa7e786f11d57b558 (diff) | |
| parent | 4cf3326ab5f34a333a46c59d0d3783db9cef13bf (diff) | |
| download | olio-linux-3.10-e05dd97c5c345bd1f6ce9f6fc242326a64191239.tar.xz olio-linux-3.10-e05dd97c5c345bd1f6ce9f6fc242326a64191239.zip  | |
Merge tag 'at91-for-next-soc' of git://github.com/at91linux/linux-at91 into at91/mci
AT91 SoC related code modifications: a cleanup in defconfigs and
a one liner in a board file.
The most important is the move to atmel-mci driver in AT91 SoC & boards.
The old at91_mci (marked as deprecated) will be removed in 3.7. So all
platform data for this old driver are erased and replace by information
needed by atmel-mci driver.
* tag 'at91-for-next-soc' of git://github.com/at91linux/linux-at91:
  ARM: at91: add atmel-mci support for chips and boards which can use it
  ARM: at91/defconfig: change the MCI driver to use in defconfigs
  ARM: at91: set i2c_board_info.type to "ds1339" directly
  ARM: at91/defconfig: Remove unaffected config option
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9261_devices.c')
| -rw-r--r-- | arch/arm/mach-at91/at91sam9261_devices.c | 54 | 
1 files changed, 27 insertions, 27 deletions
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c index 8df5c1bdff9..06c0c6e025b 100644 --- a/arch/arm/mach-at91/at91sam9261_devices.c +++ b/arch/arm/mach-at91/at91sam9261_devices.c @@ -137,9 +137,9 @@ void __init at91_add_device_udc(struct at91_udc_data *data) {}   *  MMC / SD   * -------------------------------------------------------------------- */ -#if defined(CONFIG_MMC_AT91) || defined(CONFIG_MMC_AT91_MODULE) +#if IS_ENABLED(CONFIG_MMC_ATMELMCI)  static u64 mmc_dmamask = DMA_BIT_MASK(32); -static struct at91_mmc_data mmc_data; +static struct mci_platform_data mmc_data;  static struct resource mmc_resources[] = {  	[0] = { @@ -155,7 +155,7 @@ static struct resource mmc_resources[] = {  };  static struct platform_device at91sam9261_mmc_device = { -	.name		= "at91_mci", +	.name		= "atmel_mci",  	.id		= -1,  	.dev		= {  				.dma_mask		= &mmc_dmamask, @@ -166,40 +166,40 @@ static struct platform_device at91sam9261_mmc_device = {  	.num_resources	= ARRAY_SIZE(mmc_resources),  }; -void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) +void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data)  {  	if (!data)  		return; -	/* input/irq */ -	if (gpio_is_valid(data->det_pin)) { -		at91_set_gpio_input(data->det_pin, 1); -		at91_set_deglitch(data->det_pin, 1); -	} -	if (gpio_is_valid(data->wp_pin)) -		at91_set_gpio_input(data->wp_pin, 1); -	if (gpio_is_valid(data->vcc_pin)) -		at91_set_gpio_output(data->vcc_pin, 0); +	if (data->slot[0].bus_width) { +		/* input/irq */ +		if (gpio_is_valid(data->slot[0].detect_pin)) { +			at91_set_gpio_input(data->slot[0].detect_pin, 1); +			at91_set_deglitch(data->slot[0].detect_pin, 1); +		} +		if (gpio_is_valid(data->slot[0].wp_pin)) +			at91_set_gpio_input(data->slot[0].wp_pin, 1); -	/* CLK */ -	at91_set_B_periph(AT91_PIN_PA2, 0); +		/* CLK */ +		at91_set_B_periph(AT91_PIN_PA2, 0); -	/* CMD */ -	at91_set_B_periph(AT91_PIN_PA1, 1); +		/* CMD */ +		at91_set_B_periph(AT91_PIN_PA1, 1); -	/* DAT0, maybe DAT1..DAT3 */ -	at91_set_B_periph(AT91_PIN_PA0, 1); -	if (data->wire4) { -		at91_set_B_periph(AT91_PIN_PA4, 1); -		at91_set_B_periph(AT91_PIN_PA5, 1); -		at91_set_B_periph(AT91_PIN_PA6, 1); -	} +		/* DAT0, maybe DAT1..DAT3 */ +		at91_set_B_periph(AT91_PIN_PA0, 1); +		if (data->slot[0].bus_width == 4) { +			at91_set_B_periph(AT91_PIN_PA4, 1); +			at91_set_B_periph(AT91_PIN_PA5, 1); +			at91_set_B_periph(AT91_PIN_PA6, 1); +		} -	mmc_data = *data; -	platform_device_register(&at91sam9261_mmc_device); +		mmc_data = *data; +		platform_device_register(&at91sam9261_mmc_device); +	}  }  #else -void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data) {} +void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data) {}  #endif  |