Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1701811
| From | Bartosz Golaszewski <brgl@bgdev.pl> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 5/6] gpio: mxs: use devres for irq generic chip |
| Date | 2017-08-02 10:00 +0200 |
| Message-ID | <u9WJs-70R-15@gated-at.bofh.it> (permalink) |
| References | <u9WJr-70R-5@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Use resource managed variants of irq_alloc_generic_chip() and
irq_setup_generic_chip().
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
---
drivers/gpio/gpio-mxs.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index 6ae583f36733..f7c645f7dae5 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -66,6 +66,7 @@ struct mxs_gpio_port {
int irq;
struct irq_domain *domain;
struct gpio_chip gc;
+ struct device *dev;
enum mxs_gpio_id devid;
u32 both_edges;
};
@@ -209,9 +210,10 @@ static int mxs_gpio_init_gc(struct mxs_gpio_port *port, int irq_base)
{
struct irq_chip_generic *gc;
struct irq_chip_type *ct;
+ int rv;
- gc = irq_alloc_generic_chip("gpio-mxs", 2, irq_base,
- port->base, handle_level_irq);
+ gc = devm_irq_alloc_generic_chip(port->dev, "gpio-mxs", 2, irq_base,
+ port->base, handle_level_irq);
if (!gc)
return -ENOMEM;
@@ -242,10 +244,11 @@ static int mxs_gpio_init_gc(struct mxs_gpio_port *port, int irq_base)
ct->regs.disable = PINCTRL_IRQEN(port) + MXS_CLR;
ct->handler = handle_level_irq;
- irq_setup_generic_chip(gc, IRQ_MSK(32), IRQ_GC_INIT_NESTED_LOCK,
- IRQ_NOREQUEST, 0);
+ rv = devm_irq_setup_generic_chip(port->dev, gc, IRQ_MSK(32),
+ IRQ_GC_INIT_NESTED_LOCK,
+ IRQ_NOREQUEST, 0);
- return 0;
+ return rv;
}
static int mxs_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
@@ -304,6 +307,7 @@ static int mxs_gpio_probe(struct platform_device *pdev)
if (port->id < 0)
return port->id;
port->devid = (enum mxs_gpio_id) of_id->data;
+ port->dev = &pdev->dev;
port->irq = platform_get_irq(pdev, 0);
if (port->irq < 0)
return port->irq;
--
2.13.2
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
[PATCH 1/6] gpio: sta2x11: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
Re: [PATCH 1/6] gpio: sta2x11: use devres for irq generic chip Linus Walleij <linus.walleij@linaro.org> - 2017-08-02 13:40 +0200
[PATCH 5/6] gpio: mxs: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
[PATCH 4/6] gpio: mxc: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:30 +0200
Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip Alexander Stein <alexander.stein@systec-electronic.com> - 2017-08-02 10:30 +0200
Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip Andy Shevchenko <andy.shevchenko@gmail.com> - 2017-08-02 10:40 +0200
Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip Linus Walleij <linus.walleij@linaro.org> - 2017-08-02 13:50 +0200
Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 14:00 +0200
[PATCH 3/6] gpio: pch: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
Re: [PATCH 3/6] gpio: pch: use devres for irq generic chip Linus Walleij <linus.walleij@linaro.org> - 2017-08-02 13:40 +0200
[PATCH 6/6] gpio: sodaville: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
[PATCH 2/6] gpio: ml-ioh: use devres for irq generic chip Bartosz Golaszewski <brgl@bgdev.pl> - 2017-08-02 10:00 +0200
Re: [PATCH 2/6] gpio: ml-ioh: use devres for irq generic chip Linus Walleij <linus.walleij@linaro.org> - 2017-08-02 13:40 +0200
csiph-web