Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2efeaeb0 authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Merge branch 'for-next' of master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb into usb-next

* 'for-next' of master.kernel.org:/pub/scm/linux/kernel/git/balbi/usb:
  MAINTAINERS: tree moved to kernel.org
  usb: musb: Calling VBUS pulsing API when SRP is initiated.
  usb: otg: TWL6030: OMAP4430: Adding SRP VBUS pulsing API
  usb: musb: host: remove duplicate check in musb_ep_program()
  usb: musb: export musb_interrupt symbol
  usb: musb: allow musb and glue layers to be modules
  usb: musb: drop unneeded musb_debug trickery
parents 472b9127 43b416e5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -4247,7 +4247,7 @@ F: include/linux/isicom.h
MUSB MULTIPOINT HIGH SPEED DUAL-ROLE CONTROLLER
M:	Felipe Balbi <balbi@ti.com>
L:	linux-usb@vger.kernel.org
T:	git git://gitorious.org/usb/usb.git
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
S:	Maintained
F:	drivers/usb/musb/

@@ -4574,6 +4574,7 @@ M: Felipe Balbi <balbi@ti.com>
M:	David Brownell <dbrownell@users.sourceforge.net>
L:	linux-usb@vger.kernel.org
L:	linux-omap@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
S:	Maintained
F:	drivers/usb/*/*omap*
F:	arch/arm/*omap*/usb*
+10 −18
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@ config USB_MUSB_HDRC
	select TWL4030_USB if MACH_OMAP_3430SDP
	select TWL6030_USB if MACH_OMAP_4430SDP || MACH_OMAP4_PANDA
	select USB_OTG_UTILS
	bool 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
	tristate 'Inventra Highspeed Dual Role Controller (TI, ADI, ...)'
	help
	  Say Y here if your system has a dual role high speed USB
	  controller based on the Mentor Graphics silicon IP.  Then
@@ -30,39 +30,39 @@ config USB_MUSB_HDRC

	  If you do not know what this is, please say N.

#	  To compile this driver as a module, choose M here; the
#	  module will be called "musb-hdrc".
	  To compile this driver as a module, choose M here; the
	  module will be called "musb-hdrc".

choice
	prompt "Platform Glue Layer"
	depends on USB_MUSB_HDRC

config USB_MUSB_DAVINCI
	bool "DaVinci"
	tristate "DaVinci"
	depends on ARCH_DAVINCI_DMx

config USB_MUSB_DA8XX
	bool "DA8xx/OMAP-L1x"
	tristate "DA8xx/OMAP-L1x"
	depends on ARCH_DAVINCI_DA8XX

config USB_MUSB_TUSB6010
	bool "TUSB6010"
	tristate "TUSB6010"
	depends on ARCH_OMAP

config USB_MUSB_OMAP2PLUS
	bool "OMAP2430 and onwards"
	tristate "OMAP2430 and onwards"
	depends on ARCH_OMAP2PLUS

config USB_MUSB_AM35X
	bool "AM35x"
	tristate "AM35x"
	depends on ARCH_OMAP

config USB_MUSB_BLACKFIN
	bool "Blackfin"
	tristate "Blackfin"
	depends on (BF54x && !BF544) || (BF52x && ! BF522 && !BF523)

config USB_MUSB_UX500
	bool "U8500 and U5500"
	tristate "U8500 and U5500"
	depends on (ARCH_U8500 && AB8500_USB) || (ARCH_U5500)

endchoice
@@ -176,11 +176,3 @@ config USB_TUSB_OMAP_DMA
	help
	  Enable DMA transfers on TUSB 6010 when OMAP DMA is available.
config	USB_MUSB_DEBUG
	depends on USB_MUSB_HDRC
	bool "Enable debugging messages"
	default n
	help
	  This enables musb debugging. To set the logging level use the debug
	  module parameter. Starting at level 3, per-transfer (urb, usb_request,
	  packet, or dma transfer) tracing may kick in.
+0 −2
Original line number Diff line number Diff line
@@ -2,8 +2,6 @@
# for USB OTG silicon based on Mentor Graphics INVENTRA designs
#

ccflags-$(CONFIG_USB_MUSB_DEBUG) := -DDEBUG

obj-$(CONFIG_USB_MUSB_HDRC) += musb_hdrc.o

musb_hdrc-y := musb_core.o
+5 −5
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ static void otg_timer(unsigned long _musb)
	 * status change events (from the transceiver) otherwise.
	 */
	devctl = musb_readb(mregs, MUSB_DEVCTL);
	DBG(7, "Poll devctl %02x (%s)\n", devctl,
	dev_dbg(musb->controller, "Poll devctl %02x (%s)\n", devctl,
		otg_state_string(musb->xceiv->state));

	spin_lock_irqsave(&musb->lock, flags);
@@ -203,7 +203,7 @@ static void am35x_musb_try_idle(struct musb *musb, unsigned long timeout)
	/* Never idle if active, or when VBUS timeout is not set as host */
	if (musb->is_active || (musb->a_wait_bcon == 0 &&
				musb->xceiv->state == OTG_STATE_A_WAIT_BCON)) {
		DBG(4, "%s active, deleting timer\n",
		dev_dbg(musb->controller, "%s active, deleting timer\n",
			otg_state_string(musb->xceiv->state));
		del_timer(&otg_workaround);
		last_timer = jiffies;
@@ -211,12 +211,12 @@ static void am35x_musb_try_idle(struct musb *musb, unsigned long timeout)
	}

	if (time_after(last_timer, timeout) && timer_pending(&otg_workaround)) {
		DBG(4, "Longer idle timer already pending, ignoring...\n");
		dev_dbg(musb->controller, "Longer idle timer already pending, ignoring...\n");
		return;
	}
	last_timer = timeout;

	DBG(4, "%s inactive, starting idle timer for %u ms\n",
	dev_dbg(musb->controller, "%s inactive, starting idle timer for %u ms\n",
		otg_state_string(musb->xceiv->state),
		jiffies_to_msecs(timeout - jiffies));
	mod_timer(&otg_workaround, timeout);
@@ -305,7 +305,7 @@ static irqreturn_t am35x_musb_interrupt(int irq, void *hci)
		}

		/* NOTE: this must complete power-on within 100 ms. */
		DBG(2, "VBUS %s (%s)%s, devctl %02x\n",
		dev_dbg(musb->controller, "VBUS %s (%s)%s, devctl %02x\n",
				drvvbus ? "on" : "off",
				otg_state_string(musb->xceiv->state),
				err ? " ERROR" : "",
+6 −5
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ void musb_write_fifo(struct musb_hw_ep *hw_ep, u16 len, const u8 *src)

	musb_writew(epio, MUSB_TXCOUNT, len);

	DBG(4, "TX ep%d fifo %p count %d buf %p, epio %p\n",
	dev_dbg(musb->controller, "TX ep%d fifo %p count %d buf %p, epio %p\n",
			hw_ep->epnum, fifo, len, src, epio);

	dump_fifo_data(src, len);
@@ -154,7 +154,7 @@ void musb_read_fifo(struct musb_hw_ep *hw_ep, u16 len, u8 *dst)
				*(dst + len - 1) = (u8)inw((unsigned long)fifo + 4);
		}
	}
	DBG(4, "%cX ep%d fifo %p count %d buf %p\n",
	dev_dbg(musb->controller, "%cX ep%d fifo %p count %d buf %p\n",
			'R', hw_ep->epnum, fifo, len, dst);

	dump_fifo_data(dst, len);
@@ -279,13 +279,14 @@ static void musb_conn_timer_handler(unsigned long _musb)
		}
		break;
	default:
		DBG(1, "%s state not handled\n",
		dev_dbg(musb->controller, "%s state not handled\n",
			otg_state_string(musb->xceiv->state));
		break;
	}
	spin_unlock_irqrestore(&musb->lock, flags);

	DBG(4, "state is %s\n", otg_state_string(musb->xceiv->state));
	dev_dbg(musb->controller, "state is %s\n",
		otg_state_string(musb->xceiv->state));
}

static void bfin_musb_enable(struct musb *musb)
@@ -307,7 +308,7 @@ static void bfin_musb_set_vbus(struct musb *musb, int is_on)
		value = !value;
	gpio_set_value(musb->config->gpio_vrsel, value);

	DBG(1, "VBUS %s, devctl %02x "
	dev_dbg(musb->controller, "VBUS %s, devctl %02x "
		/* otg %3x conf %08x prcm %08x */ "\n",
		otg_state_string(musb->xceiv->state),
		musb_readb(musb->mregs, MUSB_DEVCTL));
Loading