[PATCH 2/4] ARM: mx5/babbage: Use gpio_request_one in babbage_usbhub_reset

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Thu Mar 17 03:55:46 EDT 2011


Hello Fabio,

On Wed, Mar 16, 2011 at 10:52:32PM -0300, Fabio Estevam wrote:
> Current code inside babbage_usbhub_reset uses gpio_direction_output with initial value of the GPIO and also sets 
> the GPIO value via gpio_set_value to the same level right after. This is not needed. 
> 
> By using gpio_request_one it is possible to set the direction and initial value in one shot.
> 
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
>  arch/arm/mach-mx5/board-mx51_babbage.c |    9 +++------
>  1 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/mach-mx5/board-mx51_babbage.c b/arch/arm/mach-mx5/board-mx51_babbage.c
> index ff79395..cba8307 100644
> --- a/arch/arm/mach-mx5/board-mx51_babbage.c
> +++ b/arch/arm/mach-mx5/board-mx51_babbage.c
> @@ -209,17 +209,14 @@ static inline void babbage_usbhub_reset(void)
>  	int ret;
>  
>  	/* Bring USB hub out of reset */
> -	ret = gpio_request(BABBAGE_USB_HUB_RESET, "GPIO1_7");
> +	ret = gpio_request_one(BABBAGE_USB_HUB_RESET, 
> +					GPIOF_OUT_INIT_LOW, "GPIO1_7");
>  	if (ret) {
>  		printk(KERN_ERR"failed to get GPIO_USB_HUB_RESET: %d\n", ret);
>  		return;
>  	}
> -	gpio_direction_output(BABBAGE_USB_HUB_RESET, 0);
>  
> -	/* USB HUB RESET - De-assert USB HUB RESET_N */
> -	msleep(1);
> -	gpio_set_value(BABBAGE_USB_HUB_RESET, 0);
> -	msleep(1);
> +	msleep(2);
>  	gpio_set_value(BABBAGE_USB_HUB_RESET, 1);
>  }
I think the first comment ("Bring USB hub out of reset") is wrong,
shouldn't it be:

	/* reset USB hub */
	ret = gpio_request_one(BABBAGE_USB_HUB_RESET, ...
	if (ret)
		...
	msleep(2);
	/* deassert reset */
	gpio_set_value(BABBAGE_USB_HUB_RESET, 1);

because "bring out of reset" is only the set_value(.., 1);?

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list