On Tuesday 17 September 2013 17:48:59 you wrote: > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote: > > 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@xxxxxxxxx> > > --- > > > > drivers/usb/musb/omap2430.c | 3 +++ > > drivers/usb/phy/phy-twl4030-usb.c | 2 ++ > > 2 files changed, 5 insertions(+) > > > > diff --git a/drivers/usb/musb/omap2430.c > > b/drivers/usb/musb/omap2430.c index f44e8b5..5c40252 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); > > let's add a wrapper for this: > > static inline int usb_phy_notify(struct usb phy *x, unsigned > val, void *v) { > return atomic_notifier_call_chain(&x->notifier, val, v); > } Where to add this wrapper? To omap2430.c? or some include file? On Tuesday 17 September 2013 17:49:17 Felipe Balbi wrote: > On Sun, Sep 08, 2013 at 10:50:36AM +0200, Pali Rohár wrote: > > diff --git a/drivers/usb/phy/phy-twl4030-usb.c > > b/drivers/usb/phy/phy-twl4030-usb.c index 8f78d2d..efe6155 > > 100644 > > --- a/drivers/usb/phy/phy-twl4030-usb.c > > +++ b/drivers/usb/phy/phy-twl4030-usb.c > > @@ -705,6 +705,8 @@ static int twl4030_usb_probe(struct > > platform_device *pdev) > > > > if (device_create_file(&pdev->dev, &dev_attr_vbus)) > > > > dev_warn(&pdev->dev, "could not create sysfs file\n"); > > > > + ATOMIC_INIT_NOTIFIER_HEAD(&twl->phy.notifier); > > BTW, this is a bugfix, send separately. What to send separately? This full patch 1/4 is bugfix. And I did not understand what you want. Maybe it could be easier for you to apply this small 3+2 lines patch how you need. -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.