Merge branch 'topic/kbuild-fixes-for-next' of git://git.kernel.org/pub/scm/linux...
[linux-drm-fsl-dcu.git] / drivers / staging / media / lirc / lirc_serial.c
index 7b3be2346b4b5a712fdb1e5e1e86187de05806f4..2e3a98575d47f9fbdddebecdd2a17d9741ffd09e 100644 (file)
@@ -67,7 +67,7 @@
 #include <linux/delay.h>
 #include <linux/poll.h>
 #include <linux/platform_device.h>
-
+#include <linux/gpio.h>
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/fcntl.h>
@@ -321,7 +321,7 @@ static void on(void)
         * status LED and ground
         */
        if (type == LIRC_NSLU2) {
-               gpio_line_set(NSLU2_LED_GRN, IXP4XX_GPIO_LOW);
+               gpio_set_value(NSLU2_LED_GRN, 0);
                return;
        }
 #endif
@@ -335,7 +335,7 @@ static void off(void)
 {
 #ifdef CONFIG_LIRC_SERIAL_NSLU2
        if (type == LIRC_NSLU2) {
-               gpio_line_set(NSLU2_LED_GRN, IXP4XX_GPIO_HIGH);
+               gpio_set_value(NSLU2_LED_GRN, 1);
                return;
        }
 #endif
@@ -842,6 +842,16 @@ static int lirc_serial_probe(struct platform_device *dev)
 {
        int i, nlow, nhigh, result;
 
+#ifdef CONFIG_LIRC_SERIAL_NSLU2
+       /* This GPIO is used for a LED on the NSLU2 */
+       result = devm_gpio_request(dev, NSLU2_LED_GRN, "lirc-serial");
+       if (result)
+               return result;
+       result = gpio_direction_output(NSLU2_LED_GRN, 0);
+       if (result)
+               return result;
+#endif
+
        result = request_irq(irq, irq_handler,
                             (share_irq ? IRQF_SHARED : 0),
                             LIRC_DRIVER_NAME, (void *)&hardware);