Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1182366

[PATCH v2 10/13] pinctrl: kill off set_irq_flags usage

Path csiph.com!aioe.org!bofh.it!news.nic.it!robomod
From Rob Herring <robh@kernel.org>
Newsgroups linux.kernel
Subject [PATCH v2 10/13] pinctrl: kill off set_irq_flags usage
Date Sun, 12 Jul 2015 16:30:02 +0200
Message-ID <pLqqu-Rf-27@gated-at.bofh.it> (permalink)
References <pLqqt-Rf-3@gated-at.bofh.it>
X-Original-To linux-arm-kernel@lists.infradead.org, Russell King <linux@arm.linux.org.uk>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=mRjMB6GbRghykqkCtOANoHPq0k9zaoi1d6NJtEx4vP4=; b=J+1j1WIwUHKaKsUgJOHjG8G65Bac1UyOH3U6QnJi16EglarQ/gBgbTsoeUL0ZzndgP M7BxeC5QarLwxN9ie3VEe5NYyfeCF02qjRJCsTREYb8Wa0ZyqYZbyZnQnltWTbP/Ofhc +XMnVmjL5Q/gfZ2GkWdOUGq1NrNJIkzGZOyBcQP8UGmKhRVgTYfVFjAF/9MLMIDRniGF rd3MAk7ssw/pf1trVrbjayEcb3M42BMmxZAkcKsqn45sZLPtwvqnpYLwKzUt9LWvDc6i uzUsDk+rG5t0tFVaIKqnGR7nQX1ydD2A79yYpaZ/v9f8b4HdLeKx0uTYvN8PfhcMGR2z fc9w==
X-Received by 10.182.142.74 with SMTP id ru10mr22838504obb.75.1436711228624; Sun, 12 Jul 2015 07:27:08 -0700 (PDT)
X-Mailer git-send-email 2.1.0
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 156
Organization linux.* mail to news gateway
X-Original-Cc linux-kernel@vger.kernel.org, arm@kernel.org, Stephen Warren <swarren@wwwdotorg.org>, Lee Jones <lee@kernel.org>, Matthias Brugger <matthias.bgg@gmail.com>, Tomasz Figa <tomasz.figa@gmail.com>, Thomas Abraham <thomas.abraham@linaro.org>, Kukjin Kim <kgene@kernel.org>, Krzysztof Kozlowski <k.kozlowski@samsung.com>, linux-gpio@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-samsung-soc@vger.kernel.org
X-Original-Date Sun, 12 Jul 2015 09:26:48 -0500
X-Original-Message-ID <1436711211-18223-11-git-send-email-robh@kernel.org>
X-Original-References <1436711211-18223-1-git-send-email-robh@kernel.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref aioe.org linux.kernel:1182366

Show key headers only | View raw


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 set 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>
Acked-by: Linus Walleij <linus.walleij@linaro.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
---
 drivers/pinctrl/bcm/pinctrl-bcm2835.c         | 1 -
 drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 --
 drivers/pinctrl/pinctrl-single.c              | 5 -----
 drivers/pinctrl/samsung/pinctrl-exynos.c      | 1 -
 drivers/pinctrl/samsung/pinctrl-exynos5440.c  | 1 -
 drivers/pinctrl/samsung/pinctrl-s3c24xx.c     | 2 --
 drivers/pinctrl/samsung/pinctrl-s3c64xx.c     | 2 --
 7 files changed, 14 deletions(-)

diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
index efcf2a2..0cfdbb5 100644
--- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c
+++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c
@@ -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++) {
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index ad1ea16..661677c 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -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:
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index b2de09d..d00a990 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -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;
 }
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c
index b18dabb..0e8add9 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos.c
@@ -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;
 }
 
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos5440.c b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
index f5619fb..e7d1c9e 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos5440.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos5440.c
@@ -929,7 +929,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;
 }
 
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
index 01b43db..f218be7 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
@@ -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;
 }
 
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
index ec8cc3b..1a4dd01 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
@@ -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;
 }
@@ -673,7 +672,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;
 }
-- 
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2 00/13] Kill off set_irq_flags Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 07/13] memory: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 05/13] gpu/drm: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 08/13] mfd: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 09/13] PCI: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
    Re: [PATCH v2 09/13] PCI: kill off set_irq_flags usage "Jingoo Han" <jingoohan1@gmail.com> - 2015-07-12 16:40 +0200
  [PATCH v2 06/13] irqchip: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
    Re: [PATCH v2 06/13] irqchip: kill off set_irq_flags usage Thomas Gleixner <tglx@linutronix.de> - 2015-07-16 13:20 +0200
    Re: [PATCH v2 06/13] irqchip: kill off set_irq_flags usage Robert Jarzmik <robert.jarzmik@free.fr> - 2015-07-16 21:40 +0200
      Re: [PATCH v2 06/13] irqchip: kill off set_irq_flags usage Russell King - ARM Linux <linux@arm.linux.org.uk> - 2015-07-16 22:40 +0200
  [PATCH v2 04/13] gpio: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 01/13] ARM: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 13/13] arm64: remove ununsed set_irq_flags Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 10/13] pinctrl: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:30 +0200
  [PATCH v2 03/13] dma: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:40 +0200
  [PATCH v2 02/13] clk: kill off set_irq_flags usage Rob Herring <robh@kernel.org> - 2015-07-12 16:40 +0200

csiph-web