aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2013-11-14 13:41:40 -0500
committerLinus Walleij <linus.walleij@linaro.org>2013-11-28 15:08:42 -0500
commit6568eccd10f6d417f7e40160ca29c965a34b6254 (patch)
treeef767c5f2471e07274e9e316d4ac9e550613e99e
parent30e34001c8f676c72498c3e8a690e08684d2f32a (diff)
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: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--arch/arm/boot/dts/ste-nomadik-s8815.dts4
-rw-r--r--arch/arm/mach-nomadik/cpu-8815.c32
2 files changed, 0 insertions, 36 deletions
diff --git a/arch/arm/boot/dts/ste-nomadik-s8815.dts b/arch/arm/boot/dts/ste-nomadik-s8815.dts
index 16c3888b7b15..f557feb997f4 100644
--- a/arch/arm/boot/dts/ste-nomadik-s8815.dts
+++ b/arch/arm/boot/dts/ste-nomadik-s8815.dts
@@ -67,10 +67,6 @@
67 67
68 /* Custom board node with GPIO pins to active etc */ 68 /* Custom board node with GPIO pins to active etc */
69 usb-s8815 { 69 usb-s8815 {
70 /* The S8815 is using this very GPIO pin for the SMSC91x IRQs */
71 ethernet-gpio {
72 gpios = <&gpio3 8 0x1>;
73 };
74 /* This will bias the MMC/SD card detect line */ 70 /* This will bias the MMC/SD card detect line */
75 mmcsd-gpio { 71 mmcsd-gpio {
76 gpios = <&gpio3 16 0x1>; 72 gpios = <&gpio3 16 0x1>;
diff --git a/arch/arm/mach-nomadik/cpu-8815.c b/arch/arm/mach-nomadik/cpu-8815.c
index cce2c9dfb5d1..4a1065e41e9c 100644
--- a/arch/arm/mach-nomadik/cpu-8815.c
+++ b/arch/arm/mach-nomadik/cpu-8815.c
@@ -110,38 +110,6 @@ static void cpu8815_restart(enum reboot_mode mode, const char *cmd)
110} 110}
111 111
112/* 112/*
113 * The SMSC911x IRQ is connected to a GPIO pin, but the driver expects
114 * to simply request an IRQ passed as a resource. So the GPIO pin needs
115 * to be requested by this hog and set as input.
116 */
117static int __init cpu8815_eth_init(void)
118{
119 struct device_node *eth;
120 int gpio, irq, err;
121
122 eth = of_find_node_by_path("/usb-s8815/ethernet-gpio");
123 if (!eth) {
124 pr_info("could not find any ethernet GPIO\n");
125 return 0;
126 }
127 gpio = of_get_gpio(eth, 0);
128 err = gpio_request(gpio, "eth_irq");
129 if (err) {
130 pr_info("failed to request ethernet GPIO\n");
131 return -ENODEV;
132 }
133 err = gpio_direction_input(gpio);
134 if (err) {
135 pr_info("failed to set ethernet GPIO as input\n");
136 return -ENODEV;
137 }
138 irq = gpio_to_irq(gpio);
139 pr_info("enabled USB-S8815 ethernet GPIO %d, IRQ %d\n", gpio, irq);
140 return 0;
141}
142device_initcall(cpu8815_eth_init);
143
144/*
145 * This GPIO pin turns on a line that is used to detect card insertion 113 * This GPIO pin turns on a line that is used to detect card insertion
146 * on this board. 114 * on this board.
147 */ 115 */