linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] gpio: use devres for irq generic chip
@ 2017-08-02  7:51 Bartosz Golaszewski
  2017-08-02  7:51 ` [PATCH 1/6] gpio: sta2x11: " Bartosz Golaszewski
                   ` (6 more replies)
  0 siblings, 7 replies; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

We now provide resource managed versions of irq_alloc_generic_chip()
and irq_setup_generic_chip(). Use them in all relevant gpio drivers.

Bartosz Golaszewski (6):
  gpio: sta2x11: use devres for irq generic chip
  gpio: ml-ioh: use devres for irq generic chip
  gpio: pch: use devres for irq generic chip
  gpio: mxc: use devres for irq generic chip
  gpio: mxs: use devres for irq generic chip
  gpio: sodaville: use devres for irq generic chip

 drivers/gpio/gpio-ml-ioh.c    | 12 +++++++-----
 drivers/gpio/gpio-mxc.c       | 15 ++++++++++-----
 drivers/gpio/gpio-mxs.c       | 14 +++++++++-----
 drivers/gpio/gpio-pch.c       | 12 +++++++-----
 drivers/gpio/gpio-sodaville.c | 15 ++++++++++-----
 drivers/gpio/gpio-sta2x11.c   | 13 +++++++++----
 6 files changed, 52 insertions(+), 29 deletions(-)

-- 
2.13.2

^ permalink raw reply	[flat|nested] 16+ messages in thread

* [PATCH 1/6] gpio: sta2x11: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-02 11:38   ` Linus Walleij
  2017-08-02  7:51 ` [PATCH 2/6] gpio: ml-ioh: " Bartosz Golaszewski
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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-sta2x11.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/gpio/gpio-sta2x11.c b/drivers/gpio/gpio-sta2x11.c
index 9e705162da8d..a16c1c4f92a7 100644
--- a/drivers/gpio/gpio-sta2x11.c
+++ b/drivers/gpio/gpio-sta2x11.c
@@ -324,9 +324,11 @@ static int gsta_alloc_irq_chip(struct gsta_gpio *chip)
 {
 	struct irq_chip_generic *gc;
 	struct irq_chip_type *ct;
+	int rv;
 
-	gc = irq_alloc_generic_chip(KBUILD_MODNAME, 1, chip->irq_base,
-				     chip->reg_base, handle_simple_irq);
+	gc = devm_irq_alloc_generic_chip(chip->dev, KBUILD_MODNAME, 1,
+					 chip->irq_base,
+					 chip->reg_base, handle_simple_irq);
 	if (!gc)
 		return -ENOMEM;
 
@@ -338,8 +340,11 @@ static int gsta_alloc_irq_chip(struct gsta_gpio *chip)
 	ct->chip.irq_enable = gsta_irq_enable;
 
 	/* FIXME: this makes at most 32 interrupts. Request 0 by now */
-	irq_setup_generic_chip(gc, 0 /* IRQ_MSK(GSTA_GPIO_PER_BLOCK) */, 0,
-			       IRQ_NOREQUEST | IRQ_NOPROBE, 0);
+	rv = devm_irq_setup_generic_chip(chip->dev, gc,
+					 0 /* IRQ_MSK(GSTA_GPIO_PER_BLOCK) */,
+					 0, IRQ_NOREQUEST | IRQ_NOPROBE, 0);
+	if (rv)
+		return rv;
 
 	/* Set up all all 128 interrupts: code from setup_generic_chip */
 	{
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 2/6] gpio: ml-ioh: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
  2017-08-02  7:51 ` [PATCH 1/6] gpio: sta2x11: " Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-02 11:39   ` Linus Walleij
  2017-08-02  7:51 ` [PATCH 3/6] gpio: pch: " Bartosz Golaszewski
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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-ml-ioh.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-ml-ioh.c b/drivers/gpio/gpio-ml-ioh.c
index 74fdce096c26..4b80e996d976 100644
--- a/drivers/gpio/gpio-ml-ioh.c
+++ b/drivers/gpio/gpio-ml-ioh.c
@@ -391,9 +391,10 @@ static int ioh_gpio_alloc_generic_chip(struct ioh_gpio *chip,
 {
 	struct irq_chip_generic *gc;
 	struct irq_chip_type *ct;
+	int rv;
 
-	gc = irq_alloc_generic_chip("ioh_gpio", 1, irq_start, chip->base,
-				    handle_simple_irq);
+	gc = devm_irq_alloc_generic_chip(chip->dev, "ioh_gpio", 1, irq_start,
+					 chip->base, handle_simple_irq);
 	if (!gc)
 		return -ENOMEM;
 
@@ -406,10 +407,11 @@ static int ioh_gpio_alloc_generic_chip(struct ioh_gpio *chip,
 	ct->chip.irq_disable = ioh_irq_disable;
 	ct->chip.irq_enable = ioh_irq_enable;
 
-	irq_setup_generic_chip(gc, IRQ_MSK(num), IRQ_GC_INIT_MASK_CACHE,
-			       IRQ_NOREQUEST | IRQ_NOPROBE, 0);
+	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+					 IRQ_GC_INIT_MASK_CACHE,
+					 IRQ_NOREQUEST | IRQ_NOPROBE, 0);
 
-	return 0;
+	return rv;
 }
 
 static int ioh_gpio_probe(struct pci_dev *pdev,
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 3/6] gpio: pch: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
  2017-08-02  7:51 ` [PATCH 1/6] gpio: sta2x11: " Bartosz Golaszewski
  2017-08-02  7:51 ` [PATCH 2/6] gpio: ml-ioh: " Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-02 11:39   ` Linus Walleij
  2017-08-02  7:51 ` [PATCH 4/6] gpio: mxc: " Bartosz Golaszewski
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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-pch.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-pch.c b/drivers/gpio/gpio-pch.c
index f6600f8ada52..68c6d0c5a6d1 100644
--- a/drivers/gpio/gpio-pch.c
+++ b/drivers/gpio/gpio-pch.c
@@ -337,9 +337,10 @@ static int pch_gpio_alloc_generic_chip(struct pch_gpio *chip,
 {
 	struct irq_chip_generic *gc;
 	struct irq_chip_type *ct;
+	int rv;
 
-	gc = irq_alloc_generic_chip("pch_gpio", 1, irq_start, chip->base,
-				    handle_simple_irq);
+	gc = devm_irq_alloc_generic_chip(chip->dev, "pch_gpio", 1, irq_start,
+					 chip->base, handle_simple_irq);
 	if (!gc)
 		return -ENOMEM;
 
@@ -351,10 +352,11 @@ static int pch_gpio_alloc_generic_chip(struct pch_gpio *chip,
 	ct->chip.irq_unmask = pch_irq_unmask;
 	ct->chip.irq_set_type = pch_irq_type;
 
-	irq_setup_generic_chip(gc, IRQ_MSK(num), IRQ_GC_INIT_MASK_CACHE,
-			       IRQ_NOREQUEST | IRQ_NOPROBE, 0);
+	rv = devm_irq_setup_generic_chip(chip->dev, gc, IRQ_MSK(num),
+					 IRQ_GC_INIT_MASK_CACHE,
+					 IRQ_NOREQUEST | IRQ_NOPROBE, 0);
 
-	return 0;
+	return rv;
 }
 
 static int pch_gpio_probe(struct pci_dev *pdev,
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
                   ` (2 preceding siblings ...)
  2017-08-02  7:51 ` [PATCH 3/6] gpio: pch: " Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-02  8:09   ` Alexander Stein
  2017-08-02  7:51 ` [PATCH 5/6] gpio: mxs: " Bartosz Golaszewski
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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-mxc.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
index 3abea3f0b307..d5f3db49f48e 100644
--- a/drivers/gpio/gpio-mxc.c
+++ b/drivers/gpio/gpio-mxc.c
@@ -66,6 +66,7 @@ struct mxc_gpio_port {
 	int irq_high;
 	struct irq_domain *domain;
 	struct gpio_chip gc;
+	struct device *dev;
 	u32 both_edges;
 };
 
@@ -344,9 +345,10 @@ static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base)
 {
 	struct irq_chip_generic *gc;
 	struct irq_chip_type *ct;
+	int rv;
 
-	gc = irq_alloc_generic_chip("gpio-mxc", 1, irq_base,
-				    port->base, handle_level_irq);
+	gc = devm_irq_alloc_generic_chip(port->dev, "gpio-mxc", 1, irq_base,
+					 port->base, handle_level_irq);
 	if (!gc)
 		return -ENOMEM;
 	gc->private = port;
@@ -361,10 +363,11 @@ static int mxc_gpio_init_gc(struct mxc_gpio_port *port, int irq_base)
 	ct->regs.ack = GPIO_ISR;
 	ct->regs.mask = GPIO_IMR;
 
-	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 void mxc_gpio_get_hw(struct platform_device *pdev)
@@ -418,6 +421,8 @@ static int mxc_gpio_probe(struct platform_device *pdev)
 	if (!port)
 		return -ENOMEM;
 
+	port->dev = &pdev->dev;
+
 	iores = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 	port->base = devm_ioremap_resource(&pdev->dev, iores);
 	if (IS_ERR(port->base))
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 5/6] gpio: mxs: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
                   ` (3 preceding siblings ...)
  2017-08-02  7:51 ` [PATCH 4/6] gpio: mxc: " Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-02  7:51 ` [PATCH 6/6] gpio: sodaville: " Bartosz Golaszewski
  2017-08-20 21:56 ` [PATCH 0/6] gpio: " Linus Walleij
  6 siblings, 0 replies; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [PATCH 6/6] gpio: sodaville: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
                   ` (4 preceding siblings ...)
  2017-08-02  7:51 ` [PATCH 5/6] gpio: mxs: " Bartosz Golaszewski
@ 2017-08-02  7:51 ` Bartosz Golaszewski
  2017-08-20 21:56 ` [PATCH 0/6] gpio: " Linus Walleij
  6 siblings, 0 replies; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  7:51 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-gpio, linux-kernel, Bartosz Golaszewski

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-sodaville.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-sodaville.c b/drivers/gpio/gpio-sodaville.c
index f60da83349ef..20a39f5ac361 100644
--- a/drivers/gpio/gpio-sodaville.c
+++ b/drivers/gpio/gpio-sodaville.c
@@ -155,8 +155,9 @@ static int sdv_register_irqsupport(struct sdv_gpio_chip_data *sd,
 	 * we unmask & ACK the IRQ before the source of the interrupt is gone
 	 * then the interrupt is active again.
 	 */
-	sd->gc = irq_alloc_generic_chip("sdv-gpio", 1, sd->irq_base,
-			sd->gpio_pub_base, handle_fasteoi_irq);
+	sd->gc = devm_irq_alloc_generic_chip(&pdev->dev, "sdv-gpio", 1,
+					     sd->irq_base, sd->gpio_pub_base,
+					     handle_fasteoi_irq);
 	if (!sd->gc)
 		return -ENOMEM;
 
@@ -170,9 +171,13 @@ static int sdv_register_irqsupport(struct sdv_gpio_chip_data *sd,
 	ct->chip.irq_eoi = irq_gc_eoi;
 	ct->chip.irq_set_type = sdv_gpio_pub_set_type;
 
-	irq_setup_generic_chip(sd->gc, IRQ_MSK(SDV_NUM_PUB_GPIOS),
-			IRQ_GC_INIT_MASK_CACHE, IRQ_NOREQUEST,
-			IRQ_LEVEL | IRQ_NOPROBE);
+	ret = devm_irq_setup_generic_chip(&pdev->dev, sd->gc,
+					  IRQ_MSK(SDV_NUM_PUB_GPIOS),
+					  IRQ_GC_INIT_MASK_CACHE,
+					  IRQ_NOREQUEST,
+					  IRQ_LEVEL | IRQ_NOPROBE);
+	if (ret)
+		return ret;
 
 	sd->id = irq_domain_add_legacy(pdev->dev.of_node, SDV_NUM_PUB_GPIOS,
 				sd->irq_base, 0, &irq_domain_sdv_ops, sd);
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02  7:51 ` [PATCH 4/6] gpio: mxc: " Bartosz Golaszewski
@ 2017-08-02  8:09   ` Alexander Stein
  2017-08-02  8:26     ` Bartosz Golaszewski
  2017-08-02  8:32     ` Andy Shevchenko
  0 siblings, 2 replies; 16+ messages in thread
From: Alexander Stein @ 2017-08-02  8:09 UTC (permalink / raw)
  To: Bartosz Golaszewski; +Cc: Linus Walleij, linux-gpio, linux-kernel

Hi,

On Wednesday 02 August 2017 09:51:24, Bartosz Golaszewski wrote:
> Use resource managed variants of irq_alloc_generic_chip() and
> irq_setup_generic_chip().

Is this really useful for drivers which can only be built-in? This is probably 
valid for the other drives as well.

Best regards,
Alexander

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02  8:09   ` Alexander Stein
@ 2017-08-02  8:26     ` Bartosz Golaszewski
  2017-08-02  8:32     ` Andy Shevchenko
  1 sibling, 0 replies; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02  8:26 UTC (permalink / raw)
  To: Alexander Stein; +Cc: Linus Walleij, linux-gpio, linux-kernel

2017-08-02 10:09 GMT+02:00 Alexander Stein
<alexander.stein@systec-electronic.com>:
> Hi,
>
> On Wednesday 02 August 2017 09:51:24, Bartosz Golaszewski wrote:
>> Use resource managed variants of irq_alloc_generic_chip() and
>> irq_setup_generic_chip().
>
> Is this really useful for drivers which can only be built-in? This is probably
> valid for the other drives as well.
>
> Best regards,
> Alexander
>

gpio-pch and gpio-ml-ioh are loadable and they leak the resources
allocated with these routines. Other drivers affected by this series
already use other devm_*() functions and these changes just make them
more consistent.

Thanks,
Bartosz

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02  8:09   ` Alexander Stein
  2017-08-02  8:26     ` Bartosz Golaszewski
@ 2017-08-02  8:32     ` Andy Shevchenko
  2017-08-02 11:41       ` Linus Walleij
  1 sibling, 1 reply; 16+ messages in thread
From: Andy Shevchenko @ 2017-08-02  8:32 UTC (permalink / raw)
  To: Alexander Stein
  Cc: Bartosz Golaszewski, Linus Walleij, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 11:09 AM, Alexander Stein
<alexander.stein@systec-electronic.com> wrote:
> On Wednesday 02 August 2017 09:51:24, Bartosz Golaszewski wrote:
>> Use resource managed variants of irq_alloc_generic_chip() and
>> irq_setup_generic_chip().
>
> Is this really useful for drivers which can only be built-in?

But you still can unbind the driver and its ->remove() will be called
(in case of no remove, devres still on the table), right?

-- 
With Best Regards,
Andy Shevchenko

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 1/6] gpio: sta2x11: use devres for irq generic chip
  2017-08-02  7:51 ` [PATCH 1/6] gpio: sta2x11: " Bartosz Golaszewski
@ 2017-08-02 11:38   ` Linus Walleij
  0 siblings, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2017-08-02 11:38 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 9:51 AM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> Use resource managed variants of irq_alloc_generic_chip() and
> irq_setup_generic_chip().
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 2/6] gpio: ml-ioh: use devres for irq generic chip
  2017-08-02  7:51 ` [PATCH 2/6] gpio: ml-ioh: " Bartosz Golaszewski
@ 2017-08-02 11:39   ` Linus Walleij
  0 siblings, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2017-08-02 11:39 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 9:51 AM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> Use resource managed variants of irq_alloc_generic_chip() and
> irq_setup_generic_chip().
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 3/6] gpio: pch: use devres for irq generic chip
  2017-08-02  7:51 ` [PATCH 3/6] gpio: pch: " Bartosz Golaszewski
@ 2017-08-02 11:39   ` Linus Walleij
  0 siblings, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2017-08-02 11:39 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 9:51 AM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> Use resource managed variants of irq_alloc_generic_chip() and
> irq_setup_generic_chip().
>
> Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>

Patch applied.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02  8:32     ` Andy Shevchenko
@ 2017-08-02 11:41       ` Linus Walleij
  2017-08-02 11:54         ` Bartosz Golaszewski
  0 siblings, 1 reply; 16+ messages in thread
From: Linus Walleij @ 2017-08-02 11:41 UTC (permalink / raw)
  To: Andy Shevchenko
  Cc: Alexander Stein, Bartosz Golaszewski, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 10:32 AM, Andy Shevchenko
<andy.shevchenko@gmail.com> wrote:
> On Wed, Aug 2, 2017 at 11:09 AM, Alexander Stein
> <alexander.stein@systec-electronic.com> wrote:
>> On Wednesday 02 August 2017 09:51:24, Bartosz Golaszewski wrote:
>>> Use resource managed variants of irq_alloc_generic_chip() and
>>> irq_setup_generic_chip().
>>
>> Is this really useful for drivers which can only be built-in?
>
> But you still can unbind the driver and its ->remove() will be called
> (in case of no remove, devres still on the table), right?

Maybe the patches need to be combines with a
.suppress_bind_attrs = true in the driver struct?

I backed out the patches I applied, I thought the series were older,
sorry stressed at work today.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 4/6] gpio: mxc: use devres for irq generic chip
  2017-08-02 11:41       ` Linus Walleij
@ 2017-08-02 11:54         ` Bartosz Golaszewski
  0 siblings, 0 replies; 16+ messages in thread
From: Bartosz Golaszewski @ 2017-08-02 11:54 UTC (permalink / raw)
  To: Linus Walleij
  Cc: Andy Shevchenko, Alexander Stein, linux-gpio@vger.kernel.org,
	linux-kernel@vger.kernel.org

2017-08-02 13:41 GMT+02:00 Linus Walleij <linus.walleij@linaro.org>:
> On Wed, Aug 2, 2017 at 10:32 AM, Andy Shevchenko
> <andy.shevchenko@gmail.com> wrote:
>> On Wed, Aug 2, 2017 at 11:09 AM, Alexander Stein
>> <alexander.stein@systec-electronic.com> wrote:
>>> On Wednesday 02 August 2017 09:51:24, Bartosz Golaszewski wrote:
>>>> Use resource managed variants of irq_alloc_generic_chip() and
>>>> irq_setup_generic_chip().
>>>
>>> Is this really useful for drivers which can only be built-in?
>>
>> But you still can unbind the driver and its ->remove() will be called
>> (in case of no remove, devres still on the table), right?
>
> Maybe the patches need to be combines with a
> .suppress_bind_attrs = true in the driver struct?
>
> I backed out the patches I applied, I thought the series were older,
> sorry stressed at work today.
>

gpio-sodaville sets .supress_bind_attrs to true. Other built-in
drivers need updates for that, but I think this could go in a separate
series as using devres doesn't affect the bind/unbind
functionality/issue.

Thanks,
Bartosz

^ permalink raw reply	[flat|nested] 16+ messages in thread

* Re: [PATCH 0/6] gpio: use devres for irq generic chip
  2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
                   ` (5 preceding siblings ...)
  2017-08-02  7:51 ` [PATCH 6/6] gpio: sodaville: " Bartosz Golaszewski
@ 2017-08-20 21:56 ` Linus Walleij
  6 siblings, 0 replies; 16+ messages in thread
From: Linus Walleij @ 2017-08-20 21:56 UTC (permalink / raw)
  To: Bartosz Golaszewski
  Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org

On Wed, Aug 2, 2017 at 9:51 AM, Bartosz Golaszewski <brgl@bgdev.pl> wrote:

> We now provide resource managed versions of irq_alloc_generic_chip()
> and irq_setup_generic_chip(). Use them in all relevant gpio drivers.
>
> Bartosz Golaszewski (6):
>   gpio: sta2x11: use devres for irq generic chip
>   gpio: ml-ioh: use devres for irq generic chip
>   gpio: pch: use devres for irq generic chip
>   gpio: mxc: use devres for irq generic chip
>   gpio: mxs: use devres for irq generic chip
>   gpio: sodaville: use devres for irq generic chip

I applied all of these. Sorry for being flimsy
about them.

Yours,
Linus Walleij

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2017-08-20 21:56 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-02  7:51 [PATCH 0/6] gpio: use devres for irq generic chip Bartosz Golaszewski
2017-08-02  7:51 ` [PATCH 1/6] gpio: sta2x11: " Bartosz Golaszewski
2017-08-02 11:38   ` Linus Walleij
2017-08-02  7:51 ` [PATCH 2/6] gpio: ml-ioh: " Bartosz Golaszewski
2017-08-02 11:39   ` Linus Walleij
2017-08-02  7:51 ` [PATCH 3/6] gpio: pch: " Bartosz Golaszewski
2017-08-02 11:39   ` Linus Walleij
2017-08-02  7:51 ` [PATCH 4/6] gpio: mxc: " Bartosz Golaszewski
2017-08-02  8:09   ` Alexander Stein
2017-08-02  8:26     ` Bartosz Golaszewski
2017-08-02  8:32     ` Andy Shevchenko
2017-08-02 11:41       ` Linus Walleij
2017-08-02 11:54         ` Bartosz Golaszewski
2017-08-02  7:51 ` [PATCH 5/6] gpio: mxs: " Bartosz Golaszewski
2017-08-02  7:51 ` [PATCH 6/6] gpio: sodaville: " Bartosz Golaszewski
2017-08-20 21:56 ` [PATCH 0/6] gpio: " Linus Walleij

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).