[PATCH 3/3] at91-ohci: configure overcurrent pins as input GPIOs
Nicolas Ferre
nicolas.ferre at atmel.com
Wed Sep 7 09:16:20 EDT 2011
Le 07/09/2011 12:51, Nicolas Ferre :
> Le 13/07/2011 11:29, Thomas Petazzoni :
>> As a new overcurrent_pin[] array has been added to the at91_usbh_data
>> structure, those pins must be muxed to work properly. This commit
>> implements this muxing for all AT91 SoCs that support the AT91 OHCI.
>>
>> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> Cc: Andrew Victor <linux at maxim.org.za>
>> Cc: Nicolas Ferre <nicolas.ferre at atmel.com>
>
> Signed-off-by: Nicolas Ferre <nicolas.ferre at atmel.com>
but with...
> I will include this patch series in at91-l2 branch on:
> git://github.com/at91linux/linux-at91.git
> (mind the removal of -2.6-)
>
> But there are several changes to ohci-at91 which also may fit in an USB
> git tree...
> According to the nature of changes, I think it is better to send them
> upstream through the AT91 - arm-soc flow.
>
> Thanks Thomas, best regards,
>
>> Cc: Jean-Christophe Plagniol-Villard <plagnioj at jcrosoft.com>
>> ---
>> arch/arm/mach-at91/at91cap9_devices.c | 6 ++++++
>> arch/arm/mach-at91/at91rm9200_devices.c | 6 ++++++
>> arch/arm/mach-at91/at91sam9260_devices.c | 6 ++++++
>> arch/arm/mach-at91/at91sam9261_devices.c | 6 ++++++
>> arch/arm/mach-at91/at91sam9263_devices.c | 6 ++++++
>> arch/arm/mach-at91/at91sam9g45_devices.c | 6 ++++++
>> 6 files changed, 36 insertions(+), 0 deletions(-)
>>
>> diff --git a/arch/arm/mach-at91/at91cap9_devices.c b/arch/arm/mach-at91/at91cap9_devices.c
>> index dba0d8d..b46615a 100644
>> --- a/arch/arm/mach-at91/at91cap9_devices.c
>> +++ b/arch/arm/mach-at91/at91cap9_devices.c
>> @@ -80,6 +80,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
>> at91_set_gpio_output(data->vbus_pin[i], 0);
>> }
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_data = *data;
>> platform_device_register(&at91_usbh_device);
>> }
>> diff --git a/arch/arm/mach-at91/at91rm9200_devices.c b/arch/arm/mach-at91/at91rm9200_devices.c
>> index 7227755..b2202b6 100644
>> --- a/arch/arm/mach-at91/at91rm9200_devices.c
>> +++ b/arch/arm/mach-at91/at91rm9200_devices.c
>> @@ -63,6 +63,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
>> if (!data)
>> return;
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
Yes, but... Missing "i" declaration... I have added it.
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_data = *data;
>> platform_device_register(&at91rm9200_usbh_device);
>> }
>> diff --git a/arch/arm/mach-at91/at91sam9260_devices.c b/arch/arm/mach-at91/at91sam9260_devices.c
>> index 39f81f4..ad64fc3 100644
>> --- a/arch/arm/mach-at91/at91sam9260_devices.c
>> +++ b/arch/arm/mach-at91/at91sam9260_devices.c
>> @@ -64,6 +64,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
>> if (!data)
>> return;
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
Ditto.
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_data = *data;
>> platform_device_register(&at91_usbh_device);
>> }
>> diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
>> index 5004bf0..e394e86 100644
>> --- a/arch/arm/mach-at91/at91sam9261_devices.c
>> +++ b/arch/arm/mach-at91/at91sam9261_devices.c
>> @@ -67,6 +67,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
>> if (!data)
>> return;
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
Ditto.
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_data = *data;
>> platform_device_register(&at91sam9261_usbh_device);
>> }
>> diff --git a/arch/arm/mach-at91/at91sam9263_devices.c b/arch/arm/mach-at91/at91sam9263_devices.c
>> index a050f41..d4aef76 100644
>> --- a/arch/arm/mach-at91/at91sam9263_devices.c
>> +++ b/arch/arm/mach-at91/at91sam9263_devices.c
>> @@ -74,6 +74,12 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data)
>> at91_set_gpio_output(data->vbus_pin[i], 0);
>> }
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
Ok here as we already have an "i"...
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_data = *data;
>> platform_device_register(&at91_usbh_device);
>> }
>> diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
>> index 600bffb..e4a9857 100644
>> --- a/arch/arm/mach-at91/at91sam9g45_devices.c
>> +++ b/arch/arm/mach-at91/at91sam9g45_devices.c
>> @@ -124,6 +124,12 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)
>> at91_set_gpio_output(data->vbus_pin[i], 0);
>> }
>>
>> + /* Enable overcurrent notification */
>> + for (i = 0; i < data->ports; i++) {
>> + if (data->overcurrent_pin[i])
>> + at91_set_gpio_input(data->overcurrent_pin[i], 1);
>> + }
>> +
>> usbh_ohci_data = *data;
>> platform_device_register(&at91_usbh_ohci_device);
>> }
>
>
Best regards,
--
Nicolas Ferre
More information about the linux-arm-kernel
mailing list