aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/musb
diff options
context:
space:
mode:
authorPali Rohár <pali.rohar@gmail.com>2013-09-18 19:03:34 +0200
committerFelipe Balbi <balbi@ti.com>2013-10-01 09:31:14 -0500
commit6fa7178ce72764a564b5f5b7d2826d3697b89e3a (patch)
treeae7c9faa0325b370ce3b198c2cb2e27f9282f13e /drivers/usb/musb
parentusb: musb: Add missing ATOMIC_INIT_NOTIFIER_HEAD (diff)
downloadlinux-dev-6fa7178ce72764a564b5f5b7d2826d3697b89e3a.tar.xz
linux-dev-6fa7178ce72764a564b5f5b7d2826d3697b89e3a.zip
usb: musb: Call atomic_notifier_call_chain when status is changed
More power supply drivers depends on vbus events and without it they not working. Power supply drivers using usb_register_notifier, so to deliver events it is needed to call atomic_notifier_call_chain. So without atomic notifier power supply driver isp1704 not retrieving vbus status and reporting bogus values to userspace and also to board platform data functions. Without proper data charger drivers trying to charge battery also when charger is disconnected or do not start charging when wallcharger connects. Atomic notifier in musb driver was used before v3.5 and was replaced with omap mailbox. This patch adding atomic_notifier_call_chain call from function omap_musb_set_mailbox. Signed-off-by: Pali Rohár <pali.rohar@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/musb')
-rw-r--r--drivers/usb/musb/omap2430.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
index 59d2245db1c8..cefafdcbe3a6 100644
--- a/drivers/usb/musb/omap2430.c
+++ b/drivers/usb/musb/omap2430.c
@@ -305,6 +305,9 @@ static void omap_musb_set_mailbox(struct omap2430_glue *glue)
default:
dev_dbg(dev, "ID float\n");
}
+
+ atomic_notifier_call_chain(&musb->xceiv->notifier,
+ musb->xceiv->last_event, NULL);
}