gpio/davinci: Avoid redundant lookup of irq_data
authorThomas Gleixner <tglx@linutronix.de>
Sun, 12 Jul 2015 23:18:56 +0000 (01:18 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 14 Jul 2015 10:12:21 +0000 (12:12 +0200)
It's pretty silly to do

     void *cd = irq_get_chip_data(irq_data->irq);

because that results in cd = irq_data->chip_data, but goes through a
redundant lookup of the irq_data. Use irq_data directly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Alexandre Courbot <gnurou@gmail.com>
Cc: Jiang Liu <jiang.liu@linux.intel.com>
Cc: linux-gpio@vger.kernel.org
drivers/gpio/gpio-davinci.c

index 9a738f5d409bfc5cc3ae247106b402ec725e906d..d885d98fe161779190065a4d91a57a383cd6673b 100644 (file)
@@ -65,11 +65,11 @@ static struct davinci_gpio_regs __iomem *gpio2regs(unsigned gpio)
        return ptr;
 }
 
-static inline struct davinci_gpio_regs __iomem *irq2regs(int irq)
+static inline struct davinci_gpio_regs __iomem *irq2regs(struct irq_data *d)
 {
        struct davinci_gpio_regs __iomem *g;
 
-       g = (__force struct davinci_gpio_regs __iomem *)irq_get_chip_data(irq);
+       g = (__force struct davinci_gpio_regs __iomem *)irq_data_get_irq_chip_data(d);
 
        return g;
 }
@@ -287,7 +287,7 @@ static int davinci_gpio_probe(struct platform_device *pdev)
 
 static void gpio_irq_disable(struct irq_data *d)
 {
-       struct davinci_gpio_regs __iomem *g = irq2regs(d->irq);
+       struct davinci_gpio_regs __iomem *g = irq2regs(d);
        u32 mask = (u32) irq_data_get_irq_handler_data(d);
 
        writel_relaxed(mask, &g->clr_falling);
@@ -296,7 +296,7 @@ static void gpio_irq_disable(struct irq_data *d)
 
 static void gpio_irq_enable(struct irq_data *d)
 {
-       struct davinci_gpio_regs __iomem *g = irq2regs(d->irq);
+       struct davinci_gpio_regs __iomem *g = irq2regs(d);
        u32 mask = (u32) irq_data_get_irq_handler_data(d);
        unsigned status = irqd_get_trigger_type(d);