On 24 March 2016 at 01:02, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: > On 03/23/2016 11:18 PM, Rafał Miłecki wrote: >> On 23 March 2016 at 14:52, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx> wrote: >>> On 03/23/2016 07:37 PM, Rafał Miłecki wrote: >>>> Thanks to switching to devm_gpiod_get: >>>> 1) We don't have to pass fwnode pointer >>>> 2) We can request initial GPIO value at getting call >>>> This was successfully tested on Netgear R6250 (BCM4708). >>>> >>>> Signed-off-by: Rafał Miłecki <zajec5@xxxxxxxxx> >>>> --- >>>> drivers/usb/host/bcma-hcd.c | 6 ++---- >>>> 1 file changed, 2 insertions(+), 4 deletions(-) >>>> >>>> diff --git a/drivers/usb/host/bcma-hcd.c b/drivers/usb/host/bcma-hcd.c >>>> index 963e2d0..172ef17 100644 >>>> --- a/drivers/usb/host/bcma-hcd.c >>>> +++ b/drivers/usb/host/bcma-hcd.c >>>> @@ -352,10 +352,8 @@ static int bcma_hcd_probe(struct bcma_device *core) >>>> usb_dev->core = core; >>>> >>>> if (core->dev.of_node) >>>> - usb_dev->gpio_desc = devm_get_gpiod_from_child(&core->dev, "vcc", >>>> - &core->dev.of_node->fwnode); >>>> - if (!IS_ERR_OR_NULL(usb_dev->gpio_desc)) >>>> - gpiod_direction_output(usb_dev->gpio_desc, 1); >>>> + usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc", >>>> + GPIOD_OUT_HIGH); >>> Do you need to check the returned descriptor? >> Do you mean like in future, after initialization? Yes. You can check it with >> grep gpio_desc drivers/usb/host/bcma-hcd.c > > Oh, sorry! > > I mean you need to check the pointer returned by devm_gpiod_get(). Sure. I don't need to. Only some of devices have USB power controlled using GPIO, so having this entry in DT is optional. -- Rafał -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html