gpiolib: Export gpiochip_irqchip_irq_valid() to drivers
authorStephen Boyd <sboyd@codeaurora.org>
Wed, 10 Jan 2018 01:58:46 +0000 (17:58 -0800)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 10 Jan 2018 13:21:25 +0000 (14:21 +0100)
Some pinctrl drivers can use the gpiochip irq valid information
to figure out if certain gpios are exposed to the kernel for
usage or not. Expose this API so we can use it in the
pinmux_ops::request ops.

Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpiolib.c
include/linux/gpio/driver.h

index 0e78a5023cb278e64b76341a3f0467dea8a37ba2..94a5575d1ebe4a486e05cd98f9c25bc2157529b7 100644 (file)
@@ -1501,14 +1501,15 @@ static void gpiochip_irqchip_free_valid_mask(struct gpio_chip *gpiochip)
        gpiochip->irq.valid_mask = NULL;
 }
 
-static bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gpiochip,
-                                      unsigned int offset)
+bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gpiochip,
+                               unsigned int offset)
 {
        /* No mask means all valid */
        if (likely(!gpiochip->irq.valid_mask))
                return true;
        return test_bit(offset, gpiochip->irq.valid_mask);
 }
+EXPORT_SYMBOL_GPL(gpiochip_irqchip_irq_valid);
 
 /**
  * gpiochip_set_cascaded_irqchip() - connects a cascaded irqchip to a gpiochip
index 55e672592fa93cd94aef5dfab761b688df0a7235..b6a05dd0d10a99fb5c1bdc215e5c9129822db5bd 100644 (file)
@@ -431,6 +431,9 @@ int gpiochip_irqchip_add_key(struct gpio_chip *gpiochip,
                             bool threaded,
                             struct lock_class_key *lock_key);
 
+bool gpiochip_irqchip_irq_valid(const struct gpio_chip *gpiochip,
+                               unsigned int offset);
+
 #ifdef CONFIG_LOCKDEP
 
 /*