linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jiang Liu <jiang.liu@linux.intel.com>
To: Thomas Gleixner <tglx@linutronix.de>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Randy Dunlap <rdunlap@infradead.org>,
	Yinghai Lu <yinghai@kernel.org>, Borislav Petkov <bp@alien8.de>,
	Dan Williams <dan.j.williams@intel.com>,
	Vinod Koul <vinod.koul@intel.com>,
	Murali Karicheri <m-karicheri2@ti.com>,
	Jiang Liu <jiang.liu@linux.intel.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Steve Longerbeam <slongerbeam@gmail.com>,
	Gilad Avidov <gavidov@codeaurora.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Tony Luck <tony.luck@intel.com>,
	x86@kernel.org, linux-kernel@vger.kernel.org,
	linux-pci@vger.kernel.org, linux-acpi@vger.kernel.org,
	dmaengine@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: [RFC v1 25/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t
Date: Wed, 20 May 2015 18:00:13 +0800	[thread overview]
Message-ID: <1432116013-25902-26-git-send-email-jiang.liu@linux.intel.com> (raw)
In-Reply-To: <1432116013-25902-1-git-send-email-jiang.liu@linux.intel.com>

Now most IRQ flow handlers make no use of the first parameter 'irq'.
And for those who do make use of 'irq', we could easily get the irq
number through irq_desc->irq_data->irq. So kill the first parameter
'irq' of irq_flow_handler_t.

To ease review, I have split the changes into several parts, though
they should be merge as one to support bisecting.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
 drivers/dma/ipu/ipu_irq.c       |    6 ++++--
 drivers/gpu/ipu-v3/ipu-common.c |    4 ++--
 drivers/pci/host/pci-keystone.c |    7 ++++---
 drivers/spmi/spmi-pmic-arb.c    |    2 +-
 4 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c
index 0e12af37fe2f..edd12278dc3e 100644
--- a/drivers/dma/ipu/ipu_irq.c
+++ b/drivers/dma/ipu/ipu_irq.c
@@ -266,8 +266,9 @@ int ipu_irq_unmap(unsigned int source)
 }
 
 /* Chained IRQ handler for IPU error interrupt */
-static void ipu_irq_err(unsigned int irq, struct irq_desc *desc)
+static void ipu_irq_err(struct irq_desc *desc)
 {
+	unsigned int irq = irq_desc_to_irq(desc);
 	struct ipu *ipu = irq_desc_get_handler_data(desc);
 	u32 status;
 	int i, line;
@@ -307,8 +308,9 @@ static void ipu_irq_err(unsigned int irq, struct irq_desc *desc)
 }
 
 /* Chained IRQ handler for IPU function interrupt */
-static void ipu_irq_fn(unsigned int irq, struct irq_desc *desc)
+static void ipu_irq_fn(struct irq_desc *desc)
 {
+	unsigned int irq = irq_desc_to_irq(desc);
 	struct ipu *ipu = irq_desc_get_handler_data(desc);
 	u32 status;
 	int i, line;
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c
index 7022825b7a2c..1125b03c36af 100644
--- a/drivers/gpu/ipu-v3/ipu-common.c
+++ b/drivers/gpu/ipu-v3/ipu-common.c
@@ -912,7 +912,7 @@ static void ipu_irq_handle(struct ipu_soc *ipu, const int *regs, int num_regs)
 	}
 }
 
-static void ipu_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void ipu_irq_handler(struct irq_desc *desc)
 {
 	struct ipu_soc *ipu = irq_desc_get_handler_data(desc);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
@@ -925,7 +925,7 @@ static void ipu_irq_handler(unsigned int irq, struct irq_desc *desc)
 	chained_irq_exit(chip, desc);
 }
 
-static void ipu_err_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void ipu_err_irq_handler(struct irq_desc *desc)
 {
 	struct ipu_soc *ipu = irq_desc_get_handler_data(desc);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c
index 75333b0c4f0a..659a73da372c 100644
--- a/drivers/pci/host/pci-keystone.c
+++ b/drivers/pci/host/pci-keystone.c
@@ -112,8 +112,9 @@ static int ks_pcie_establish_link(struct keystone_pcie *ks_pcie)
 	return 0;
 }
 
-static void ks_pcie_msi_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void ks_pcie_msi_irq_handler(struct irq_desc *desc)
 {
+	unsigned int irq = irq_desc_to_irq(desc);
 	struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc);
 	u32 offset = irq - ks_pcie->msi_host_irqs[0];
 	struct pcie_port *pp = &ks_pcie->pp;
@@ -133,14 +134,14 @@ static void ks_pcie_msi_irq_handler(unsigned int irq, struct irq_desc *desc)
 
 /**
  * ks_pcie_legacy_irq_handler() - Handle legacy interrupt
- * @irq: IRQ line for legacy interrupts
  * @desc: Pointer to irq descriptor
  *
  * Traverse through pending legacy interrupts and invoke handler for each. Also
  * takes care of interrupt controller level mask/ack operation.
  */
-static void ks_pcie_legacy_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void ks_pcie_legacy_irq_handler(struct irq_desc *desc)
 {
+	unsigned int irq = irq_desc_to_irq(desc);
 	struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc);
 	struct pcie_port *pp = &ks_pcie->pp;
 	u32 irq_offset = irq - ks_pcie->legacy_host_irqs[0];
diff --git a/drivers/spmi/spmi-pmic-arb.c b/drivers/spmi/spmi-pmic-arb.c
index b32cb0a813cb..d7e7846917ae 100644
--- a/drivers/spmi/spmi-pmic-arb.c
+++ b/drivers/spmi/spmi-pmic-arb.c
@@ -451,7 +451,7 @@ static void periph_interrupt(struct spmi_pmic_arb_dev *pa, u8 apid)
 	}
 }
 
-static void pmic_arb_chained_irq(unsigned int irq, struct irq_desc *desc)
+static void pmic_arb_chained_irq(struct irq_desc *desc)
 {
 	struct spmi_pmic_arb_dev *pa = irq_desc_get_handler_data(desc);
 	struct irq_chip *chip = irq_desc_get_chip(desc);
-- 
1.7.10.4


  parent reply	other threads:[~2015-05-20 10:00 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-20  9:59 [RFC v1 00/25] Optimize irq flow handler Jiang Liu
2015-05-20  9:59 ` [RFC v1 01/25] ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
2015-05-20 19:35   ` Russell King - ARM Linux
2015-05-20  9:59 ` [RFC v1 02/25] avr32, " Jiang Liu
2015-05-20 10:15   ` Hans-Christian Egtvedt
2015-05-20  9:59 ` [RFC v1 03/25] MIPS, " Jiang Liu
2015-05-20  9:59 ` [RFC v1 04/25] powerpc, " Jiang Liu
2015-05-20  9:59 ` [RFC v1 05/25] gpio: " Jiang Liu
2015-06-01 12:45   ` Linus Walleij
2015-06-01 13:48     ` Jiang Liu
2015-05-20  9:59 ` [RFC v1 06/25] pinctrl: " Jiang Liu
2015-05-20  9:59 ` [RFC v1 07/25] irqchip: " Jiang Liu
2015-05-20  9:59 ` [RFC v1 08/25] mfd: " Jiang Liu
2015-05-20 10:44   ` Lee Jones
2015-05-20  9:59 ` [RFC v1 09/25] ipu: " Jiang Liu
2015-05-20  9:59 ` [RFC v1 10/25] sh: intc: " Jiang Liu
2015-05-20 15:12   ` Thomas Gleixner
2015-05-20 15:24     ` Jiang Liu
2015-05-20  9:59 ` [RFC v1 11/25] keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_data Jiang Liu
2015-05-20 10:00 ` [RFC v1 12/25] spmi: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
2015-05-20 10:00 ` [RFC v1 13/25] genirq: Kill the parameter 'irq' of kstat_incr_irqs_this_cpu() Jiang Liu
2015-05-20 15:23   ` Thomas Gleixner
2015-05-20 10:00 ` [RFC v1 14/25] genirq: Kill the first parameter 'irq' of irq_flow_handler_t Jiang Liu
2015-05-20 15:25   ` Thomas Gleixner
2015-05-20 15:28     ` Jiang Liu
2015-05-20 18:35       ` Thomas Gleixner
2015-05-20 20:00         ` Julia Lawall
2015-05-20 20:12           ` Thomas Gleixner
2015-05-20 20:15             ` Julia Lawall
2015-05-20 20:22               ` Thomas Gleixner
2015-06-12 20:29                 ` Julia Lawall
2015-06-12 20:35                   ` Thomas Gleixner
2015-06-12 22:16                     ` Julia Lawall
2015-06-13  8:27         ` Julia Lawall
2015-06-13  9:00         ` Julia Lawall
2015-06-13  9:32           ` Thomas Gleixner
2015-06-13 14:04             ` Julia Lawall
2015-06-13 14:53               ` Julia Lawall
2015-06-13 16:49                 ` Jiang Liu
2015-06-13 20:15                   ` Julia Lawall
2015-06-13 20:32                     ` Thomas Gleixner
2015-06-13 20:42                       ` Julia Lawall
2015-06-24 21:10                         ` Thomas Gleixner
2015-06-24 21:44                           ` Julia Lawall
2015-06-13 21:42                       ` Julia Lawall
2015-05-20 18:36       ` Thomas Gleixner
2015-05-20 10:00 ` [RFC v1 15/25] " Jiang Liu
2015-05-20 15:28   ` Thomas Gleixner
2015-05-20 15:32     ` Jiang Liu
2015-05-20 15:48       ` Thomas Gleixner
2015-05-20 15:38   ` Hans Ulli Kroll
2015-05-20 18:54   ` Robert Jarzmik
2015-05-20 10:00 ` [RFC v1 16/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 17/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 18/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 19/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 20/25] " Jiang Liu
2015-05-20 10:16   ` Hans-Christian Egtvedt
2015-05-20 10:00 ` [RFC v1 21/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 22/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 23/25] " Jiang Liu
2015-05-20 10:00 ` [RFC v1 24/25] " Jiang Liu
2015-05-20 10:43   ` Lee Jones
2015-05-20 10:00 ` Jiang Liu [this message]
2015-05-20 15:40   ` [RFC v1 25/25] " Thomas Gleixner
2015-05-20 15:49     ` Jiang Liu
2015-05-20 18:43       ` Thomas Gleixner
2015-05-20 10:16 ` [RFC v1 00/25] Optimize irq flow handler Ingo Molnar
2015-05-20 10:23   ` Jiang Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1432116013-25902-26-git-send-email-jiang.liu@linux.intel.com \
    --to=jiang.liu@linux.intel.com \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=bp@alien8.de \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=gavidov@codeaurora.org \
    --cc=hpa@zytor.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=m-karicheri2@ti.com \
    --cc=mingo@redhat.com \
    --cc=p.zabel@pengutronix.de \
    --cc=rdunlap@infradead.org \
    --cc=rjw@rjwysocki.net \
    --cc=slongerbeam@gmail.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=vinod.koul@intel.com \
    --cc=x86@kernel.org \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).