aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorStephen Warren <swarren@wwwdotorg.org>2012-03-19 15:57:13 -0400
committerStephen Warren <swarren@wwwdotorg.org>2012-03-21 13:56:58 -0400
commit8c3ec84102d171a24f050a086bfc546e9de93f9f (patch)
tree598521643f9cb4ffdd9b121415872690254104e6 /arch/arm
parentc16fa4f2ad19908a47c63d8fa436a1178438c7e7 (diff)
ARM: tegra: Fix device tree AUXDATA for USB/EHCI
Commit 4a53f4e "USB: ehci-tegra: add probing through device tree" added AUXDATA for Tegra's USB/EHCI controller. However, it pointed the platform data at a location containing the address of the intended platform data, rather than the platform data itself. This change fixes that. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org> Cc: <stable@vger.kernel.org> # 3.3
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-tegra/board-dt-tegra20.c6
-rw-r--r--arch/arm/mach-tegra/devices.c7
-rw-r--r--arch/arm/mach-tegra/devices.h5
3 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/mach-tegra/board-dt-tegra20.c b/arch/arm/mach-tegra/board-dt-tegra20.c
index 7a95e0bc4aba..7cd34565a2da 100644
--- a/arch/arm/mach-tegra/board-dt-tegra20.c
+++ b/arch/arm/mach-tegra/board-dt-tegra20.c
@@ -68,11 +68,11 @@ struct of_dev_auxdata tegra20_auxdata_lookup[] __initdata = {
68 OF_DEV_AUXDATA("nvidia,tegra20-i2s", TEGRA_I2S2_BASE, "tegra-i2s.1", NULL), 68 OF_DEV_AUXDATA("nvidia,tegra20-i2s", TEGRA_I2S2_BASE, "tegra-i2s.1", NULL),
69 OF_DEV_AUXDATA("nvidia,tegra20-das", TEGRA_APB_MISC_DAS_BASE, "tegra-das", NULL), 69 OF_DEV_AUXDATA("nvidia,tegra20-das", TEGRA_APB_MISC_DAS_BASE, "tegra-das", NULL),
70 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB_BASE, "tegra-ehci.0", 70 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB_BASE, "tegra-ehci.0",
71 &tegra_ehci1_device.dev.platform_data), 71 &tegra_ehci1_pdata),
72 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB2_BASE, "tegra-ehci.1", 72 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB2_BASE, "tegra-ehci.1",
73 &tegra_ehci2_device.dev.platform_data), 73 &tegra_ehci2_pdata),
74 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB3_BASE, "tegra-ehci.2", 74 OF_DEV_AUXDATA("nvidia,tegra20-ehci", TEGRA_USB3_BASE, "tegra-ehci.2",
75 &tegra_ehci3_device.dev.platform_data), 75 &tegra_ehci3_pdata),
76 {} 76 {}
77}; 77};
78 78
diff --git a/arch/arm/mach-tegra/devices.c b/arch/arm/mach-tegra/devices.c
index 7a2a02dbd632..5f6b867e20b4 100644
--- a/arch/arm/mach-tegra/devices.c
+++ b/arch/arm/mach-tegra/devices.c
@@ -23,7 +23,6 @@
23#include <linux/fsl_devices.h> 23#include <linux/fsl_devices.h>
24#include <linux/serial_8250.h> 24#include <linux/serial_8250.h>
25#include <linux/i2c-tegra.h> 25#include <linux/i2c-tegra.h>
26#include <linux/platform_data/tegra_usb.h>
27#include <asm/pmu.h> 26#include <asm/pmu.h>
28#include <mach/irqs.h> 27#include <mach/irqs.h>
29#include <mach/iomap.h> 28#include <mach/iomap.h>
@@ -446,18 +445,18 @@ static struct tegra_ulpi_config tegra_ehci2_ulpi_phy_config = {
446 .clk = "cdev2", 445 .clk = "cdev2",
447}; 446};
448 447
449static struct tegra_ehci_platform_data tegra_ehci1_pdata = { 448struct tegra_ehci_platform_data tegra_ehci1_pdata = {
450 .operating_mode = TEGRA_USB_OTG, 449 .operating_mode = TEGRA_USB_OTG,
451 .power_down_on_bus_suspend = 1, 450 .power_down_on_bus_suspend = 1,
452}; 451};
453 452
454static struct tegra_ehci_platform_data tegra_ehci2_pdata = { 453struct tegra_ehci_platform_data tegra_ehci2_pdata = {
455 .phy_config = &tegra_ehci2_ulpi_phy_config, 454 .phy_config = &tegra_ehci2_ulpi_phy_config,
456 .operating_mode = TEGRA_USB_HOST, 455 .operating_mode = TEGRA_USB_HOST,
457 .power_down_on_bus_suspend = 1, 456 .power_down_on_bus_suspend = 1,
458}; 457};
459 458
460static struct tegra_ehci_platform_data tegra_ehci3_pdata = { 459struct tegra_ehci_platform_data tegra_ehci3_pdata = {
461 .operating_mode = TEGRA_USB_HOST, 460 .operating_mode = TEGRA_USB_HOST,
462 .power_down_on_bus_suspend = 1, 461 .power_down_on_bus_suspend = 1,
463}; 462};
diff --git a/arch/arm/mach-tegra/devices.h b/arch/arm/mach-tegra/devices.h
index 873ecb2f8ae6..ec455679b219 100644
--- a/arch/arm/mach-tegra/devices.h
+++ b/arch/arm/mach-tegra/devices.h
@@ -20,6 +20,11 @@
20#define __MACH_TEGRA_DEVICES_H 20#define __MACH_TEGRA_DEVICES_H
21 21
22#include <linux/platform_device.h> 22#include <linux/platform_device.h>
23#include <linux/platform_data/tegra_usb.h>
24
25extern struct tegra_ehci_platform_data tegra_ehci1_pdata;
26extern struct tegra_ehci_platform_data tegra_ehci2_pdata;
27extern struct tegra_ehci_platform_data tegra_ehci3_pdata;
23 28
24extern struct platform_device tegra_gpio_device; 29extern struct platform_device tegra_gpio_device;
25extern struct platform_device tegra_pinmux_device; 30extern struct platform_device tegra_pinmux_device;