Skip to contentSkip to conversation

usb langwell otg: use notifier chain of struct otg_transceiver

PATCH New Yang Ruirui 1 participant 1 message Jan 21, 2011 USB

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 usb langwell otg: use notifier chain of struct otg_transceiver

Use notifier chain in otg_transceiver instead of own notifier chain.

---
This patch depends on another patch which change otg_transceiver notifier chain to atomic one, please see:
https://lkml.org/lkml/2011/1/19/72

 drivers/usb/otg/langwell_otg.c    |    7 +++----
 include/linux/usb/intel_mid_otg.h |   17 -----------------
 2 files changed, 3 insertions(+), 21 deletions(-)
drivers/usb/otg/langwell_otg.c +3 -4
@@ -2124,12 +2124,11 @@ static int langwell_otg_probe(struct pci
 	}
 
 	init_timer(&lnw->hsm_timer);
-	ATOMIC_INIT_NOTIFIER_HEAD(&lnw->iotg.iotg_notifier);
+	ATOMIC_INIT_NOTIFIER_HEAD(&lnw->iotg.otg.notifier);
 
 	lnw->iotg_notifier.notifier_call = langwell_otg_iotg_notify;
 
-	retval = intel_mid_otg_register_notifier(&lnw->iotg,
-						&lnw->iotg_notifier);
+	retval = otg_register_notifier(&lnw->iotg.otg, &lnw->iotg_notifier);
 	if (retval) {
 		dev_dbg(lnw->dev, "Failed to register notifier\n");
 		goto err;
@@ -2187,7 +2186,7 @@ static void langwell_otg_remove(struct p
 		flush_workqueue(lnw->qwork);
 		destroy_workqueue(lnw->qwork);
 	}
-	intel_mid_otg_unregister_notifier(&lnw->iotg, &lnw->iotg_notifier);
+	otg_unregister_notifier(&lnw->iotg.otg, &lnw->iotg_notifier);
 	langwell_otg_free_timers();
 
 	/* disable OTGSC interrupt as OTGSC doesn't change in reset */
include/linux/usb/intel_mid_otg.h +0 -17
@@ -117,9 +117,6 @@ struct intel_mid_otg_xceiv {
 	/* ops to access ulpi */
 	struct iotg_ulpi_access_ops	ulpi_ops;
 
-	/* atomic notifier for interrupt context */
-	struct atomic_notifier_head	iotg_notifier;
-
 	/* start/stop USB Host function */
 	int	(*start_host)(struct intel_mid_otg_xceiv *iotg);
 	int	(*stop_host)(struct intel_mid_otg_xceiv *iotg);
@@ -163,18 +160,4 @@ struct intel_mid_otg_xceiv *otg_to_mid_x
 #define MID_OTG_NOTIFY_CLIENTADD	0x0009
 #define MID_OTG_NOTIFY_CLIENTREMOVE	0x000a
 
-static inline int
-intel_mid_otg_register_notifier(struct intel_mid_otg_xceiv *iotg,
-				struct notifier_block *nb)
-{
-	return atomic_notifier_chain_register(&iotg->iotg_notifier, nb);
-}
-
-static inline void
-intel_mid_otg_unregister_notifier(struct intel_mid_otg_xceiv *iotg,
-				struct notifier_block *nb)
-{
-	atomic_notifier_chain_unregister(&iotg->iotg_notifier, nb);
-}
-
 #endif /* __INTEL_MID_OTG_H */