Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4bee6417 authored by Stephen Warren's avatar Stephen Warren
Browse files

ARM: tegra: Remove VBUS_GPIO handling from board files



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: default avatarStephen Warren <swarren@nvidia.com>
Acked-by: default avatarOlof Johansson <olof@lixom.net>
parent 434103ad
Loading
Loading
Loading
Loading
+4 −13
Original line number Diff line number Diff line
@@ -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>

@@ -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);
+5 −10
Original line number Diff line number Diff line
@@ -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>
@@ -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);
}