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

Mike Rapoport mike.rapoport at gmail.com
Tue Jul 12 15:28:04 EDT 2011


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 <ccross at android.com> 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 <ccross at android.com>

For the TrimSlice part:

Tested-by: Konstantin Sinyuk <kostyas at compulab.co.il>

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



More information about the linux-arm-kernel mailing list