Philipp Zabel wrote: > instead of assuming that every GPIO number != 0 is valid while 0 is not. > > Signed-off-by: Philipp Zabel <philipp.zabel@xxxxxxxxx> Yeah - actually this should be a fix patch and go before the other one. > --- > drivers/usb/gadget/pxa25x_udc.c | 22 +++++++++++----------- > 1 files changed, 11 insertions(+), 11 deletions(-) > > diff --git a/drivers/usb/gadget/pxa25x_udc.c b/drivers/usb/gadget/pxa25x_udc.c > index 0f63810..ec526fc 100644 > --- a/drivers/usb/gadget/pxa25x_udc.c > +++ b/drivers/usb/gadget/pxa25x_udc.c > @@ -140,7 +140,7 @@ static int is_vbus_present(void) > { > struct pxa2xx_udc_mach_info *mach = the_controller->mach; > > - if (mach->gpio_vbus) { > + if (gpio_is_valid(mach->gpio_vbus)) { > int value = gpio_get_value(mach->gpio_vbus); > > if (mach->gpio_vbus_inverted) > @@ -159,7 +159,7 @@ static void pullup_off(void) > struct pxa2xx_udc_mach_info *mach = the_controller->mach; > int off_level = mach->gpio_pullup_inverted; > > - if (mach->gpio_pullup) > + if (gpio_is_valid(mach->gpio_pullup)) > gpio_set_value(mach->gpio_pullup, off_level); > else if (mach->udc_command) > mach->udc_command(PXA2XX_UDC_CMD_DISCONNECT); > @@ -170,7 +170,7 @@ static void pullup_on(void) > struct pxa2xx_udc_mach_info *mach = the_controller->mach; > int on_level = !mach->gpio_pullup_inverted; > > - if (mach->gpio_pullup) > + if (gpio_is_valid(mach->gpio_pullup)) > gpio_set_value(mach->gpio_pullup, on_level); > else if (mach->udc_command) > mach->udc_command(PXA2XX_UDC_CMD_CONNECT); > @@ -1001,7 +1001,7 @@ static int pxa25x_udc_pullup(struct usb_gadget *_gadget, int is_active) > udc = container_of(_gadget, struct pxa25x_udc, gadget); > > /* not all boards support pullup control */ > - if (!udc->mach->gpio_pullup && !udc->mach->udc_command) > + if (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command) > return -EOPNOTSUPP; > > udc->pullup = (is_active != 0); > @@ -2192,7 +2192,7 @@ static int __init pxa25x_udc_probe(struct platform_device *pdev) > > dev->transceiver = otg_get_transceiver(); > > - if (dev->mach->gpio_vbus) { > + if (gpio_is_valid(dev->mach->gpio_vbus)) { > if ((retval = gpio_request(dev->mach->gpio_vbus, > "pxa25x_udc GPIO VBUS"))) { > dev_dbg(&pdev->dev, > @@ -2205,7 +2205,7 @@ static int __init pxa25x_udc_probe(struct platform_device *pdev) > } else > vbus_irq = 0; > > - if (dev->mach->gpio_pullup) { > + if (gpio_is_valid(dev->mach->gpio_pullup)) { > if ((retval = gpio_request(dev->mach->gpio_pullup, > "pca25x_udc GPIO PULLUP"))) { > dev_dbg(&pdev->dev, > @@ -2288,10 +2288,10 @@ lubbock_fail0: > #endif > free_irq(irq, dev); > err_irq1: > - if (dev->mach->gpio_pullup) > + if (gpio_is_valid(dev->mach->gpio_pullup)) > gpio_free(dev->mach->gpio_pullup); > err_gpio_pullup: > - if (dev->mach->gpio_vbus) > + if (gpio_is_valid(dev->mach->gpio_vbus)) > gpio_free(dev->mach->gpio_vbus); > err_gpio_vbus: > if (dev->transceiver) { > @@ -2330,11 +2330,11 @@ static int __exit pxa25x_udc_remove(struct platform_device *pdev) > free_irq(LUBBOCK_USB_IRQ, dev); > } > #endif > - if (dev->mach->gpio_vbus) { > + if (gpio_is_valid(dev->mach->gpio_vbus)) { > free_irq(gpio_to_irq(dev->mach->gpio_vbus), dev); > gpio_free(dev->mach->gpio_vbus); > } > - if (dev->mach->gpio_pullup) > + if (gpio_is_valid(dev->mach->gpio_pullup)) > gpio_free(dev->mach->gpio_pullup); > > clk_put(dev->clk); > @@ -2370,7 +2370,7 @@ static int pxa25x_udc_suspend(struct platform_device *dev, pm_message_t state) > struct pxa25x_udc *udc = platform_get_drvdata(dev); > unsigned long flags; > > - if (!udc->mach->gpio_pullup && !udc->mach->udc_command) > + if (!gpio_is_valid(udc->mach->gpio_pullup) && !udc->mach->udc_command) > WARNING("USB host won't detect disconnect!\n"); > udc->suspended = 1; > -- 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