On Wed, Jan 19, 2011 at 12:33 PM, Heikki Krogerus <heikki.krogerus@xxxxxxxxx> wrote: > On Wed, Jan 19, 2011 at 05:20:11PM +0800, ext Yang Ruirui wrote: >> --- linux-2.6.orig/include/linux/usb/otg.h 2011-01-17 09:39:11.000000000 +0800 >> +++ linux-2.6/include/linux/usb/otg.h 2011-01-19 16:38:06.649546989 +0800 >> @@ -74,7 +74,7 @@ struct otg_transceiver { >> void __iomem *io_priv; >> >> /* for notification of usb_xceiv_events */ >> - struct blocking_notifier_head notifier; >> + struct atomic_notifier_head notifier; >> >> /* to pass extra port status to the root hub */ >> u16 port_status; >> @@ -234,13 +234,13 @@ otg_start_srp(struct otg_transceiver *ot >> static inline int >> otg_register_notifier(struct otg_transceiver *otg, struct notifier_block *nb) >> { >> - return blocking_notifier_chain_register(&otg->notifier, nb); >> + return atomic_notifier_chain_register(&otg->notifier, nb); >> } >> >> static inline void >> otg_unregister_notifier(struct otg_transceiver *otg, struct notifier_block *nb) >> { >> - blocking_notifier_chain_unregister(&otg->notifier, nb); >> + atomic_notifier_chain_unregister(&otg->notifier, nb); >> } >> >> /* for OTG controller drivers (and maybe other stuff) */ > > Is drivers/power/twl4030_charger.c ready for atomic notifiers? No it is not, it's doing some i2c stuff. With twl4030 it's called from threaded_irq in twl4030-usb instead of musb core and is working fine.. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html