On 03/28/2015 04:30 AM, Uwe Kleine-König wrote:
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.

Currently this parameter is made optional with the help of a cpp trick.
To allow dropping this hack convert callers to explictly pass a value
for flags.

Signed-off-by: Uwe Kleine-König <u.kleine-koe...@pengutronix.de>
---
  drivers/usb/gadget/udc/pxa27x_udc.c | 2 +-
  drivers/usb/phy/phy-generic.c       | 6 ++++--
  2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/gadget/udc/pxa27x_udc.c 
b/drivers/usb/gadget/udc/pxa27x_udc.c
index 6a855fc9bd84..b0d4d1ef5aab 100644
--- a/drivers/usb/gadget/udc/pxa27x_udc.c
+++ b/drivers/usb/gadget/udc/pxa27x_udc.c
@@ -2434,7 +2434,7 @@ static int pxa_udc_probe(struct platform_device *pdev)
                }
                udc->udc_command = mach->udc_command;
        } else {
-               udc->gpiod = devm_gpiod_get(&pdev->dev, NULL);
+               udc->gpiod = devm_gpiod_get(&pdev->dev, NULL, GPIOD_ASIS);
        }

        regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
diff --git a/drivers/usb/phy/phy-generic.c b/drivers/usb/phy/phy-generic.c
index 70be50b734b2..3a48c14c3163 100644
--- a/drivers/usb/phy/phy-generic.c
+++ b/drivers/usb/phy/phy-generic.c
@@ -220,11 +220,13 @@ int usb_phy_gen_create_phy(struct device *dev, struct 
usb_phy_generic *nop,
                        clk_rate = 0;

                needs_vcc = of_property_read_bool(node, "vcc-supply");
-               nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset");
+               nop->gpiod_reset = devm_gpiod_get_optional(dev, "reset",
+                                                          GPIOD_ASIS);
                err = PTR_ERR_OR_ZERO(nop->gpiod_reset);
                if (!err) {
                        nop->gpiod_vbus = devm_gpiod_get_optional(dev,
-                                                        "vbus-detect");
+                                                        "vbus-detect",
+                                                        GPIOD_ASIS);
                        err = PTR_ERR_OR_ZERO(nop->gpiod_vbus);

Looks good, but can't we also merge the call to gpiod_direction to avoid using GPIOD_ASIS? The golden rule is that a direction should not remain in an unknown state after being requested.

This would also require adding a flag to the alternative calls to gpio_request_one(). At first sight it seems to be doable, but I don't know these drivers well enough to have an informed opinion.
-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to