]> pilppa.com Git - linux-2.6-omap-h63xx.git/commit
twl4030-usb updates/fixes
authorDavid Brownell <dbrownell@users.sourceforge.net>
Thu, 16 Oct 2008 19:32:43 +0000 (12:32 -0700)
committerTony Lindgren <tony@atomide.com>
Thu, 16 Oct 2008 20:07:12 +0000 (13:07 -0700)
commitca6bc50f410c4c6797d5edd267968bcc973ce879
tree7d22c7e5ae7f3663958b3725ed2d64dcfdcb37b5
parentcf27973de11184376280d2f46aaa3b03cfed6774
twl4030-usb updates/fixes

Simplify handling of VBUS and ID status and the USB_PRES interrupt.
This seems to resolve the problems I previously saw on Beagle and
Overo boards.

 - Read the status directly, instead of trying to infer it from
   dodgey side effects of IRQ handling and trigger tweaking.

 - Stop trying to arrange those dodgey side effects; just leave
   the IRQ enabled at all times.

 - Check that status as part of driver probe, so the PHY can
   always be active by the time it's needed.  (BUGFIX!)

 - Re-sequence probe() to be less racey, and to avoid duplicating
   logic found elsewhere (notably irq handling and PHY activation).

 - Make the irq_chip be the exclusive owner of PWR_EDR (finally).

 - Get rid of needless work_struct ... in this irq handling thread,
   it's safe and cheap to call sysfs_notify() directly.

Stop enabling IRQs on the USB subchip.  There's no IRQ handler for
them, and since ALT_INT_REROUTE isn't being set they'll never
arrive ... so there's no point to enabling them.

Also add some comments about other things such an otg_transciever
driver should be doing, fixing minor omissions; and remove some
unnecessary file inclusions.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Tony Lindgren <tony@atomide.com>
drivers/i2c/chips/twl4030-usb.c