Re: [PATCH] USB: bcma: use simpler devm helper for getting vcc GPIO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/24/2016 05:26 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.


    Then use devm_gpiod_get_optional()?

I see this function (_optional) hides err number from caller. I'm not
sure why it should matter for us. Is there any difference at the end?

It only hides an error caused by missing prop, so that you can filter out the other errors. OTOH, with gpiolib disabled, -ENOSYS is returned. That kinda makes little sense... :-/

MBR, Sergei

--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux