atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line
authorHans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
Tue, 24 Mar 2009 14:45:20 +0000 (15:45 +0100)
committerHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
Thu, 26 Mar 2009 13:58:59 +0000 (14:58 +0100)
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 <hans-christian.egtvedt@atmel.com>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
drivers/usb/gadget/atmel_usba_udc.c

index 65b03e3..ee7ebb6 100644 (file)
@@ -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);