Skip to content

Commit

Permalink
ARM: tegra: Remove VBUS_GPIO handling from board files
Browse files Browse the repository at this point in the history
Instead of having board files manually request and initialize USB VBUS
GPIOs, fill in the USB driver's platform data and have it do it.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Olof Johansson <olof@lixom.net>
  • Loading branch information
Stephen Warren committed Apr 18, 2012
1 parent 434103a commit 4bee641
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 23 deletions.
17 changes: 4 additions & 13 deletions arch/arm/mach-tegra/board-seaboard.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/io.h>
#include <linux/gpio.h>
#include <linux/gpio_keys.h>
#include <linux/platform_data/tegra_usb.h>

#include <sound/wm8903.h>

Expand Down Expand Up @@ -186,20 +187,10 @@ static struct i2c_board_info __initdata wm8903_device = {

static int seaboard_ehci_init(void)
{
int gpio_status;
struct tegra_ehci_platform_data *pdata;

gpio_status = gpio_request(TEGRA_GPIO_USB1, "VBUS_USB1");
if (gpio_status < 0) {
pr_err("VBUS_USB1 request GPIO FAILED\n");
WARN_ON(1);
}

gpio_status = gpio_direction_output(TEGRA_GPIO_USB1, 1);
if (gpio_status < 0) {
pr_err("VBUS_USB1 request GPIO DIRECTION FAILED\n");
WARN_ON(1);
}
gpio_set_value(TEGRA_GPIO_USB1, 1);
pdata = tegra_ehci1_device.dev.platform_data;
pdata->vbus_gpio = TEGRA_GPIO_USB1;

platform_device_register(&tegra_ehci1_device);
platform_device_register(&tegra_ehci3_device);
Expand Down
15 changes: 5 additions & 10 deletions arch/arm/mach-tegra/board-trimslice.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
#include <linux/io.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <linux/platform_data/tegra_usb.h>

#include <asm/hardware/gic.h>
#include <asm/mach-types.h>
Expand Down Expand Up @@ -111,19 +112,13 @@ static void trimslice_i2c_init(void)

static void trimslice_usb_init(void)
{
int err;
struct tegra_ehci_platform_data *pdata;

platform_device_register(&tegra_ehci3_device);
pdata = tegra_ehci1_device.dev.platform_data;
pdata->vbus_gpio = TRIMSLICE_GPIO_USB1_MODE;

platform_device_register(&tegra_ehci3_device);
platform_device_register(&tegra_ehci2_device);

err = gpio_request_one(TRIMSLICE_GPIO_USB1_MODE, GPIOF_OUT_INIT_HIGH,
"usb1mode");
if (err) {
pr_err("TrimSlice: failed to obtain USB1 mode gpio: %d\n", err);
return;
}

platform_device_register(&tegra_ehci1_device);
}

Expand Down

0 comments on commit 4bee641

Please sign in to comment.