[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110120070513.GA24956@darkstar>
Date: Thu, 20 Jan 2011 15:05:13 +0800
From: Yang Ruirui <ruirui.r.yang@...to.com>
To: Felipe Balbi <balbi@...com>, Greg Kroah-Hartman <gregkh@...e.de>,
Hao Wu <hao.wu@...el.com>, Alan Cox <alan@...ux.intel.com>,
Alek Du <alek.du@...el.com>, <linux-usb@...r.kernel.org>,
<linux-kernel@...r.kernel.org>
Subject: [PATCH v2] 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
Signed-off-by: Yang Ruirui <ruirui.r.yang@...to.com>
Reviewed-by: Felipe Balbi <balbi@...com>
---
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-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists