Re: [PATCH] USB: ehci-s5p: Fix phy reset

From: Alexander Graf
Date: Wed Mar 13 2013 - 13:46:09 EST



On 13.03.2013, at 18:28, Doug Anderson wrote:

> Alexander,
>
> On Tue, Mar 12, 2013 at 6:09 PM, Alexander Graf <agraf@xxxxxxx> wrote:
>> - err = gpio_request_one(gpio, GPIOF_OUT_INIT_HIGH, "ehci_vbus_gpio");
>> - if (err)
>> + /* reset pulls the line down, then up again */
>> + err = gpio_request_one(gpio, GPIOF_OUT_INIT_LOW, "ehci_vbus_gpio");
>> + if (err) {
>> dev_err(&pdev->dev, "can't request ehci vbus gpio %d", gpio);
>> + return;
>> + }
>> + mdelay(1);
>> + __gpio_set_value(gpio, 1);
>> + gpio_free(gpio);
>
> Freeing the gpio is a little on the iffy side since you actually care
> about keeping the value. Perhaps you can change this to
> devm_gpio_request_one() and avoid the free? I was about to submit a
> patch to do just that (since otherwise you run into trouble if you
> ever defer the probe) but then ran across your patch.

I could also just return it when the function exits and only free it when we exit the probe function with a negative value. The reason I put it in here was that on probe deferral, the pin simply gets blocked.

However, I could probably also just completely take the gpio_free() out of this patch and resubmit, as it should be pretty much unrelated. Then you can patch it properly.


Alex

>
> Thanks!
>
> -Doug

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/