Thread (13 messages) 13 messages, 6 authors, 2011-07-15
STALE5490d REVIEWED: 1 (0M)

[PATCH 2/2] ARM: tegra: remove copy-and-pasted usb platform data from boards

From: Mike Rapoport <hidden>
Date: 2011-07-12 19:28:04
Also in: linux-tegra

Hi Colin,
Sorry for the delay, I don't have the hardware at the moment, so I
asked Konstantin to do the testing.

On Mon, Jul 11, 2011 at 1:19 AM, Colin Cross [off-list ref] wrote:
trimslice and paz00 both have functionally identical platform
data for the tegra-ehci driver. ?Move the platform data into
devices.c, and remove it from all the board files.

Signed-off-by: Colin Cross <redacted>
For the TrimSlice part:

Tested-by: Konstantin Sinyuk <redacted>
quoted hunk ↗ jump to hunk
---
?arch/arm/mach-tegra/board-paz00.c ? ? | ? 26 --------------------------
?arch/arm/mach-tegra/board-trimslice.c | ? 19 -------------------
?arch/arm/mach-tegra/devices.c ? ? ? ? | ? 28 ++++++++++++++++++++++++++++
?3 files changed, 28 insertions(+), 45 deletions(-)
diff --git a/arch/arm/mach-tegra/board-paz00.c b/arch/arm/mach-tegra/board-paz00.c
index 465768e..ea2f79c 100644
--- a/arch/arm/mach-tegra/board-paz00.c
+++ b/arch/arm/mach-tegra/board-paz00.c
@@ -26,7 +26,6 @@
?#include <linux/pda_power.h>
?#include <linux/io.h>
?#include <linux/i2c.h>
-#include <linux/platform_data/tegra_usb.h>

?#include <asm/mach-types.h>
?#include <asm/mach/arch.h>
@@ -36,7 +35,6 @@
?#include <mach/iomap.h>
?#include <mach/irqs.h>
?#include <mach/sdhci.h>
-#include <mach/usb_phy.h>
?#include <mach/gpio.h>

?#include "board.h"
@@ -80,32 +78,8 @@ static void paz00_i2c_init(void)
? ? ? ?platform_device_register(&tegra_i2c_device4);
?}

-static struct tegra_ulpi_config ulpi_phy_config = {
- ? ? ? ? ? ? ? .reset_gpio = TEGRA_ULPI_RST,
- ? ? ? ? ? ? ? .clk = "cdev2",
-};
-
-static struct tegra_ehci_platform_data tegra_ehci_pdata[] = {
- ? ? ? ? ? ? ? [0] = {
- ? ? ? ? ? ? ? ? ? ? ? .operating_mode = TEGRA_USB_OTG,
- ? ? ? ? ? ? ? ? ? ? ? .power_down_on_bus_suspend = 1,
- ? ? ? ? ? ? ? },
- ? ? ? ? ? ? ? [1] = {
- ? ? ? ? ? ? ? ? ? ? ? .phy_config = &ulpi_phy_config,
- ? ? ? ? ? ? ? ? ? ? ? .operating_mode = TEGRA_USB_HOST,
- ? ? ? ? ? ? ? ? ? ? ? .power_down_on_bus_suspend = 1,
- ? ? ? ? ? ? ? },
- ? ? ? ? ? ? ? [2] = {
- ? ? ? ? ? ? ? ? ? ? ? .operating_mode = TEGRA_USB_HOST,
- ? ? ? ? ? ? ? ? ? ? ? .power_down_on_bus_suspend = 1,
- ? ? ? ? ? ? ? },
-};
-
?static void paz00_usb_init(void)
?{
- ? ? ? tegra_ehci2_device.dev.platform_data = &tegra_ehci_pdata[1];
- ? ? ? tegra_ehci3_device.dev.platform_data = &tegra_ehci_pdata[2];
-
? ? ? ?platform_device_register(&tegra_ehci2_device);
? ? ? ?platform_device_register(&tegra_ehci3_device);
?}
diff --git a/arch/arm/mach-tegra/board-trimslice.c b/arch/arm/mach-tegra/board-trimslice.c
index e1d7e67..89a6d2a 100644
--- a/arch/arm/mach-tegra/board-trimslice.c
+++ b/arch/arm/mach-tegra/board-trimslice.c
@@ -24,7 +24,6 @@
?#include <linux/serial_8250.h>
?#include <linux/io.h>
?#include <linux/i2c.h>
-#include <linux/platform_data/tegra_usb.h>
?#include <linux/gpio.h>

?#include <asm/mach-types.h>
@@ -33,7 +32,6 @@
?#include <mach/iomap.h>
?#include <mach/sdhci.h>
-#include <mach/usb_phy.h>
?#include <mach/gpio.h>

?#include "board.h"
@@ -110,28 +108,12 @@ static void trimslice_i2c_init(void)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ARRAY_SIZE(trimslice_i2c3_board_info));
?}

-struct tegra_ulpi_config ehci2_phy_config = {
- ? ? ? .reset_gpio = TRIMSLICE_GPIO_USB2_RST,
- ? ? ? .clk = "cdev2",
-};
-
-static struct tegra_ehci_platform_data ehci_ulpi_data = {
- ? ? ? .operating_mode = TEGRA_USB_HOST,
- ? ? ? .phy_config = &ehci2_phy_config,
-};
-
-static struct tegra_ehci_platform_data ehci_utmi_data = {
- ? ? ? .operating_mode = TEGRA_USB_HOST,
-};
-
?static void trimslice_usb_init(void)
?{
? ? ? ?int err;

- ? ? ? tegra_ehci3_device.dev.platform_data = &ehci_utmi_data;
? ? ? ?platform_device_register(&tegra_ehci3_device);

- ? ? ? tegra_ehci2_device.dev.platform_data = &ehci_ulpi_data;
? ? ? ?platform_device_register(&tegra_ehci2_device);

? ? ? ?err = gpio_request_one(TRIMSLICE_GPIO_USB1_MODE, GPIOF_OUT_INIT_HIGH,
@@ -141,7 +123,6 @@ static void trimslice_usb_init(void)
? ? ? ? ? ? ? ?return;
? ? ? ?}

- ? ? ? tegra_ehci1_device.dev.platform_data = &ehci_utmi_data;
? ? ? ?platform_device_register(&tegra_ehci1_device);
?}
diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-tegra/devices.c
index 066eaf9..57e35d2 100644
--- a/arch/arm/mach-tegra/devices.c
+++ b/arch/arm/mach-tegra/devices.c
@@ -23,10 +23,13 @@
?#include <linux/fsl_devices.h>
?#include <linux/serial_8250.h>
?#include <linux/i2c-tegra.h>
+#include <linux/platform_data/tegra_usb.h>
?#include <asm/pmu.h>
?#include <mach/irqs.h>
?#include <mach/iomap.h>
?#include <mach/dma.h>
+#include <mach/usb_phy.h>
+#include "gpio-names.h"

?static struct resource i2c_resource1[] = {
? ? ? ?[0] = {
@@ -351,6 +354,28 @@ static struct resource tegra_usb3_resources[] = {
? ? ? ?},
?};

+static struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = {
+ ? ? ? /* All existing boards use GPIO PV0 for phy reset */
+ ? ? ? .reset_gpio = TEGRA_GPIO_PV0,
+ ? ? ? .clk = "cdev2",
+};
+
+static struct tegra_ehci_platform_data tegra_ehci1_pdata = {
+ ? ? ? .operating_mode = TEGRA_USB_OTG,
+ ? ? ? .power_down_on_bus_suspend = 1,
+};
+
+static struct tegra_ehci_platform_data tegra_ehci2_pdata = {
+ ? ? ? .phy_config = &tegra_ehci2_ulpi_phy_config,
+ ? ? ? .operating_mode = TEGRA_USB_HOST,
+ ? ? ? .power_down_on_bus_suspend = 1,
+};
+
+static struct tegra_ehci_platform_data tegra_ehci3_pdata = {
+ ? ? ? .operating_mode = TEGRA_USB_HOST,
+ ? ? ? .power_down_on_bus_suspend = 1,
+};
+
?static u64 tegra_ehci_dmamask = DMA_BIT_MASK(32);

?struct platform_device tegra_ehci1_device = {
@@ -359,6 +384,7 @@ struct platform_device tegra_ehci1_device = {
? ? ? ?.dev ? ?= {
? ? ? ? ? ? ? ?.dma_mask ? ? ? = &tegra_ehci_dmamask,
? ? ? ? ? ? ? ?.coherent_dma_mask = DMA_BIT_MASK(32),
+ ? ? ? ? ? ? ? .platform_data = &tegra_ehci1_pdata,
? ? ? ?},
? ? ? ?.resource = tegra_usb1_resources,
? ? ? ?.num_resources = ARRAY_SIZE(tegra_usb1_resources),
@@ -370,6 +396,7 @@ struct platform_device tegra_ehci2_device = {
? ? ? ?.dev ? ?= {
? ? ? ? ? ? ? ?.dma_mask ? ? ? = &tegra_ehci_dmamask,
? ? ? ? ? ? ? ?.coherent_dma_mask = DMA_BIT_MASK(32),
+ ? ? ? ? ? ? ? .platform_data = &tegra_ehci2_pdata,
? ? ? ?},
? ? ? ?.resource = tegra_usb2_resources,
? ? ? ?.num_resources = ARRAY_SIZE(tegra_usb2_resources),
@@ -381,6 +408,7 @@ struct platform_device tegra_ehci3_device = {
? ? ? ?.dev ? ?= {
? ? ? ? ? ? ? ?.dma_mask ? ? ? = &tegra_ehci_dmamask,
? ? ? ? ? ? ? ?.coherent_dma_mask = DMA_BIT_MASK(32),
+ ? ? ? ? ? ? ? .platform_data = &tegra_ehci3_pdata,
? ? ? ?},
? ? ? ?.resource = tegra_usb3_resources,
? ? ? ?.num_resources = ARRAY_SIZE(tegra_usb3_resources),
--
1.7.4.1

--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at ?http://vger.kernel.org/majordomo-info.html


-- 
Sincerely Yours,
Mike.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help