diff options
Diffstat (limited to 'arch/arm/mach-at91/at91sam9g45_devices.c')
| -rw-r--r-- | arch/arm/mach-at91/at91sam9g45_devices.c | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c index 698479f1e19..6b008aee1df 100644 --- a/arch/arm/mach-at91/at91sam9g45_devices.c +++ b/arch/arm/mach-at91/at91sam9g45_devices.c @@ -127,12 +127,13 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)  	/* Enable VBus control for UHP ports */  	for (i = 0; i < data->ports; i++) {  		if (gpio_is_valid(data->vbus_pin[i])) -			at91_set_gpio_output(data->vbus_pin[i], 0); +			at91_set_gpio_output(data->vbus_pin[i], +					     data->vbus_pin_active_low[i]);  	}  	/* Enable overcurrent notification */  	for (i = 0; i < data->ports; i++) { -		if (data->overcurrent_pin[i]) +		if (gpio_is_valid(data->overcurrent_pin[i]))  			at91_set_gpio_input(data->overcurrent_pin[i], 1);  	} @@ -188,7 +189,8 @@ void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data)  	/* Enable VBus control for UHP ports */  	for (i = 0; i < data->ports; i++) {  		if (gpio_is_valid(data->vbus_pin[i])) -			at91_set_gpio_output(data->vbus_pin[i], 0); +			at91_set_gpio_output(data->vbus_pin[i], +					     data->vbus_pin_active_low[i]);  	}  	usbh_ehci_data = *data; @@ -785,6 +787,9 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)  		else  			cs_pin = spi1_standard_cs[devices[i].chip_select]; +		if (!gpio_is_valid(cs_pin)) +			continue; +  		if (devices[i].bus_num == 0)  			enable_spi0 = 1;  		else  |