[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.