aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2017-01-11 07:37:07 -0500
committerLinus Walleij <linus.walleij@linaro.org>2017-01-19 03:57:20 -0500
commit739e6f5945d88dcee01590913f6886132a10c215 (patch)
tree5c53e38e08e39a10e827757c7057838e977e38fa /drivers/gpio
parent49def1853334396f948dcb4cedb9347abb318df5 (diff)
gpio: provide lockdep keys for nested/unnested irqchips
The helper function for adding a GPIO chip compiles in a lockdep key for debugging, the same key is needed for nested chips as well. The macro construction is unreadable, replace this with two static inlines instead. The _gpiochip_irqchip_add prefixed function is not helpful, rename it with gpiochip_irqchip_add_key() that tell us what the function is actually doing. Fixes: d245b3f9bd36 ("gpio: simplify adding threaded interrupts") Cc: Roger Quadros <rogerq@ti.com> Reported-by: Clemens Gruber <clemens.gruber@pqgruber.com> Reported-by: Roger Quadros <rogerq@ti.com> Reported-by: Grygorii Strashko <grygorii.strashko@ti.com> Tested-by: Clemens Gruber <clemens.gruber@pqgruber.com> Tested-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpiolib.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index 86bf3b84ada5..a07ae9e37930 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1723,7 +1723,7 @@ static void gpiochip_irqchip_remove(struct gpio_chip *gpiochip)
1723} 1723}
1724 1724
1725/** 1725/**
1726 * _gpiochip_irqchip_add() - adds an irqchip to a gpiochip 1726 * gpiochip_irqchip_add_key() - adds an irqchip to a gpiochip
1727 * @gpiochip: the gpiochip to add the irqchip to 1727 * @gpiochip: the gpiochip to add the irqchip to
1728 * @irqchip: the irqchip to add to the gpiochip 1728 * @irqchip: the irqchip to add to the gpiochip
1729 * @first_irq: if not dynamically assigned, the base (first) IRQ to 1729 * @first_irq: if not dynamically assigned, the base (first) IRQ to
@@ -1749,13 +1749,13 @@ static void gpiochip_irqchip_remove(struct gpio_chip *gpiochip)
1749 * the pins on the gpiochip can generate a unique IRQ. Everything else 1749 * the pins on the gpiochip can generate a unique IRQ. Everything else
1750 * need to be open coded. 1750 * need to be open coded.
1751 */ 1751 */
1752int _gpiochip_irqchip_add(struct gpio_chip *gpiochip, 1752int gpiochip_irqchip_add_key(struct gpio_chip *gpiochip,
1753 struct irq_chip *irqchip, 1753 struct irq_chip *irqchip,
1754 unsigned int first_irq, 1754 unsigned int first_irq,
1755 irq_flow_handler_t handler, 1755 irq_flow_handler_t handler,
1756 unsigned int type, 1756 unsigned int type,
1757 bool nested, 1757 bool nested,
1758 struct lock_class_key *lock_key) 1758 struct lock_class_key *lock_key)
1759{ 1759{
1760 struct device_node *of_node; 1760 struct device_node *of_node;
1761 bool irq_base_set = false; 1761 bool irq_base_set = false;
@@ -1840,7 +1840,7 @@ int _gpiochip_irqchip_add(struct gpio_chip *gpiochip,
1840 1840
1841 return 0; 1841 return 0;
1842} 1842}
1843EXPORT_SYMBOL_GPL(_gpiochip_irqchip_add); 1843EXPORT_SYMBOL_GPL(gpiochip_irqchip_add_key);
1844 1844
1845#else /* CONFIG_GPIOLIB_IRQCHIP */ 1845#else /* CONFIG_GPIOLIB_IRQCHIP */
1846 1846