Merge branch 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6
* 'avr32-arch' of git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6: avr32: add hardware handshake support to atmel_serial avr32: add RTS/CTS/CLK pin selection for the USARTs Add RTC support for Merisc boards avr32: at32ap700x: setup DMA for AC97C in the machine code avr32: at32ap700x: setup DMA for ABDAC in the machine code Add Merisc board support avr32: use gpio_is_valid() to check USBA vbus_pin I/O line atmel-usba-udc: use gpio_is_valid() to check vbus_pin I/O line avr32: fix timing LCD parameters for EVKLCD10X boards avr32: use GPIO line PB15 on EVKLCD10x boards for backlight avr32: configure MCI detect and write protect pins for EVKLCD10x boards avr32: set pin mask to alternative 18 bpp for EVKLCD10x boards avr32: add pin mask for 18-bit color on the LCD controller avr32: fix 15-bit LCDC pin mask to use MSB lines
This commit is contained in:
@@ -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);
|
||||
|
مرجع در شماره جدید
Block a user