From: Hans-Christian Egtvedt Date: Tue, 24 Mar 2009 14:45:20 +0000 (+0100) Subject: atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line X-Git-Tag: v2.6.30-rc1~201^2~8 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=472a6786b071ea88144e09eeb9b2a77549d98e75;p=karo-tx-linux.git atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line This patch will convert to use gpio_is_valid() to check the vbus_pin platform data. It will also default to -ENODEV if no vbus_pin is defined. Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen --- diff --git a/drivers/usb/gadget/atmel_usba_udc.c b/drivers/usb/gadget/atmel_usba_udc.c index 65b03e3445a1..ee7ebb674416 100644 --- a/drivers/usb/gadget/atmel_usba_udc.c +++ b/drivers/usb/gadget/atmel_usba_udc.c @@ -319,7 +319,7 @@ static inline void usba_cleanup_debugfs(struct usba_udc *udc) static int vbus_is_present(struct usba_udc *udc) { - if (udc->vbus_pin != -1) + if (gpio_is_valid(udc->vbus_pin)) return gpio_get_value(udc->vbus_pin); /* No Vbus detection: Assume always present */ @@ -1821,7 +1821,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) DBG(DBG_GADGET, "registered driver `%s'\n", driver->driver.name); udc->vbus_prev = 0; - if (udc->vbus_pin != -1) + if (gpio_is_valid(udc->vbus_pin)) enable_irq(gpio_to_irq(udc->vbus_pin)); /* If Vbus is present, enable the controller and wait for reset */ @@ -1852,7 +1852,7 @@ int usb_gadget_unregister_driver(struct usb_gadget_driver *driver) if (driver != udc->driver || !driver->unbind) return -EINVAL; - if (udc->vbus_pin != -1) + if (gpio_is_valid(udc->vbus_pin)) disable_irq(gpio_to_irq(udc->vbus_pin)); spin_lock_irqsave(&udc->lock, flags); @@ -1910,7 +1910,7 @@ static int __init usba_udc_probe(struct platform_device *pdev) udc->pdev = pdev; udc->pclk = pclk; udc->hclk = hclk; - udc->vbus_pin = -1; + udc->vbus_pin = -ENODEV; ret = -ENOMEM; udc->regs = ioremap(regs->start, regs->end - regs->start + 1); @@ -1996,7 +1996,7 @@ static int __init usba_udc_probe(struct platform_device *pdev) goto err_device_add; } - if (pdata->vbus_pin >= 0) { + if (gpio_is_valid(pdata->vbus_pin)) { if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) { udc->vbus_pin = pdata->vbus_pin; @@ -2005,7 +2005,7 @@ static int __init usba_udc_probe(struct platform_device *pdev) "atmel_usba_udc", udc); if (ret) { gpio_free(udc->vbus_pin); - udc->vbus_pin = -1; + udc->vbus_pin = -ENODEV; dev_warn(&udc->pdev->dev, "failed to request vbus irq; " "assuming always on\n"); @@ -2051,7 +2051,7 @@ static int __exit usba_udc_remove(struct platform_device *pdev) usba_ep_cleanup_debugfs(&usba_ep[i]); usba_cleanup_debugfs(udc); - if (udc->vbus_pin != -1) + if (gpio_is_valid(udc->vbus_pin)) gpio_free(udc->vbus_pin); free_irq(udc->irq, udc);