]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
pinctrl: kill off set_irq_flags usage
authorRob Herring <robh@kernel.org>
Mon, 27 Jul 2015 20:55:22 +0000 (15:55 -0500)
committerLinus Walleij <linus.walleij@linaro.org>
Tue, 28 Jul 2015 10:15:19 +0000 (12:15 +0200)
set_irq_flags is ARM specific with custom flags which have genirq
equivalents. Convert drivers to use the genirq interfaces directly, so we
can kill off set_irq_flags. The translation of flags is as follows:

IRQF_VALID -> !IRQ_NOREQUEST
IRQF_PROBE -> !IRQ_NOPROBE
IRQF_NOAUTOEN -> IRQ_NOAUTOEN

For IRQs managed by an irqdomain, the irqdomain core code handles clearing
and setting IRQ_NOREQUEST already, so there is no need to do this in
.map() functions and we can simply remove the set_irq_flags calls. Some
users also modify IRQ_NOPROBE and this has been maintained although it
is not clear that is really needed. There appears to be a great deal of
blind copy and paste of this code.

Signed-off-by: Rob Herring <robh@kernel.org>
Cc: Stephen Warren <swarren@wwwdotorg.org>
Cc: Lee Jones <lee@kernel.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Tomasz Figa <tomasz.figa@gmail.com>
Cc: Thomas Abraham <thomas.abraham@linaro.org>
Cc: Kukjin Kim <kgene@kernel.org>
Cc: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Cc: linux-gpio@vger.kernel.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-samsung-soc@vger.kernel.org
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/bcm/pinctrl-bcm2835.c
drivers/pinctrl/mediatek/pinctrl-mtk-common.c
drivers/pinctrl/pinctrl-single.c
drivers/pinctrl/samsung/pinctrl-exynos.c
drivers/pinctrl/samsung/pinctrl-exynos5440.c
drivers/pinctrl/samsung/pinctrl-s3c24xx.c
drivers/pinctrl/samsung/pinctrl-s3c64xx.c

index 104d8a63bbce7e496c4be0dc0b7d7b11938df399..f4d0168d814e1b6763705ff217f5776599d54f64 100644 (file)
@@ -987,7 +987,6 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev)
                irq_set_chip_and_handler(irq, &bcm2835_gpio_irq_chip,
                                handle_level_irq);
                irq_set_chip_data(irq, pc);
-               set_irq_flags(irq, IRQF_VALID);
        }
 
        for (i = 0; i < BCM2835_NUM_BANKS; i++) {
index 4be0124e9936192ac75604f8eb83a63918f49e57..0350a807da1a8bb1b23dfa8f9cc6e401e7398388 100644 (file)
@@ -1348,11 +1348,9 @@ int mtk_pctrl_init(struct platform_device *pdev,
                irq_set_chip_and_handler(virq, &mtk_pinctrl_irq_chip,
                        handle_level_irq);
                irq_set_chip_data(virq, pctl);
-               set_irq_flags(virq, IRQF_VALID);
        };
 
        irq_set_chained_handler_and_data(irq, mtk_eint_irq_handler, pctl);
-       set_irq_flags(irq, IRQF_VALID);
        return 0;
 
 chip_error:
index b8aaf9559dddbe4aacc7e36c4ad91d7b494d4b2d..e99cabe33696a3fc9bf4c158af65cd23a5bb9bb0 100644 (file)
@@ -1716,12 +1716,7 @@ static int pcs_irqdomain_map(struct irq_domain *d, unsigned int irq,
        irq_set_chip_data(irq, pcs_soc);
        irq_set_chip_and_handler(irq, &pcs->chip,
                                 handle_level_irq);
-
-#ifdef CONFIG_ARM
-       set_irq_flags(irq, IRQF_VALID);
-#else
        irq_set_noprobe(irq);
-#endif
 
        return 0;
 }
index 07773c70c12cf48597ece41cc3c81be34ad0fb49..5f45caaef46d6828bbfd1ea2b4f40ce445419357 100644 (file)
@@ -256,7 +256,6 @@ static int exynos_eint_irq_map(struct irq_domain *h, unsigned int virq,
        irq_set_chip_data(virq, b);
        irq_set_chip_and_handler(virq, &b->irq_chip->chip,
                                        handle_level_irq);
-       set_irq_flags(virq, IRQF_VALID);
        return 0;
 }
 
index 5574b8ae594970b36b838fbbf1b5e1b5458870eb..9ce0b8619d4c6eb90715dd06ae50921266074307 100644 (file)
@@ -894,7 +894,6 @@ static int exynos5440_gpio_irq_map(struct irq_domain *h, unsigned int virq,
        irq_set_chip_data(virq, d);
        irq_set_chip_and_handler(virq, &exynos5440_gpio_irq_chip,
                                        handle_level_irq);
-       set_irq_flags(virq, IRQF_VALID);
        return 0;
 }
 
index 5d7b6112fc7e4aca469969b078cfdb635ae0b820..019844d479bb5c2b1bd63ebc840f796d5c684965 100644 (file)
@@ -437,7 +437,6 @@ static int s3c24xx_gpf_irq_map(struct irq_domain *h, unsigned int virq,
                                         handle_edge_irq);
        }
        irq_set_chip_data(virq, bank);
-       set_irq_flags(virq, IRQF_VALID);
        return 0;
 }
 
@@ -457,7 +456,6 @@ static int s3c24xx_gpg_irq_map(struct irq_domain *h, unsigned int virq,
 
        irq_set_chip_and_handler(virq, &s3c24xx_eint_chip, handle_edge_irq);
        irq_set_chip_data(virq, bank);
-       set_irq_flags(virq, IRQF_VALID);
        return 0;
 }
 
index 8700f0c9eee15db1fbeef421f44dda7e8822abb9..f5ea40a69711c01eceaaea391fb6ad365d1d624d 100644 (file)
@@ -395,7 +395,6 @@ static int s3c64xx_gpio_irq_map(struct irq_domain *h, unsigned int virq,
        irq_set_chip_and_handler(virq,
                                &s3c64xx_gpio_irq_chip, handle_level_irq);
        irq_set_chip_data(virq, bank);
-       set_irq_flags(virq, IRQF_VALID);
 
        return 0;
 }
@@ -671,7 +670,6 @@ static int s3c64xx_eint0_irq_map(struct irq_domain *h, unsigned int virq,
        irq_set_chip_and_handler(virq,
                                &s3c64xx_eint0_irq_chip, handle_level_irq);
        irq_set_chip_data(virq, ddata);
-       set_irq_flags(virq, IRQF_VALID);
 
        return 0;
 }