Thread (6 messages) 6 messages, 2 authors, 2021-03-08

Re: [PATCH v4 2/2] gpiolib: Fold conditionals into simple ternary operator

From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: 2021-03-08 19:44:15
Also in: linux-acpi, lkml

On Mon, Mar 8, 2021 at 8:33 PM Andy Shevchenko
[off-list ref] wrote:
quoted hunk ↗ jump to hunk
It's quite spread code to initialize IRQ domain options.
Let's fold it into a simple oneliner.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
v4: new patch (see changelog of previous one)
 drivers/gpio/gpiolib.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c
index afee48e7dd41..8c5ce377accc 100644
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -1458,7 +1458,7 @@ static int gpiochip_add_irqchip(struct gpio_chip *gc,
 {
        struct fwnode_handle *fwnode = dev_fwnode(&gc->gpiodev->dev);
        struct irq_chip *irqchip = gc->irq.chip;
-       const struct irq_domain_ops *ops = NULL;
+       const struct irq_domain_ops *ops;
It looks like the ops local var is redundant.
quoted hunk ↗ jump to hunk
        unsigned int type;
        unsigned int i;
@@ -1496,11 +1496,7 @@ static int gpiochip_add_irqchip(struct gpio_chip *gc,
                        return ret;
        } else {
                /* Some drivers provide custom irqdomain ops */
-               if (gc->irq.domain_ops)
-                       ops = gc->irq.domain_ops;
-
-               if (!ops)
-                       ops = &gpiochip_domain_ops;
+               ops = gc->irq.domain_ops ?: &gpiochip_domain_ops;
                gc->irq.domain = irq_domain_create_simple(fwnode,
                        gc->ngpio,
                        gc->irq.first,
Because this can be

gc->irq.domain = irq_domain_add_simple(np,
                        gc->ngpio,
                        gc->irq.first,
                        gc->irq.domain_ops ?: &gpiochip_domain_ops,
                        gc);

(modulo white space / formatting) and this is the only place where ops
is used in this function.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help