Messages in this thread | | | Date | Mon, 25 Aug 2008 15:35:06 +0200 | From | "pHilipp Zabel" <> | Subject | Re: [PATCH 2/4] USB: OTG: Make otg_get_transceiver() and otg_set_transceiver() generic |
| |
Hi,
On Sat, Jan 19, 2008 at 4:37 PM, Felipe Balbi <me@felipebalbi.com> wrote: > From: Tony Lidgren <tony@atomide.com> > > Move otg_get_transceiver() and otg_set_transceiver() from omap specific code > to common otg.c so other upcoming drivers can share them. > > Signed-off-by: Tony Lindgren <tony@atomide.com> > Signed-off-by: Felipe Balbi <me@felipebalbi.com> > --- > arch/arm/plat-omap/usb.c | 32 -------------------------------- > drivers/usb/core/otg.c | 20 ++++++++++++++++++++ > 2 files changed, 20 insertions(+), 32 deletions(-) > > diff --git a/drivers/usb/core/otg.c b/drivers/usb/core/otg.c > index 11967c0..531afa6 100644 > --- a/drivers/usb/core/otg.c > +++ b/drivers/usb/core/otg.c > @@ -14,9 +14,29 @@ > #include <linux/byteorder/generic.h> > #include <linux/gfp.h> > #include <linux/usb.h> > +#include <linux/usb/otg.h> > > #include "otg_whitelist.h" > > +static struct otg_transceiver *xceiv; > + > +int otg_set_transceiver(struct otg_transceiver *x) > +{ > + if (xceiv && x) > + return -EBUSY; > + xceiv = x; > + return 0; > +} > +EXPORT_SYMBOL(otg_set_transceiver); > + > +struct otg_transceiver *otg_get_transceiver(void) > +{ > + if (xceiv) > + get_device(xceiv->dev); > + return xceiv; > +} > +EXPORT_SYMBOL(otg_get_transceiver); > + > #ifdef CONFIG_USB_OTG_WHITELIST > > /* > diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c > index a5aedf9..5cd39fa 100644 > --- a/arch/arm/plat-omap/usb.c > +++ b/arch/arm/plat-omap/usb.c > @@ -76,38 +76,6 @@ > > /*-------------------------------------------------------------------------*/ > > -#ifdef CONFIG_ARCH_OMAP_OTG > - > -static struct otg_transceiver *xceiv; > - > -/** > - * otg_get_transceiver - find the (single) OTG transceiver driver > - * > - * Returns the transceiver driver, after getting a refcount to it; or > - * null if there is no such transceiver. The caller is responsible for > - * releasing that count. > - */ > -struct otg_transceiver *otg_get_transceiver(void) > -{ > - if (xceiv) > - get_device(xceiv->dev); > - return xceiv; > -} > -EXPORT_SYMBOL(otg_get_transceiver); > - > -int otg_set_transceiver(struct otg_transceiver *x) > -{ > - if (xceiv && x) > - return -EBUSY; > - xceiv = x; > - return 0; > -} > -EXPORT_SYMBOL(otg_set_transceiver); > - > -#endif > - > -/*-------------------------------------------------------------------------*/ > - > #if defined(CONFIG_ARCH_OMAP_OTG) || defined(CONFIG_ARCH_OMAP15XX) > > static u32 __init omap_usb0_init(unsigned nwires, unsigned is_device) > -- > 1.5.4.rc3.24.gb53139 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ >
what is the status of this patch? I guess moving otg_get/set_transceiver into usb core like this (and adding otg_put_transceiver) is better than duplicating this code for PXA and other architectures?
regards Philipp
| |