[PATCH 21/45] usb: musb: abstract out ULPI_BUSCONTROL register reads/writes

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Greg Kroah-Hartman
Date: Friday, March 19, 2010 - 8:18 am

From: Mike Frysinger <vapier@gentoo.org>

The USB PHY on current Blackfin processors is a UTMI+ level 2 PHY.
However, it has no ULPI support - so there are no registers at all.
That means accesses to ULPI_BUSCONTROL have to be abstracted away
like other MUSB registers.

This fixes building for Blackfin parts again.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Acked-by: Anand Gadiyar <gadiyar@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
 drivers/usb/musb/musb_core.c |    5 ++---
 drivers/usb/musb/musb_regs.h |   19 +++++++++++++++++++
 2 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
index b4bbf8f..e54e468 100644
--- a/drivers/usb/musb/musb_core.c
+++ b/drivers/usb/musb/musb_core.c
@@ -2007,7 +2007,6 @@ bad_config:
 	/* host side needs more setup */
 	if (is_host_enabled(musb)) {
 		struct usb_hcd	*hcd = musb_to_hcd(musb);
-		u8 busctl;
 
 		otg_set_host(musb->xceiv, &hcd->self);
 
@@ -2018,9 +2017,9 @@ bad_config:
 
 		/* program PHY to use external vBus if required */
 		if (plat->extvbus) {
-			busctl = musb_readb(musb->mregs, MUSB_ULPI_BUSCONTROL);
+			u8 busctl = musb_read_ulpi_buscontrol(musb->mregs);
 			busctl |= MUSB_ULPI_USE_EXTVBUS;
-			musb_writeb(musb->mregs, MUSB_ULPI_BUSCONTROL, busctl);
+			musb_write_ulpi_buscontrol(musb->mregs, busctl);
 		}
 	}
 
diff --git a/drivers/usb/musb/musb_regs.h b/drivers/usb/musb/musb_regs.h
index 8d8062b..327d0ed 100644
--- a/drivers/usb/musb/musb_regs.h
+++ b/drivers/usb/musb/musb_regs.h
@@ -326,6 +326,11 @@ static inline void  musb_write_rxfifoadd(void __iomem *mbase, u16 c_off)
 	musb_writew(mbase, MUSB_RXFIFOADD, c_off);
 }
 
+static inline void musb_write_ulpi_buscontrol(void __iomem *mbase, u8 val)
+{
+	musb_writeb(mbase, MUSB_ULPI_BUSCONTROL, val);
+}
+
 static inline u8 musb_read_txfifosz(void __iomem *mbase)
 {
 	return musb_readb(mbase, MUSB_TXFIFOSZ);
@@ -346,6 +351,11 @@ static inline u16  musb_read_rxfifoadd(void __iomem *mbase)
 	return musb_readw(mbase, MUSB_RXFIFOADD);
 }
 
+static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase)
+{
+	return musb_readb(mbase, MUSB_ULPI_BUSCONTROL);
+}
+
 static inline u8 musb_read_configdata(void __iomem *mbase)
 {
 	musb_writeb(mbase, MUSB_INDEX, 0);
@@ -510,6 +520,10 @@ static inline void  musb_write_rxfifoadd(void __iomem *mbase, u16 c_off)
 {
 }
 
+static inline void musb_write_ulpi_buscontrol(void __iomem *mbase, u8 val)
+{
+}
+
 static inline u8 musb_read_txfifosz(void __iomem *mbase)
 {
 }
@@ -526,6 +540,11 @@ static inline u16  musb_read_rxfifoadd(void __iomem *mbase)
 {
 }
 
+static inline u8 musb_read_ulpi_buscontrol(void __iomem *mbase)
+{
+	return 0;
+}
+
 static inline u8 musb_read_configdata(void __iomem *mbase)
 {
 	return 0;
-- 
1.7.0.2

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[GIT PATCH] USB fixes for 2.6.34-git, Greg KH, (Fri Mar 19, 8:13 am)
[PATCH 01/45] USB: fix usbfs regression, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 02/45] USB: serial: fix error message on close in g ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 03/45] USB: serial: fix softint not being called on ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 04/45] USB: serial: use port endpoint size to deter ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 05/45] USB: unusual_devs.h: Fix capacity for SL11R- ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 06/45] USB: Option: Add support for a variant of DL ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 07/45] USB: EHCI: fix ITD list order, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 08/45] USB: EHCI: adjust ehci_iso_stream for change ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 09/45] USB: cdc-acm: Fix stupid NULL pointer in res ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 10/45] USB: qcserial: add new device ids, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 11/45] USB: musb: fix build error introduced by iso ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 12/45] USB: xhci: rename driver to xhci_hcd, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 13/45] USB: xHCI: re-initialize cmd_completion, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 14/45] USB: serial: ftdi: add CONTEC vendor and pro ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 15/45] USB: option: fix incorrect manufacturer name ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 16/45] USB: option: move hardcoded PID to a macro i ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 17/45] USB: option: add support for a new CMOTECH d ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 18/45] USB: Fix documentation for avoid_reset_quirk, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 19/45] usb/gadget: fix compile error on r8a66597-udc.c, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 20/45] usb: musb: Fix compile error for omaps for m ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 21/45] usb: musb: abstract out ULPI_BUSCONTROL regi ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 22/45] USB: musb: fix warnings in Blackfin regs, Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 23/45] usb: musb: core: declare mbase only where it ..., Greg Kroah-Hartman, (Fri Mar 19, 8:18 am)
[PATCH 24/45] usb: cdc-wdm: Fix race between write and dis ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 25/45] usb: cdc-wdm: Fix race between autosuspend a ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 26/45] usb: cdc-wdm: Fix race between disconnect an ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 27/45] usb: cdc-wdm: Fix submission of URB after su ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 28/45] usb: cdc-wdm:Fix loss of data due to autosuspend, Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 29/45] usb: cdc-wdm: Fix order in disconnect and fi ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 30/45] usb: cdc-wdm: Fix deadlock between write and ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 31/45] USB: serial: Fix module name typo for qcaux ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 32/45] USB: option.c: Add Pirelli VID/PID and indic ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 33/45] USB: goku_udc: remove potential null dereference, Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 34/45] USB: gadget: fix Blackfin builds after gadge ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 35/45] USB: g_mass_storage: fix section mismatch wa ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 36/45] USB: gadget: f_mass_storage::fsg_bind(): fix ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 37/45] USB: g_mass_storage: fixed module name in Kc ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 38/45] USB: ftdi_sio: Fix locking for change_speed( ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 39/45] USB: gadget: add gadget controller number fo ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 40/45] USB: Remove last bit of CONFIG_USB_BERRY_CHARGE, Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 41/45] USB: cp210x: Remove double usb_control_msg f ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 42/45] USB: Fix usb_fill_int_urb for SuperSpeed devices, Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 43/45] USB: xhci: Make endpoint interval debugging ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 44/45] usb: r8a66597-hcd: fix removed from an attac ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
[PATCH 45/45] USB: gadget/multi: cdc_do_config: remove red ..., Greg Kroah-Hartman, (Fri Mar 19, 8:19 am)
Re: [PATCH 10/45] USB: qcserial: add new device ids, Matthew Garrett, (Thu Apr 1, 2:14 pm)
Re: [PATCH 10/45] USB: qcserial: add new device ids, Bernhard Rosenkraenzer, (Thu Apr 1, 3:31 pm)
Re: [PATCH 10/45] USB: qcserial: add new device ids, Matthew Garrett, (Thu Apr 1, 4:18 pm)