[PATCH] usb langwell otg: use notifier chain of struct otg_transceiver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, please see:
https://lkml.org/lkml/2011/1/19/72

Signed-off-by: Yang Ruirui <ruirui.r.yang@xxxxxxxxx>
---
 drivers/usb/otg/langwell_otg.c    |    7 +++----
 include/linux/usb/intel_mid_otg.h |   17 -----------------
 2 files changed, 3 insertions(+), 21 deletions(-)

--- linux-2.6.orig/drivers/usb/otg/langwell_otg.c	2010-12-15 15:43:36.000000000 +0800
+++ linux-2.6/drivers/usb/otg/langwell_otg.c	2011-01-20 13:33:28.346040564 +0800
@@ -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 */
--- linux-2.6.orig/include/linux/usb/intel_mid_otg.h	2010-12-15 15:43:38.000000000 +0800
+++ linux-2.6/include/linux/usb/intel_mid_otg.h	2011-01-20 13:23:48.809375229 +0800
@@ -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 */
--
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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux