USB: gpio_vbus: use cached IRQ number for consistency with the probed one
authorShinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Thu, 17 May 2012 11:09:32 +0000 (20:09 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 May 2012 18:20:34 +0000 (11:20 -0700)
commit123bbceebeb1174e385eab1fc2b2535dcdcc9ec3
treeda536562050c623182c4fbc8d5fe02b3140f78c5
parent8f9d973a0daee49e0b9b924c724b18b0170ec9cb
USB: gpio_vbus: use cached IRQ number for consistency with the probed one

gpio_vbus is designed to be able to get an IRQ number for VBUS change
interrupt either (1) through platform_get_resource(IORESOURCE_IRQ) or
(2) by processing gpio_to_irq(pdata->gpio_vbus), in probe() function.

On the other hand, gpio_vbus_set_peripheral() and gpio_vbus_remove()
are always doing gpio_to_irq(pdata->gpio_vbus) to get an IRQ number.

This is not just inconsistent, but also broken.  There is no guarantee
that an IRQ number obtained by platform_get_resource() is equal to
gpio_to_irq(pdata->gpio_vbus).

Cache an IRQ number in probe() function, and use it where necessary.

Signed-off-by: Shinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/otg/gpio_vbus.c