diff options
author | Stephen Warren <swarren@wwwdotorg.org> | 2012-03-19 15:57:13 -0400 |
---|---|---|
committer | Stephen Warren <swarren@wwwdotorg.org> | 2012-03-21 13:56:58 -0400 |
commit | 8c3ec84102d171a24f050a086bfc546e9de93f9f (patch) | |
tree | 598521643f9cb4ffdd9b121415872690254104e6 /arch/arm | |
parent | c16fa4f2ad19908a47c63d8fa436a1178438c7e7 (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.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-tegra/devices.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-tegra/devices.h | 5 |
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 | ||
449 | static struct tegra_ehci_platform_data tegra_ehci1_pdata = { | 448 | struct 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 | ||
454 | static struct tegra_ehci_platform_data tegra_ehci2_pdata = { | 453 | struct 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 | ||
460 | static struct tegra_ehci_platform_data tegra_ehci3_pdata = { | 459 | struct 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 | |||
25 | extern struct tegra_ehci_platform_data tegra_ehci1_pdata; | ||
26 | extern struct tegra_ehci_platform_data tegra_ehci2_pdata; | ||
27 | extern struct tegra_ehci_platform_data tegra_ehci3_pdata; | ||
23 | 28 | ||
24 | extern struct platform_device tegra_gpio_device; | 29 | extern struct platform_device tegra_gpio_device; |
25 | extern struct platform_device tegra_pinmux_device; | 30 | extern struct platform_device tegra_pinmux_device; |