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

Commit e55f7cd2 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

usb: ohci: remove ep93xx bus glue platform driver



Convert ep93xx to use the OHCI platform driver and remove the
ohci-ep93xx bus glue driver.

Enable CONFIG_OHCI_HCD_PLATFORM in the ep93xx_defconfig so that USB
is still enabled by default on the EP93xx platform.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Cc: Ryan Mallon <rmallon@gmail.com>
Cc: Lennert Buytenhek <kernel@wantstofly.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Olof Johansson <olof@lixom.net>
Cc: Russell King <linux@arm.linux.org.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f55055b4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ CONFIG_USB=y
CONFIG_USB_DEBUG=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_STORAGE=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
+1 −1
Original line number Diff line number Diff line
@@ -212,7 +212,7 @@ static struct clk_lookup clocks[] = {
	INIT_CK(NULL,			"hclk",		&clk_h),
	INIT_CK(NULL,			"apb_pclk",	&clk_p),
	INIT_CK(NULL,			"pll2",		&clk_pll2),
	INIT_CK("ep93xx-ohci",		NULL,		&clk_usb_host),
	INIT_CK("ohci-platform",	NULL,		&clk_usb_host),
	INIT_CK("ep93xx-keypad",	NULL,		&clk_keypad),
	INIT_CK("ep93xx-fb",		NULL,		&clk_video),
	INIT_CK("ep93xx-spi.0",		NULL,		&clk_spi),
+34 −5
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@
#include <linux/export.h>
#include <linux/irqchip/arm-vic.h>
#include <linux/reboot.h>
#include <linux/usb/ohci_pdriver.h>

#include <mach/hardware.h>
#include <linux/platform_data/video-ep93xx.h>
@@ -297,25 +298,53 @@ static struct platform_device ep93xx_rtc_device = {
	.resource	= ep93xx_rtc_resource,
};

/*************************************************************************
 * EP93xx OHCI USB Host
 *************************************************************************/

static struct clk *ep93xx_ohci_host_clock;

static int ep93xx_ohci_power_on(struct platform_device *pdev)
{
	if (!ep93xx_ohci_host_clock) {
		ep93xx_ohci_host_clock = devm_clk_get(&pdev->dev, NULL);
		if (IS_ERR(ep93xx_ohci_host_clock))
			return PTR_ERR(ep93xx_ohci_host_clock);
	}

	return clk_enable(ep93xx_ohci_host_clock);
}

static void ep93xx_ohci_power_off(struct platform_device *pdev)
{
	clk_disable(ep93xx_ohci_host_clock);
}

static struct usb_ohci_pdata ep93xx_ohci_pdata = {
	.power_on	= ep93xx_ohci_power_on,
	.power_off	= ep93xx_ohci_power_off,
	.power_suspend	= ep93xx_ohci_power_off,
};

static struct resource ep93xx_ohci_resources[] = {
	DEFINE_RES_MEM(EP93XX_USB_PHYS_BASE, 0x1000),
	DEFINE_RES_IRQ(IRQ_EP93XX_USB),
};

static u64 ep93xx_ohci_dma_mask = DMA_BIT_MASK(32);

static struct platform_device ep93xx_ohci_device = {
	.name		= "ep93xx-ohci",
	.name		= "ohci-platform",
	.id		= -1,
	.num_resources	= ARRAY_SIZE(ep93xx_ohci_resources),
	.resource	= ep93xx_ohci_resources,
	.dev		= {
		.dma_mask		= &ep93xx_ohci_device.dev.coherent_dma_mask,
		.dma_mask		= &ep93xx_ohci_dma_mask,
		.coherent_dma_mask	= DMA_BIT_MASK(32),
		.platform_data		= &ep93xx_ohci_pdata,
	},
	.num_resources	= ARRAY_SIZE(ep93xx_ohci_resources),
	.resource	= ep93xx_ohci_resources,
};


/*************************************************************************
 * EP93xx physmap'ed flash
 *************************************************************************/
+0 −8
Original line number Diff line number Diff line
@@ -396,14 +396,6 @@ config USB_OHCI_HCD_LPC32XX
          Enables support for the on-chip OHCI controller on
          NXP chips.

config USB_OHCI_HCD_EP93XX
	tristate "Support for EP93XX on-chip OHCI USB controller"
	depends on USB_OHCI_HCD && ARCH_EP93XX
	default y
	---help---
	  Enables support for the on-chip OHCI controller on
	  EP93XX chips.

config USB_OHCI_HCD_PXA27X
	tristate "Support for PXA27X/PXA3XX on-chip OHCI USB controller"
	depends on USB_OHCI_HCD && (PXA27x || PXA3xx)
+0 −1
Original line number Diff line number Diff line
@@ -54,7 +54,6 @@ obj-$(CONFIG_USB_OHCI_HCD_SPEAR) += ohci-spear.o
obj-$(CONFIG_USB_OHCI_HCD_AT91)	+= ohci-at91.o
obj-$(CONFIG_USB_OHCI_HCD_S3C2410)	+= ohci-s3c2410.o
obj-$(CONFIG_USB_OHCI_HCD_LPC32XX)	+= ohci-nxp.o
obj-$(CONFIG_USB_OHCI_HCD_EP93XX)	+= ohci-ep93xx.o
obj-$(CONFIG_USB_OHCI_HCD_PXA27X)	+= ohci-pxa27x.o

obj-$(CONFIG_USB_UHCI_HCD)	+= uhci-hcd.o
Loading