usb: dwc3: pci: Use devm functions to get the phy GPIOs
authorHans de Goede <hdegoede@redhat.com>
Sun, 10 Jun 2018 14:01:22 +0000 (16:01 +0200)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 26 Jul 2018 10:54:25 +0000 (13:54 +0300)
Even though we only use them once, it is better to not put/release
the GPIOs immediately after use, so that others cannot claim them.

Use devm functions to get the phy GPIOs, so that they will be
automatically released when were unbound from the device and
remove the gpio_put calls.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/dwc3-pci.c

index 26829b299482c561cc8ded6d0e5d25438c6b19a3..08713398073d4186a4e244311907896bd0eaa9fe 100644 (file)
@@ -177,20 +177,20 @@ static int dwc3_pci_quirks(struct dwc3_pci *dwc)
                         * put the gpio descriptors again here because the phy driver
                         * might want to grab them, too.
                         */
-                       gpio = gpiod_get_optional(&pdev->dev, "cs", GPIOD_OUT_LOW);
+                       gpio = devm_gpiod_get_optional(&pdev->dev, "cs",
+                                                      GPIOD_OUT_LOW);
                        if (IS_ERR(gpio))
                                return PTR_ERR(gpio);
 
                        gpiod_set_value_cansleep(gpio, 1);
-                       gpiod_put(gpio);
 
-                       gpio = gpiod_get_optional(&pdev->dev, "reset", GPIOD_OUT_LOW);
+                       gpio = devm_gpiod_get_optional(&pdev->dev, "reset",
+                                                      GPIOD_OUT_LOW);
                        if (IS_ERR(gpio))
                                return PTR_ERR(gpio);
 
                        if (gpio) {
                                gpiod_set_value_cansleep(gpio, 1);
-                               gpiod_put(gpio);
                                usleep_range(10000, 11000);
                        }
                }