Skip to content

Commit

Permalink
ARM: at91: fix check of valid GPIO for SPI and USB
Browse files Browse the repository at this point in the history
SPI chip select pins have to be checked by gpio_is_valid().
The USB host overcurrent_pin checking was missing.

Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
  • Loading branch information
Nicolas Ferre committed Apr 4, 2012
1 parent 9475375 commit 0c2c1f6
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 1 deletion.
3 changes: 3 additions & 0 deletions arch/arm/mach-at91/at91sam9260_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -598,6 +598,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
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-at91/at91sam9261_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -415,6 +415,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
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-at91/at91sam9263_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -672,6 +672,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
Expand Down
5 changes: 4 additions & 1 deletion arch/arm/mach-at91/at91sam9g45_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)

/* 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);
}

Expand Down Expand Up @@ -787,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
Expand Down
3 changes: 3 additions & 0 deletions arch/arm/mach-at91/at91sam9rl_devices.c
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,9 @@ void __init at91_add_device_spi(struct spi_board_info *devices, int nr_devices)
else
cs_pin = spi_standard_cs[devices[i].chip_select];

if (!gpio_is_valid(cs_pin))
continue;

/* enable chip-select pin */
at91_set_gpio_output(cs_pin, 1);

Expand Down

0 comments on commit 0c2c1f6

Please sign in to comment.