From 3801eb331ba41e975f9c2e9c948550774f725727 Mon Sep 17 00:00:00 2001 From: David Brownell Date: Tue, 31 Mar 2009 12:28:31 -0700 Subject: [PATCH] --- yaml --- r: 151311 b: refs/heads/master c: cc835e321a9f3fa5e083436872e198095f4805b9 h: refs/heads/master i: 151309: 26d08d24c30bc6636947024c67177f2da2a4f2d2 151307: 2e63d288f8ef6ea62c56d45e614c9fffc8c3921a 151303: 60ce3b06e3d2586fc46db535d38a0ac9ac7a7a35 151295: 9379522ec0358d98d35d9b66707d8ba8d6019036 v: v3 --- [refs] | 2 +- trunk/drivers/usb/otg/nop-usb-xceiv.c | 25 ++++++++++--------------- trunk/include/linux/usb/otg.h | 4 ++-- 3 files changed, 13 insertions(+), 18 deletions(-) diff --git a/[refs] b/[refs] index 37b68e405737..62df77996dfb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: def6f8b978618d50daaddb92331d398da9e141f1 +refs/heads/master: cc835e321a9f3fa5e083436872e198095f4805b9 diff --git a/trunk/drivers/usb/otg/nop-usb-xceiv.c b/trunk/drivers/usb/otg/nop-usb-xceiv.c index c567168f89af..9ed5ea568679 100644 --- a/trunk/drivers/usb/otg/nop-usb-xceiv.c +++ b/trunk/drivers/usb/otg/nop-usb-xceiv.c @@ -22,8 +22,8 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * Current status: - * this is to add "nop" transceiver for all those phy which is - * autonomous such as isp1504 etc. + * This provides a "nop" transceiver for PHYs which are + * autonomous such as isp1504, isp1707, etc. */ #include @@ -36,30 +36,25 @@ struct nop_usb_xceiv { struct device *dev; }; -static u64 nop_xceiv_dmamask = DMA_BIT_MASK(32); - -static struct platform_device nop_xceiv_device = { - .name = "nop_usb_xceiv", - .id = -1, - .dev = { - .dma_mask = &nop_xceiv_dmamask, - .coherent_dma_mask = DMA_BIT_MASK(32), - .platform_data = NULL, - }, -}; +static struct platform_device *pd; void usb_nop_xceiv_register(void) { - if (platform_device_register(&nop_xceiv_device) < 0) { + if (pd) + return; + pd = platform_device_register_simple("nop_usb_xceiv", -1, NULL, 0); + if (!pd) { printk(KERN_ERR "Unable to register usb nop transceiver\n"); return; } } +EXPORT_SYMBOL(usb_nop_xceiv_register); void usb_nop_xceiv_unregister(void) { - platform_device_unregister(&nop_xceiv_device); + platform_device_unregister(pd); } +EXPORT_SYMBOL(usb_nop_xceiv_unregister); static inline struct nop_usb_xceiv *xceiv_to_nop(struct otg_transceiver *x) { diff --git a/trunk/include/linux/usb/otg.h b/trunk/include/linux/usb/otg.h index 1aaa826396a1..2443c0e7a80c 100644 --- a/trunk/include/linux/usb/otg.h +++ b/trunk/include/linux/usb/otg.h @@ -80,10 +80,10 @@ struct otg_transceiver { /* for board-specific init logic */ extern int otg_set_transceiver(struct otg_transceiver *); -#ifdef CONFIG_NOP_USB_XCEIV + +/* sometimes transceivers are accessed only through e.g. ULPI */ extern void usb_nop_xceiv_register(void); extern void usb_nop_xceiv_unregister(void); -#endif /* for usb host and peripheral controller drivers */