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

Commit 6568eccd authored by Linus Walleij's avatar Linus Walleij
Browse files

ARM: nomadik: get rid of explicit ethernet GPIO management



We used to set up the GPIO used for the SMC ethernet IRQ by
requesting the GPIO line explicitly. As we recently established
that specifying the GPIO controller as interrupt parent and
requesting one of its interrupts by reference should be enough,
we do away with this. Incidentally, the Nomadik GPIO chip driver
handles this just fine: the IRQ is set up and fired as expected.

Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 30e34001
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -67,10 +67,6 @@

	/* Custom board node with GPIO pins to active etc */
	usb-s8815 {
		/* The S8815 is using this very GPIO pin for the SMSC91x IRQs */
		ethernet-gpio {
			gpios = <&gpio3 8 0x1>;
		};
		/* This will bias the MMC/SD card detect line */
		mmcsd-gpio {
			gpios = <&gpio3 16 0x1>;
+0 −32
Original line number Diff line number Diff line
@@ -109,38 +109,6 @@ static void cpu8815_restart(enum reboot_mode mode, const char *cmd)
	writel(1, srcbase + 0x18);
}

/*
 * The SMSC911x IRQ is connected to a GPIO pin, but the driver expects
 * to simply request an IRQ passed as a resource. So the GPIO pin needs
 * to be requested by this hog and set as input.
 */
static int __init cpu8815_eth_init(void)
{
	struct device_node *eth;
	int gpio, irq, err;

	eth = of_find_node_by_path("/usb-s8815/ethernet-gpio");
	if (!eth) {
		pr_info("could not find any ethernet GPIO\n");
		return 0;
	}
	gpio = of_get_gpio(eth, 0);
	err = gpio_request(gpio, "eth_irq");
	if (err) {
		pr_info("failed to request ethernet GPIO\n");
		return -ENODEV;
	}
	err = gpio_direction_input(gpio);
	if (err) {
		pr_info("failed to set ethernet GPIO as input\n");
		return -ENODEV;
	}
	irq = gpio_to_irq(gpio);
	pr_info("enabled USB-S8815 ethernet GPIO %d, IRQ %d\n", gpio, irq);
	return 0;
}
device_initcall(cpu8815_eth_init);

/*
 * This GPIO pin turns on a line that is used to detect card insertion
 * on this board.