[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4AB34795.2080907@atmel.com>
Date: Fri, 18 Sep 2009 10:40:53 +0200
From: Nicolas Ferre <nicolas.ferre@...el.com>
To: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@...osoft.com>
CC: linux-usb@...r.kernel.org, patrice.vilchez@...el.com,
linux-kernel@...r.kernel.org, david-b@...bell.net,
avictor.za@...il.com, haavard.skinnemoen@...el.com,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH] at91: use gpiolib calls for USB vbus pin on at91sam9g45
Jean-Christophe PLAGNIOL-VILLARD :
> On 10:13 Thu 17 Sep , Nicolas Ferre wrote:
>> Jean-Christophe PLAGNIOL-VILLARD :
>>> On 19:29 Wed 16 Sep , Nicolas Ferre wrote:
>>>> Change pin configuration for USB vbus on at91sam9g45: use the generic gpiolib
>>>> call instead of the at91 specific one.
>>>> Use gpio_request() function with same identifier for OHCI and EHCI hosts as
>>>> they are sharing the same pin.
>>>>
>>>> Signed-off-by: Nicolas Ferre <nicolas.ferre@...el.com>
>>>> ---
>>>> This patch is on top of at91sam9g45 USB integration one:
>>>> "[PATCH 2/2] at91/USB: at91sam9g45 series USB host integration"
>>>> http://lkml.org/lkml/2009/6/9/221
>>>>
>>>> arch/arm/mach-at91/at91sam9g45_devices.c | 12 ++++++++----
>>>> 1 files changed, 8 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/arch/arm/mach-at91/at91sam9g45_devices.c b/arch/arm/mach-at91/at91sam9g45_devices.c
>>>> index 5be8cf2..7d939c0 100644
>>>> --- a/arch/arm/mach-at91/at91sam9g45_devices.c
>>>> +++ b/arch/arm/mach-at91/at91sam9g45_devices.c
>>>> @@ -118,8 +118,10 @@ 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 (data->vbus_pin[i])
>>>> - at91_set_gpio_output(data->vbus_pin[i], 0);
>>>> + if (data->vbus_pin[i]) {
>>>> + gpio_request(data->vbus_pin[i], "usb host vbus");
>>>> + gpio_direction_output(data->vbus_pin[i], 0);
>>>> + }
>>>> }
>>>>
>>>> usbh_ohci_data = *data;
>>>> @@ -173,8 +175,10 @@ 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 (data->vbus_pin[i])
>>>> - at91_set_gpio_output(data->vbus_pin[i], 0);
>>>> + if (data->vbus_pin[i]) {
>>>> + gpio_request(data->vbus_pin[i], "usb host vbus");
>>>> + gpio_direction_output(data->vbus_pin[i], 0);
>>>> + }
>>>> }
>>> as you do the same think for ehci & ohci why not factorize it?
>> Just because you may choose only one or the other controller.
>> For instance, if you only want ohci, you can disable ehci selection and
>> always have its configuration done.
> I agree but both configuration function share some code which could be
> factorize, is it not?
Well it is true that it is duplication *but* we are talking about only a
very few lines with very linear configuration instructions.
I do not think it is even worth doing.
Bye,
--
Nicolas Ferre
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists