diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-13 15:00:22 +0000 | 
| commit | 4de3a8e101150feaefa1139611a50ff37467f33e (patch) | |
| tree | daada742542518b02d7db7c5d32e715eaa5f166d /arch/arm/mach-at91/at91sam9260_devices.c | |
| parent | 294064f58953f9964e5945424b09c51800330a83 (diff) | |
| parent | 099469502f62fbe0d7e4f0b83a2f22538367f734 (diff) | |
| download | olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.tar.xz olio-linux-3.10-4de3a8e101150feaefa1139611a50ff37467f33e.zip  | |
Merge branch 'master' into fixes
Diffstat (limited to 'arch/arm/mach-at91/at91sam9260_devices.c')
| -rw-r--r-- | arch/arm/mach-at91/at91sam9260_devices.c | 55 | 
1 files changed, 32 insertions, 23 deletions
diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c index 629fa977497..642ccb6d26b 100644 --- a/arch/arm/mach-at91/at91sam9260_devices.c +++ b/arch/arm/mach-at91/at91sam9260_devices.c @@ -115,7 +115,7 @@ void __init at91_add_device_udc(struct at91_udc_data *data)  	if (!data)  		return; -	if (data->vbus_pin) { +	if (gpio_is_valid(data->vbus_pin)) {  		at91_set_gpio_input(data->vbus_pin, 0);  		at91_set_deglitch(data->vbus_pin, 1);  	} @@ -136,7 +136,7 @@ void __init at91_add_device_udc(struct at91_udc_data *data) {}  #if defined(CONFIG_MACB) || defined(CONFIG_MACB_MODULE)  static u64 eth_dmamask = DMA_BIT_MASK(32); -static struct at91_eth_data eth_data; +static struct macb_platform_data eth_data;  static struct resource eth_resources[] = {  	[0] = { @@ -163,12 +163,12 @@ static struct platform_device at91sam9260_eth_device = {  	.num_resources	= ARRAY_SIZE(eth_resources),  }; -void __init at91_add_device_eth(struct at91_eth_data *data) +void __init at91_add_device_eth(struct macb_platform_data *data)  {  	if (!data)  		return; -	if (data->phy_irq_pin) { +	if (gpio_is_valid(data->phy_irq_pin)) {  		at91_set_gpio_input(data->phy_irq_pin, 0);  		at91_set_deglitch(data->phy_irq_pin, 1);  	} @@ -200,7 +200,7 @@ void __init at91_add_device_eth(struct at91_eth_data *data)  	platform_device_register(&at91sam9260_eth_device);  }  #else -void __init at91_add_device_eth(struct at91_eth_data *data) {} +void __init at91_add_device_eth(struct macb_platform_data *data) {}  #endif @@ -243,13 +243,13 @@ void __init at91_add_device_mmc(short mmc_id, struct at91_mmc_data *data)  		return;  	/* input/irq */ -	if (data->det_pin) { +	if (gpio_is_valid(data->det_pin)) {  		at91_set_gpio_input(data->det_pin, 1);  		at91_set_deglitch(data->det_pin, 1);  	} -	if (data->wp_pin) +	if (gpio_is_valid(data->wp_pin))  		at91_set_gpio_input(data->wp_pin, 1); -	if (data->vcc_pin) +	if (gpio_is_valid(data->vcc_pin))  		at91_set_gpio_output(data->vcc_pin, 0);  	/* CLK */ @@ -330,11 +330,11 @@ void __init at91_add_device_mci(short mmc_id, struct mci_platform_data *data)  	for (i = 0; i < ATMCI_MAX_NR_SLOTS; i++) {  		if (data->slot[i].bus_width) {  			/* input/irq */ -			if (data->slot[i].detect_pin) { +			if (gpio_is_valid(data->slot[i].detect_pin)) {  				at91_set_gpio_input(data->slot[i].detect_pin, 1);  				at91_set_deglitch(data->slot[i].detect_pin, 1);  			} -			if (data->slot[i].wp_pin) +			if (gpio_is_valid(data->slot[i].wp_pin))  				at91_set_gpio_input(data->slot[i].wp_pin, 1);  			switch (i) { @@ -399,8 +399,8 @@ static struct resource nand_resources[] = {  		.flags	= IORESOURCE_MEM,  	},  	[1] = { -		.start	= AT91_BASE_SYS + AT91_ECC, -		.end	= AT91_BASE_SYS + AT91_ECC + SZ_512 - 1, +		.start	= AT91SAM9260_BASE_ECC, +		.end	= AT91SAM9260_BASE_ECC + SZ_512 - 1,  		.flags	= IORESOURCE_MEM,  	}  }; @@ -426,15 +426,15 @@ void __init at91_add_device_nand(struct atmel_nand_data *data)  	at91_sys_write(AT91_MATRIX_EBICSA, csa | AT91_MATRIX_CS3A_SMC_SMARTMEDIA);  	/* enable pin */ -	if (data->enable_pin) +	if (gpio_is_valid(data->enable_pin))  		at91_set_gpio_output(data->enable_pin, 1);  	/* ready/busy pin */ -	if (data->rdy_pin) +	if (gpio_is_valid(data->rdy_pin))  		at91_set_gpio_input(data->rdy_pin, 1);  	/* card detect pin */ -	if (data->det_pin) +	if (gpio_is_valid(data->det_pin))  		at91_set_gpio_input(data->det_pin, 1);  	nand_data = *data; @@ -714,8 +714,8 @@ static void __init at91_add_device_tc(void) { }  static struct resource rtt_resources[] = {  	{ -		.start	= AT91_BASE_SYS + AT91_RTT, -		.end	= AT91_BASE_SYS + AT91_RTT + SZ_16 - 1, +		.start	= AT91SAM9260_BASE_RTT, +		.end	= AT91SAM9260_BASE_RTT + SZ_16 - 1,  		.flags	= IORESOURCE_MEM,  	}  }; @@ -738,10 +738,19 @@ static void __init at91_add_device_rtt(void)   * -------------------------------------------------------------------- */  #if defined(CONFIG_AT91SAM9X_WATCHDOG) || defined(CONFIG_AT91SAM9X_WATCHDOG_MODULE) +static struct resource wdt_resources[] = { +	{ +		.start	= AT91SAM9260_BASE_WDT, +		.end	= AT91SAM9260_BASE_WDT + SZ_16 - 1, +		.flags	= IORESOURCE_MEM, +	} +}; +  static struct platform_device at91sam9260_wdt_device = {  	.name		= "at91_wdt",  	.id		= -1, -	.num_resources	= 0, +	.resource	= wdt_resources, +	.num_resources	= ARRAY_SIZE(wdt_resources),  };  static void __init at91_add_device_watchdog(void) @@ -837,8 +846,8 @@ void __init at91_add_device_ssc(unsigned id, unsigned pins) {}  #if defined(CONFIG_SERIAL_ATMEL)  static struct resource dbgu_resources[] = {  	[0] = { -		.start	= AT91_BASE_SYS + AT91_DBGU, -		.end	= AT91_BASE_SYS + AT91_DBGU + SZ_512 - 1, +		.start	= AT91SAM9260_BASE_DBGU, +		.end	= AT91SAM9260_BASE_DBGU + SZ_512 - 1,  		.flags	= IORESOURCE_MEM,  	},  	[1] = { @@ -1281,17 +1290,17 @@ void __init at91_add_device_cf(struct at91_cf_data *data)  	at91_sys_write(AT91_MATRIX_EBICSA, csa); -	if (data->rst_pin) { +	if (gpio_is_valid(data->rst_pin)) {  		at91_set_multi_drive(data->rst_pin, 0);  		at91_set_gpio_output(data->rst_pin, 1);  	} -	if (data->irq_pin) { +	if (gpio_is_valid(data->irq_pin)) {  		at91_set_gpio_input(data->irq_pin, 0);  		at91_set_deglitch(data->irq_pin, 1);  	} -	if (data->det_pin) { +	if (gpio_is_valid(data->det_pin)) {  		at91_set_gpio_input(data->det_pin, 0);  		at91_set_deglitch(data->det_pin, 1);  	}  |