USB: gpio_vbus: avoid consecutive vbus_session calls with the same "is_active"
authorShinya Kuribayashi <shinya.kuribayashi.px@renesas.com>
Thu, 10 May 2012 04:02:38 +0000 (13:02 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 14 May 2012 16:02:23 +0000 (09:02 -0700)
commite44694e858ed000ef11ee37861c7f7c86d8ddbda
tree76c8b6f7f5e9bff4413729e0cfe08c9ae00dcf25
parenta6dc9cf76b9c39ccffe083f09f995ce2502f5773
USB: gpio_vbus: avoid consecutive vbus_session calls with the same "is_active"

Basically, ->vbus_session() calls should be served when VBUS session
starts and ends (it's not whenever transciever drivers detect VBUS
_changes_).  Otherwise, if UDC gadget drivers don't want for some
reason ->vbus_session() calls with the same "is_active" value, either
OTG or UDC drivers need to have some protection handlings.

Also, on platforms using this 'gpio_vbus' driver, the driver is only
allowed to check whether VBUS is applied.  There is no kernel-standard
way prepared for UDC gadget drivers to do that.

With this in mind, gpio_vbus should try to prevent unnecessary
consecutive vbus_session calls being served with the same "in_active"
value.

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