History

gpio: Expose the gpiochip_irq_re[ql]res helpers

The GPIO subsystem has a couple of internal helpers to manage resources on behalf of the irqchip. Expose them so that GPIO drivers can use them directly.

Marc Zyngier committed 4 years ago

Commit 704f0871 parent 6c846d02 files · +8 −2Browse files

Unified · Split

2 files
  1. drivers/gpio/gpiolib.c +4 −2
  2. include/linux/gpio/driver.h +4 −0
drivers/gpio/gpiolib.c+4−2
@@ -1423,19 +1423,21 @@ static int gpiochip_to_irq(struct gpio_chip *gc, unsigned int offset) · 1422 unmodified lines
14231423 return irq_create_mapping(domain, offset);
14241424 }
14251425
1426−static int gpiochip_irq_reqres(struct irq_data *d)
1426+int gpiochip_irq_reqres(struct irq_data *d)
14271427 {
14281428 struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
14291429
14301430 return gpiochip_reqres_irq(gc, d->hwirq);
14311431 }
1432+EXPORT_SYMBOL(gpiochip_irq_reqres);
14321433
1433−static void gpiochip_irq_relres(struct irq_data *d)
1434+void gpiochip_irq_relres(struct irq_data *d)
14341435 {
14351436 struct gpio_chip *gc = irq_data_get_irq_chip_data(d);
14361437
14371438 gpiochip_relres_irq(gc, d->hwirq);
14381439 }
1440+EXPORT_SYMBOL(gpiochip_irq_relres);
14391441
14401442 static void gpiochip_irq_mask(struct irq_data *d)
14411443 {
include/linux/gpio/driver.h+4−0
@@ -579,6 +579,10 @@ void gpiochip_relres_irq(struct gpio_chip *gc, unsigned int offset); · 578 unmodified lines
579579 void gpiochip_disable_irq(struct gpio_chip *gc, unsigned int offset);
580580 void gpiochip_enable_irq(struct gpio_chip *gc, unsigned int offset);
581581
582+/* irq_data versions of the above */
583+int gpiochip_irq_reqres(struct irq_data *data);
584+void gpiochip_irq_relres(struct irq_data *data);
585+
582586 /* Line status inquiry for drivers */
583587 bool gpiochip_line_is_open_drain(struct gpio_chip *gc, unsigned int offset);
584588 bool gpiochip_line_is_open_source(struct gpio_chip *gc, unsigned int offset);