ARM: nomadik: get rid of explicit ethernet GPIO management
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 14 Nov 2013 18:41:40 +0000 (19:41 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 28 Nov 2013 20:08:42 +0000 (21:08 +0100)
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: Linus Walleij <linus.walleij@linaro.org>
arch/arm/boot/dts/ste-nomadik-s8815.dts
arch/arm/mach-nomadik/cpu-8815.c

index 16c3888b7b15005579ecef4fcdb0cb9d4678be70..f557feb997f46ff449df70859c0a3e3cf367c226 100644 (file)
 
        /* 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>;
index cce2c9dfb5d13d73b92076bd675415de6ff85bc6..4a1065e41e9c5a9994fc2b2f9807f7bf6bbcfa1d 100644 (file)
@@ -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.
This page took 0.032384 seconds and 5 git commands to generate.