* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
@ 2015-06-04 4:13 Jiang Liu
2015-06-04 4:13 ` [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
` (14 more replies)
0 siblings, 15 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Many irq core interfaces pass both 'struct irq_desc *desc' and 'int irq'
to identify an irq. But that's a little overhead, either 'irq_desc' or
'irq' could identify an irq. We could get 'irq_desc' from 'irq' by
irq_to_desc() and get 'irq' from 'irq_desc' through irq_desc->irq_data.irq.
So this patch set aims to reduce number of parameters of irq related
interfaces by passing in either 'irq' or 'irq_desc" but not both.
Hope this helps to simplify interfaces and improve performance.
This patch set is based the patch set to refine struct irq_data, which
has been posted at:
The patch set could be split into five parts:
1) Patch 1-2 is following-on cleanup work for
2) Patch 3-14 optimize irq handlers by avoiding redundant calling of
irq_to_desc() when we already have a pointer to corresponding irq_desc.
3) Patch 15-20 reduce number of parameters of irq core functions.
4) Patch 21-34 prepare for killing the first parameter 'irq' of
irq_flow_handler_t
5) Patch 35-48 kill the first parameter 'irq' of irq_flow_handler_t.
All these patches should be combined as one big patch to support
bisecting, they have been split for easy review only.
With all these patches applied, a tree-wide 'grep -R "struct irq_desc" *'
shows that there are only four functions left who take both 'irq' and
'irq_desc' as parameters:
kernel/irq/manage.c:__setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
kernel/irq/debug.h:static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
kernel/irq/irqdesc.c:static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node,
kernel/irq/irqdesc.c:static void irq_insert_desc(unsigned int irq, struct irq_desc *desc)
They are all pretty safe, it's a good sign that we have done a clean
conversion. Thomas suggested to use coci scripts verify conversion result,
it's a little hard for me and will ask for help from Julia later.
You may get the patch set from:
The patch set passes Fengguang's 0day test suites as below. And tests
with other platforms and configurations will be appreciated:)
----------------------------------------------------------
configs tested: 95
alpha defconfig
parisc allnoconfig
parisc b180_defconfig
parisc c3000_defconfig
parisc defconfig
i386 randconfig-a0-06031710
i386 randconfig-a1-06031710
x86_64 acpi-redef
x86_64 allyesdebian
x86_64 nfsroot
x86_64 allnoconfig
x86_64 rhel
sh allnoconfig
sh rsk7269_defconfig
sh sh7785lcr_32bit_defconfig
sh titan_defconfig
ia64 alldefconfig
ia64 allnoconfig
ia64 defconfig
powerpc allnoconfig
powerpc defconfig
powerpc ppc64_defconfig
i386 alldefconfig
i386 allmodconfig
i386 allnoconfig
i386 defconfig
mips allnoconfig
mips fuloong2e_defconfig
mips jz4740
mips txx9
x86_64 randconfig-i0-0603
x86_64 randconfig-i1-0603
sparc defconfig
sparc64 allnoconfig
sparc64 defconfig
microblaze mmu_defconfig
microblaze nommu_defconfig
i386 randconfig-i0-0603
i386 randconfig-i1-0603
i386 allyesconfig
blackfin BF526-EZBRD_defconfig
blackfin BF533-EZKIT_defconfig
blackfin BF561-EZKIT-SMP_defconfig
blackfin TCM-BF537_defconfig
cris etrax-100lx_v2_defconfig
i386 randconfig-n0-0603
i386 randconfig-n1-0603
x86_64 lkp
arm allnoconfig
arm at91_dt_defconfig
arm at_hdmac
arm ep93xx
arm imx_v6_v7_defconfig
arm iop-adma
arm marzen_defconfig
arm prima2_defconfig
arm sa1100
arm samsung
arm sh
arm spear13xx_defconfig
m68k amiga_defconfig
m68k m5475evb_defconfig
m68k multi_defconfig
x86_64 allmodconfig
x86_64 randconfig-x000-06031659
x86_64 randconfig-x001-06031659
x86_64 randconfig-x002-06031659
x86_64 randconfig-x003-06031659
x86_64 randconfig-x004-06031659
x86_64 randconfig-x005-06031659
x86_64 randconfig-x006-06031659
x86_64 randconfig-x007-06031659
x86_64 randconfig-x008-06031659
x86_64 randconfig-x009-06031659
i386 randconfig-r0-0603
i386 randconfig-r1-0603
avr32 atngw100_defconfig
avr32 atstk1006_defconfig
frv defconfig
mn10300 asb2364_defconfig
openrisc or1ksim_defconfig
tile tilegx_defconfig
um i386_defconfig
um x86_64_defconfig
i386 randconfig-x000-06031736
i386 randconfig-x001-06031736
i386 randconfig-x002-06031736
i386 randconfig-x003-06031736
i386 randconfig-x004-06031736
i386 randconfig-x005-06031736
i386 randconfig-x006-06031736
i386 randconfig-x007-06031736
i386 randconfig-x008-06031736
i386 randconfig-x009-06031736
x86_64 randconfig-x0-06031736
Thanks!
Gerry
Jiang Liu (48):
genirq: Clean up outdated comments related to include/linux/irqdesc.h
genirq: Kill never used irq_node()
MIPS, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
powerpc, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
avr32, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
sh: intc: Use irq_desc_get_xxx() to avoid redundant lookup of
irq_desc
keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of
irq_data
spmi: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
genirq: Kill the parameter 'irq' of kstat_incr_irqs_this_cpu()
genirq: Introduce helper irq_desc_get_irq()
genirq: Kill the parameter 'irq' of check_irq_resend()
genirq: Kill the parameter 'irq' of note_interrupt()
genirq: Change prototypes of register_irq_proc() and friends
genirq: Kill the parameter 'irq' of setup_affinity()
ARM, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
blackfin, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
c6x, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
m68k, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
mips, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
powerpc, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
sh, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
unicore32, irq: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
ipu: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
gpio: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
irqchip: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
mfd: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
PCI/keystone: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
pinctrl: Prepare for killing the first parameter 'irq' of
irq_flow_handler_t
genirq: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, arm: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, blackfin: Kill the first parameter 'irq' of
irq_flow_handler_t
genirq, powerpc: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, mips: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, m68k: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, x86: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, sh: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, arch: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, pinctrl: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, gpio: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, irqchip: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, mfd: Kill the first parameter 'irq' of irq_flow_handler_t
genirq, drivers: Kill the first parameter 'irq' of irq_flow_handler_t
arch/alpha/kernel/irq.c | 2 +-
arch/arm/common/it8152.c | 2 +-
arch/arm/common/locomo.c | 13 ++---
arch/arm/common/sa1111.c | 6 +--
arch/arm/include/asm/hardware/it8152.h | 2 +-
arch/arm/include/asm/mach/irq.h | 4 +-
arch/arm/mach-dove/irq.c | 5 +-
arch/arm/mach-footbridge/isa-irq.c | 4 +-
arch/arm/mach-gemini/gpio.c | 2 +-
arch/arm/mach-imx/3ds_debugboard.c | 2 +-
arch/arm/mach-imx/mach-mx31ads.c | 2 +-
arch/arm/mach-iop13xx/msi.c | 2 +-
arch/arm/mach-lpc32xx/irq.c | 4 +-
arch/arm/mach-netx/generic.c | 2 +-
arch/arm/mach-omap1/fpga.c | 2 +-
arch/arm/mach-omap2/prm_common.c | 2 +-
arch/arm/mach-pxa/balloon3.c | 5 +-
arch/arm/mach-pxa/cm-x2xx-pci.c | 4 +-
arch/arm/mach-pxa/lpd270.c | 6 +--
arch/arm/mach-pxa/pcm990-baseboard.c | 5 +-
arch/arm/mach-pxa/viper.c | 8 ++-
arch/arm/mach-pxa/zeus.c | 8 ++-
arch/arm/mach-rpc/ecard.c | 2 +-
arch/arm/mach-s3c24xx/bast-irq.c | 3 +-
arch/arm/mach-s3c64xx/common.c | 8 +--
arch/arm/mach-sa1100/neponset.c | 2 +-
arch/arm/plat-orion/gpio.c | 4 +-
arch/avr32/mach-at32ap/extint.c | 2 +-
arch/avr32/mach-at32ap/pio.c | 4 +-
arch/blackfin/include/asm/irq_handler.h | 4 +-
arch/blackfin/kernel/ipipe.c | 4 +-
arch/blackfin/mach-bf537/ints-priority.c | 8 ++-
arch/blackfin/mach-common/ints-priority.c | 8 ++-
arch/c6x/platforms/megamod-pic.c | 9 ++--
arch/m68k/amiga/amiints.c | 8 +--
arch/m68k/coldfire/intc-5272.c | 4 +-
arch/m68k/include/asm/irq.h | 3 +-
arch/m68k/include/asm/mac_via.h | 2 +-
arch/m68k/mac/baboon.c | 2 +-
arch/m68k/mac/oss.c | 4 +-
arch/m68k/mac/psc.c | 3 +-
arch/m68k/mac/via.c | 6 +--
arch/mips/alchemy/common/irq.c | 4 +-
arch/mips/alchemy/devboards/bcsr.c | 3 +-
arch/mips/ath25/ar2315.c | 4 +-
arch/mips/ath25/ar5312.c | 4 +-
arch/mips/ath79/irq.c | 11 ++--
arch/mips/cavium-octeon/octeon-irq.c | 12 +++--
arch/mips/include/asm/netlogic/common.h | 4 +-
arch/mips/jz4740/gpio.c | 2 +-
arch/mips/netlogic/common/smp.c | 4 +-
arch/mips/pci/pci-ar2315.c | 4 +-
arch/mips/pci/pci-ar71xx.c | 4 +-
arch/mips/pci/pci-ar724x.c | 4 +-
arch/mips/pci/pci-rt3883.c | 8 ++-
arch/mips/ralink/irq.c | 4 +-
arch/powerpc/include/asm/qe_ic.h | 23 ++++----
arch/powerpc/include/asm/tsi108_pci.h | 2 +-
arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 4 +-
arch/powerpc/platforms/52xx/media5200.c | 2 +-
arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 4 +-
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 2 +-
arch/powerpc/platforms/85xx/common.c | 2 +-
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 5 +-
arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 +-
arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 4 +-
arch/powerpc/platforms/86xx/pic.c | 2 +-
arch/powerpc/platforms/8xx/m8xx_setup.c | 2 +-
arch/powerpc/platforms/cell/axon_msi.c | 4 +-
arch/powerpc/platforms/cell/interrupt.c | 3 +-
arch/powerpc/platforms/cell/spider-pic.c | 2 +-
arch/powerpc/platforms/chrp/setup.c | 2 +-
arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 5 +-
arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 +-
arch/powerpc/platforms/pseries/setup.c | 2 +-
arch/powerpc/sysdev/ge/ge_pic.c | 2 +-
arch/powerpc/sysdev/ge/ge_pic.h | 2 +-
arch/powerpc/sysdev/mpic.c | 2 +-
arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 +-
arch/powerpc/sysdev/tsi108_pci.c | 2 +-
arch/powerpc/sysdev/uic.c | 4 +-
arch/powerpc/sysdev/xics/xics-common.c | 2 +-
arch/powerpc/sysdev/xilinx_intc.c | 2 +-
arch/sh/boards/mach-se/7343/irq.c | 4 +-
arch/sh/boards/mach-se/7722/irq.c | 4 +-
arch/sh/boards/mach-se/7724/irq.c | 4 +-
arch/sh/boards/mach-x3proto/gpio.c | 4 +-
arch/sh/cchips/hd6446x/hd64461.c | 2 +-
arch/sparc/kernel/leon_kernel.c | 2 +-
arch/sparc/kernel/leon_pci_grpci1.c | 2 +-
arch/sparc/kernel/leon_pci_grpci2.c | 2 +-
arch/tile/kernel/pci_gx.c | 4 +-
arch/unicore32/kernel/irq.c | 5 +-
arch/x86/kernel/irq_32.c | 13 +++--
arch/x86/kernel/irq_64.c | 2 +-
arch/x86/lguest/boot.c | 2 +-
drivers/dma/ipu/ipu_irq.c | 8 +--
drivers/gpio/gpio-altera.c | 6 +--
drivers/gpio/gpio-bcm-kona.c | 4 +-
drivers/gpio/gpio-davinci.c | 3 +-
drivers/gpio/gpio-dwapb.c | 4 +-
drivers/gpio/gpio-ep93xx.c | 5 +-
drivers/gpio/gpio-intel-mid.c | 2 +-
drivers/gpio/gpio-lynxpoint.c | 2 +-
drivers/gpio/gpio-mpc8xxx.c | 2 +-
drivers/gpio/gpio-msic.c | 2 +-
drivers/gpio/gpio-msm-v2.c | 2 +-
drivers/gpio/gpio-mvebu.c | 4 +-
drivers/gpio/gpio-mxc.c | 10 ++--
drivers/gpio/gpio-mxs.c | 4 +-
drivers/gpio/gpio-omap.c | 4 +-
drivers/gpio/gpio-pl061.c | 2 +-
drivers/gpio/gpio-pxa.c | 2 +-
drivers/gpio/gpio-sa1100.c | 5 +-
drivers/gpio/gpio-tegra.c | 6 +--
drivers/gpio/gpio-timberdale.c | 7 +--
drivers/gpio/gpio-tz1090.c | 4 +-
drivers/gpio/gpio-vf610.c | 4 +-
drivers/gpio/gpio-zynq.c | 4 +-
drivers/gpu/ipu-v3/ipu-common.c | 8 +--
drivers/irqchip/exynos-combiner.c | 8 +--
drivers/irqchip/irq-armada-370-xp.c | 5 +-
drivers/irqchip/irq-bcm7038-l1.c | 2 +-
drivers/irqchip/irq-bcm7120-l2.c | 2 +-
drivers/irqchip/irq-brcmstb-l2.c | 7 +--
drivers/irqchip/irq-dw-apb-ictl.c | 6 +--
drivers/irqchip/irq-gic.c | 6 +--
drivers/irqchip/irq-imgpdc.c | 5 +-
drivers/irqchip/irq-keystone.c | 6 +--
drivers/irqchip/irq-metag-ext.c | 3 +-
drivers/irqchip/irq-metag.c | 3 +-
drivers/irqchip/irq-mips-gic.c | 2 +-
drivers/irqchip/irq-mmp.c | 3 +-
drivers/irqchip/irq-orion.c | 4 +-
drivers/irqchip/irq-s3c24xx.c | 6 +--
drivers/irqchip/irq-sunxi-nmi.c | 4 +-
drivers/irqchip/irq-tb10x.c | 4 +-
drivers/irqchip/irq-versatile-fpga.c | 6 +--
drivers/irqchip/irq-vic.c | 2 +-
drivers/irqchip/spear-shirq.c | 4 +-
drivers/mfd/asic3.c | 2 +-
drivers/mfd/ezx-pcap.c | 4 +-
drivers/mfd/htc-egpio.c | 2 +-
drivers/mfd/jz4740-adc.c | 2 +-
drivers/mfd/max8997-irq.c | 8 +--
drivers/mfd/mt6397-core.c | 8 +--
drivers/mfd/pm8921-core.c | 2 +-
drivers/mfd/t7l66xb.c | 4 +-
drivers/mfd/tc6393xb.c | 4 +-
drivers/mfd/twl6030-irq.c | 2 +-
drivers/mfd/ucb1x00-core.c | 4 +-
drivers/pci/host/pci-keystone-dw.c | 15 +++---
drivers/pci/host/pci-keystone.c | 7 +--
drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c | 2 +-
drivers/pinctrl/intel/pinctrl-baytrail.c | 2 +-
drivers/pinctrl/intel/pinctrl-cherryview.c | 4 +-
drivers/pinctrl/intel/pinctrl-intel.c | 4 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 6 +--
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 14 +++--
drivers/pinctrl/pinctrl-adi2.c | 3 +-
drivers/pinctrl/pinctrl-amd.c | 8 +--
drivers/pinctrl/pinctrl-at91.c | 4 +-
drivers/pinctrl/pinctrl-coh901.c | 7 +--
drivers/pinctrl/pinctrl-rockchip.c | 8 +--
drivers/pinctrl/pinctrl-single.c | 4 +-
drivers/pinctrl/pinctrl-st.c | 10 ++--
drivers/pinctrl/qcom/pinctrl-msm.c | 6 +--
drivers/pinctrl/samsung/pinctrl-exynos.c | 12 ++---
drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 26 ++++-----
drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 32 ++++++-----
drivers/pinctrl/sirf/pinctrl-sirf.c | 7 +--
drivers/pinctrl/spear/pinctrl-plgpio.c | 2 +-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 7 +--
drivers/sh/intc/core.c | 4 +-
drivers/sh/intc/virq.c | 18 ++++---
drivers/spmi/spmi-pmic-arb.c | 6 +--
include/linux/irq.h | 20 ++++---
include/linux/irqdesc.h | 12 +++--
include/linux/irqhandler.h | 2 +-
include/linux/irqnr.h | 6 ---
kernel/irq/chip.c | 44 +++++++--------
kernel/irq/handle.c | 8 +--
kernel/irq/internals.h | 29 +++++-----
kernel/irq/irqdesc.c | 6 +--
kernel/irq/manage.c | 66 ++++++++++++-----------
kernel/irq/pm.c | 12 ++---
kernel/irq/proc.c | 16 +++---
kernel/irq/resend.c | 4 +-
kernel/irq/spurious.c | 33 ++++++------
189 files changed, 543 insertions(+), 565 deletions(-)
--
1.7.10.4
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 6:20 ` Javier Martinez Canillas
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
` (13 subsequent siblings)
14 siblings, 1 reply; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
already have a pointer to corresponding irq_desc.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/gpio/gpio-bcm-kona.c | 2 +-
drivers/gpio/gpio-dwapb.c | 2 +-
drivers/gpio/gpio-mvebu.c | 2 +-
drivers/gpio/gpio-mxc.c | 6 +++---
drivers/gpio/gpio-mxs.c | 2 +-
drivers/gpio/gpio-omap.c | 2 +-
drivers/gpio/gpio-tegra.c | 4 +---
drivers/gpio/gpio-timberdale.c | 5 +++--
drivers/gpio/gpio-vf610.c | 2 +-
drivers/gpio/gpio-zynq.c | 2 +-
10 files changed, 14 insertions(+), 15 deletions(-)
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
index b164ce837b43..2e7a8c66fe57 100644
--- a/drivers/gpio/gpio-bcm-kona.c
+++ b/drivers/gpio/gpio-bcm-kona.c
@@ -432,7 +432,7 @@ static void bcm_kona_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
void __iomem *reg_base;
int bit, bank_id;
unsigned long sta;
- struct bcm_kona_gpio_bank *bank = irq_get_handler_data(irq);
+ struct bcm_kona_gpio_bank *bank = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
chained_irq_enter(chip, desc);
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index 58faf04fce5d..649be07a845d 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -149,7 +149,7 @@ static u32 dwapb_do_irq(struct dwapb_gpio *gpio)
static void dwapb_irq_handler(u32 irq, struct irq_desc *desc)
{
- struct dwapb_gpio *gpio = irq_get_handler_data(irq);
+ struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
dwapb_do_irq(gpio);
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index 1a54205860f5..a8c302ef7bc4 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -460,7 +460,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type)
static void mvebu_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
{
- struct mvebu_gpio_chip *mvchip = irq_get_handler_data(irq);
+ struct mvebu_gpio_chip *mvchip = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
u32 cause, type;
int i;
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
index 9f7446a7ac64..f10948c04f7c 100644
--- a/drivers/gpio/gpio-mxc.c
+++ b/drivers/gpio/gpio-mxc.c
@@ -275,8 +275,8 @@ static void mxc_gpio_irq_handler(struct mxc_gpio_port *port, u32 irq_stat)
static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
{
u32 irq_stat;
- struct mxc_gpio_port *port = irq_get_handler_data(irq);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct mxc_gpio_port *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
chained_irq_enter(chip, desc);
@@ -292,7 +292,7 @@ static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc)
{
u32 irq_msk, irq_stat;
struct mxc_gpio_port *port;
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
chained_irq_enter(chip, desc);
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index 84cbda6acdda..039c7d50e64f 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -157,7 +157,7 @@ static void mxs_flip_edge(struct mxs_gpio_port *port, u32 gpio)
static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc)
{
u32 irq_stat;
- struct mxs_gpio_port *port = irq_get_handler_data(irq);
+ struct mxs_gpio_port *port = irq_desc_get_handler_data(desc);
desc->irq_data.chip->irq_ack(&desc->irq_data);
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index b232397ad7ec..acbf3feff1e2 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -719,7 +719,7 @@ static void omap_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
struct gpio_bank *bank;
int unmasked = 0;
struct irq_chip *irqchip = irq_desc_get_chip(desc);
- struct gpio_chip *chip = irq_get_handler_data(irq);
+ struct gpio_chip *chip = irq_desc_get_handler_data(desc);
chained_irq_enter(irqchip, desc);
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 1741981d53c8..89ed8a56eb0b 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -268,16 +268,14 @@ static void tegra_gpio_irq_shutdown(struct irq_data *d)
static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
{
- struct tegra_gpio_bank *bank;
int port;
int pin;
int unmasked = 0;
struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct tegra_gpio_bank *bank = irq_desc_get_handler_data(desc);
chained_irq_enter(chip, desc);
- bank = irq_get_handler_data(irq);
-
for (port = 0; port < 4; port++) {
int gpio = tegra_gpio_compose(bank->bank, port, 0);
unsigned long sta = tegra_gpio_readl(GPIO_INT_STA(gpio)) &
diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c
index e8f97e03c9bb..2b8baf1ea16e 100644
--- a/drivers/gpio/gpio-timberdale.c
+++ b/drivers/gpio/gpio-timberdale.c
@@ -194,11 +194,12 @@ out:
static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
{
- struct timbgpio *tgpio = irq_get_handler_data(irq);
+ struct timbgpio *tgpio = irq_desc_get_handler_data(desc);
+ struct irq_data *data = irq_desc_get_irq_data(desc);
unsigned long ipr;
int offset;
- desc->irq_data.chip->irq_ack(irq_get_irq_data(irq));
+ data->chip->irq_ack(data);
ipr = ioread32(tgpio->membase + TGPIO_IPR);
iowrite32(ipr, tgpio->membase + TGPIO_ICR);
diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c
index 7bd9f209ffa8..fa344388f4da 100644
--- a/drivers/gpio/gpio-vf610.c
+++ b/drivers/gpio/gpio-vf610.c
@@ -120,7 +120,7 @@ static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
static void vf610_gpio_irq_handler(u32 irq, struct irq_desc *desc)
{
- struct vf610_gpio_port *port = irq_get_handler_data(irq);
+ struct vf610_gpio_port *port = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
int pin;
unsigned long irq_isfr;
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c
index aea6075e5b2e..70e3a568b1cb 100644
--- a/drivers/gpio/gpio-zynq.c
+++ b/drivers/gpio/gpio-zynq.c
@@ -499,7 +499,7 @@ static void zynq_gpio_irqhandler(unsigned int irq, struct irq_desc *desc)
{
u32 int_sts, int_enb;
unsigned int bank_num;
- struct zynq_gpio *gpio = irq_get_handler_data(irq);
+ struct zynq_gpio *gpio = irq_desc_get_handler_data(desc);
struct irq_chip *irqchip = irq_desc_get_chip(desc);
chained_irq_enter(irqchip, desc);
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 06/48] pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
2015-06-04 4:13 ` [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-05 3:06 ` Tomasz Figa
` (2 more replies)
2015-06-04 4:13 ` [RFT v2 09/48] ARM, irq: " Jiang Liu
` (12 subsequent siblings)
14 siblings, 3 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
already have a pointer to corresponding irq_desc.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
---
drivers/pinctrl/intel/pinctrl-cherryview.c | 2 +-
drivers/pinctrl/intel/pinctrl-intel.c | 2 +-
drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 ++--
drivers/pinctrl/nomadik/pinctrl-nomadik.c | 12 +++++-------
drivers/pinctrl/pinctrl-amd.c | 2 +-
drivers/pinctrl/pinctrl-at91.c | 2 +-
drivers/pinctrl/pinctrl-coh901.c | 4 ++--
drivers/pinctrl/pinctrl-rockchip.c | 4 ++--
drivers/pinctrl/pinctrl-single.c | 2 +-
drivers/pinctrl/pinctrl-st.c | 6 +++---
drivers/pinctrl/qcom/pinctrl-msm.c | 2 +-
drivers/pinctrl/samsung/pinctrl-exynos.c | 8 ++++----
drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 18 +++++++++---------
drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 22 ++++++++++------------
drivers/pinctrl/sirf/pinctrl-sirf.c | 2 +-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 4 ++--
16 files changed, 46 insertions(+), 50 deletions(-)
diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c b/drivers/pinctrl/intel/pinctrl-cherryview.c
index 82f691eeeec4..878e798bcb56 100644
--- a/drivers/pinctrl/intel/pinctrl-cherryview.c
+++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
@@ -1368,7 +1368,7 @@ static void chv_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct chv_pinctrl *pctrl = gpiochip_to_pinctrl(gc);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned long pending;
u32 intr_line;
diff --git a/drivers/pinctrl/intel/pinctrl-intel.c b/drivers/pinctrl/intel/pinctrl-intel.c
index 00768e53deec..a40681097402 100644
--- a/drivers/pinctrl/intel/pinctrl-intel.c
+++ b/drivers/pinctrl/intel/pinctrl-intel.c
@@ -840,7 +840,7 @@ static void intel_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct intel_pinctrl *pctrl = gpiochip_to_pinctrl(gc);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
int i;
chained_irq_enter(chip, desc);
diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
index 474812e2b0cb..fd05ca6125b0 100644
--- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
+++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c
@@ -1018,8 +1018,8 @@ mtk_eint_debounce_process(struct mtk_pinctrl *pctl, int index)
static void mtk_eint_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct mtk_pinctrl *pctl = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct mtk_pinctrl *pctl = irq_desc_get_handler_data(desc);
unsigned int status, eint_num;
int offset, index, virq;
const struct mtk_eint_offsets *eint_offsets =
diff --git a/drivers/pinctrl/nomadik/pinctrl-nomadik.c b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
index a6a22054c0ba..902f53b855bf 100644
--- a/drivers/pinctrl/nomadik/pinctrl-nomadik.c
+++ b/drivers/pinctrl/nomadik/pinctrl-nomadik.c
@@ -854,10 +854,9 @@ static struct irq_chip nmk_gpio_irq_chip = {
.flags = IRQCHIP_MASK_ON_SUSPEND,
};
-static void __nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc,
- u32 status)
+static void __nmk_gpio_irq_handler(struct irq_desc *desc, u32 status)
{
- struct irq_chip *host_chip = irq_get_chip(irq);
+ struct irq_chip *host_chip = irq_desc_get_chip(desc);
struct gpio_chip *chip = irq_desc_get_handler_data(desc);
chained_irq_enter(host_chip, desc);
@@ -882,17 +881,16 @@ static void nmk_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
status = readl(nmk_chip->addr + NMK_GPIO_IS);
clk_disable(nmk_chip->clk);
- __nmk_gpio_irq_handler(irq, desc, status);
+ __nmk_gpio_irq_handler(desc, status);
}
-static void nmk_gpio_latent_irq_handler(unsigned int irq,
- struct irq_desc *desc)
+static void nmk_gpio_latent_irq_handler(unsigned int irq, struct irq_desc *desc)
{
struct gpio_chip *chip = irq_desc_get_handler_data(desc);
struct nmk_gpio_chip *nmk_chip = container_of(chip, struct nmk_gpio_chip, chip);
u32 status = nmk_chip->get_latent_status(nmk_chip->bank);
- __nmk_gpio_irq_handler(irq, desc, status);
+ __nmk_gpio_irq_handler(desc, status);
}
/* I/O Functions */
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 7de3b64bf142..639cd77c1fbb 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -501,7 +501,7 @@ static void amd_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
u64 reg64;
int handled = 0;
unsigned long flags;
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct amd_gpio *gpio_dev = to_amd_gpio(gc);
diff --git a/drivers/pinctrl/pinctrl-at91.c b/drivers/pinctrl/pinctrl-at91.c
index 2f797cb7e205..92d5f9ec1cce 100644
--- a/drivers/pinctrl/pinctrl-at91.c
+++ b/drivers/pinctrl/pinctrl-at91.c
@@ -1581,7 +1581,7 @@ static struct irq_chip gpio_irqchip = {
static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
struct gpio_chip *gpio_chip = irq_desc_get_handler_data(desc);
struct at91_gpio_chip *at91_gpio = container_of(gpio_chip,
struct at91_gpio_chip, chip);
diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c
index 29cbbab8c3a6..9579442a221d 100644
--- a/drivers/pinctrl/pinctrl-coh901.c
+++ b/drivers/pinctrl/pinctrl-coh901.c
@@ -521,8 +521,8 @@ static struct irq_chip u300_gpio_irqchip = {
static void u300_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct irq_chip *parent_chip = irq_get_chip(irq);
- struct gpio_chip *chip = irq_get_handler_data(irq);
+ struct irq_chip *parent_chip = irq_desc_get_chip(desc);
+ struct gpio_chip *chip = irq_desc_get_handler_data(desc);
struct u300_gpio *gpio = to_u300_gpio(chip);
struct u300_gpio_port *port = &gpio->ports[irq - chip->base];
int pinoffset = port->number << 3; /* get the right stride */
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index dee7d5f06c60..97a4a3dddb30 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1396,8 +1396,8 @@ static const struct gpio_chip rockchip_gpiolib_chip = {
static void rockchip_irq_demux(unsigned int irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct rockchip_pin_bank *bank = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct rockchip_pin_bank *bank = irq_desc_get_handler_data(desc);
u32 pend;
dev_dbg(bank->drvdata->dev, "got irq for bank %s\n", bank->name);
diff --git a/drivers/pinctrl/pinctrl-single.c b/drivers/pinctrl/pinctrl-single.c
index 13b45f297727..a8db57db5f5b 100644
--- a/drivers/pinctrl/pinctrl-single.c
+++ b/drivers/pinctrl/pinctrl-single.c
@@ -1684,7 +1684,7 @@ static void pcs_irq_chain_handler(unsigned int irq, struct irq_desc *desc)
struct pcs_soc_data *pcs_soc = irq_desc_get_handler_data(desc);
struct irq_chip *chip;
- chip = irq_get_chip(irq);
+ chip = irq_desc_get_chip(desc);
chained_irq_enter(chip, desc);
pcs_irq_handle(pcs_soc);
/* REVISIT: export and add handle_bad_irq(irq, desc)? */
diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index 65bf73b70e34..a4f8d38ed7be 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1463,7 +1463,7 @@ static void __gpio_irq_handler(struct st_gpio_bank *bank)
static void st_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
/* interrupt dedicated per bank */
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct st_gpio_bank *bank = gpio_chip_to_bank(gc);
@@ -1474,8 +1474,8 @@ static void st_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
static void st_gpio_irqmux_handler(unsigned irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct st_pinctrl *info = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct st_pinctrl *info = irq_desc_get_handler_data(desc);
unsigned long status;
int n;
diff --git a/drivers/pinctrl/qcom/pinctrl-msm.c b/drivers/pinctrl/qcom/pinctrl-msm.c
index f3d800f796c2..7439d19af0dd 100644
--- a/drivers/pinctrl/qcom/pinctrl-msm.c
+++ b/drivers/pinctrl/qcom/pinctrl-msm.c
@@ -769,7 +769,7 @@ static void msm_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
const struct msm_pingroup *g;
struct msm_pinctrl *pctrl = to_msm_pinctrl(gc);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
int irq_pin;
int handled = 0;
u32 val;
diff --git a/drivers/pinctrl/samsung/pinctrl-exynos.c b/drivers/pinctrl/samsung/pinctrl-exynos.c
index 0b7afa50121a..66fb5ee5a8ae 100644
--- a/drivers/pinctrl/samsung/pinctrl-exynos.c
+++ b/drivers/pinctrl/samsung/pinctrl-exynos.c
@@ -422,9 +422,9 @@ static const struct of_device_id exynos_wkup_irq_ids[] = {
/* interrupt handler for wakeup interrupts 0..15 */
static void exynos_irq_eint0_15(unsigned int irq, struct irq_desc *desc)
{
- struct exynos_weint_data *eintd = irq_get_handler_data(irq);
+ struct exynos_weint_data *eintd = irq_desc_get_handler_data(desc);
struct samsung_pin_bank *bank = eintd->bank;
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
int eint_irq;
chained_irq_enter(chip, desc);
@@ -454,8 +454,8 @@ static inline void exynos_irq_demux_eint(unsigned long pend,
/* interrupt handler for wakeup interrupt 16 */
static void exynos_irq_demux_eint16_31(unsigned int irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct exynos_muxed_weint_data *eintd = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct exynos_muxed_weint_data *eintd = irq_desc_get_handler_data(desc);
struct samsung_pinctrl_drv_data *d = eintd->banks[0]->drvdata;
unsigned long pend;
unsigned long mask;
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
index f1993f42114c..8d5b36e0af80 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c24xx.c
@@ -243,7 +243,7 @@ static struct irq_chip s3c2410_eint0_3_chip = {
static void s3c2410_demux_eint0_3(unsigned int irq, struct irq_desc *desc)
{
struct irq_data *data = irq_desc_get_irq_data(desc);
- struct s3c24xx_eint_data *eint_data = irq_get_handler_data(irq);
+ struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc);
unsigned int virq;
/* the first 4 eints have a simple 1 to 1 mapping */
@@ -297,9 +297,9 @@ static struct irq_chip s3c2412_eint0_3_chip = {
static void s3c2412_demux_eint0_3(unsigned int irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
+ struct s3c24xx_eint_data *eint_data = irq_desc_get_handler_data(desc);
struct irq_data *data = irq_desc_get_irq_data(desc);
- struct s3c24xx_eint_data *eint_data = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_data_get_irq_chip(data);
unsigned int virq;
chained_irq_enter(chip, desc);
@@ -357,11 +357,11 @@ static struct irq_chip s3c24xx_eint_chip = {
.irq_set_type = s3c24xx_eint_type,
};
-static inline void s3c24xx_demux_eint(unsigned int irq, struct irq_desc *desc,
+static inline void s3c24xx_demux_eint(struct irq_desc *desc,
u32 offset, u32 range)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct s3c24xx_eint_data *data = irq_get_handler_data(irq);
+ struct s3c24xx_eint_data *data = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_irq_chip(desc);
struct samsung_pinctrl_drv_data *d = data->drvdata;
unsigned int pend, mask;
@@ -374,7 +374,7 @@ static inline void s3c24xx_demux_eint(unsigned int irq, struct irq_desc *desc,
pend &= range;
while (pend) {
- unsigned int virq;
+ unsigned int virq, irq;
irq = __ffs(pend);
pend &= ~(1 << irq);
@@ -390,12 +390,12 @@ static inline void s3c24xx_demux_eint(unsigned int irq, struct irq_desc *desc,
static void s3c24xx_demux_eint4_7(unsigned int irq, struct irq_desc *desc)
{
- s3c24xx_demux_eint(irq, desc, 0, 0xf0);
+ s3c24xx_demux_eint(desc, 0, 0xf0);
}
static void s3c24xx_demux_eint8_23(unsigned int irq, struct irq_desc *desc)
{
- s3c24xx_demux_eint(irq, desc, 8, 0xffff00);
+ s3c24xx_demux_eint(desc, 8, 0xffff00);
}
static irq_flow_handler_t s3c2410_eint_handlers[NUM_EINT_IRQ] = {
diff --git a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
index 7756c1e9e763..fd241d2dd165 100644
--- a/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
+++ b/drivers/pinctrl/samsung/pinctrl-s3c64xx.c
@@ -410,8 +410,8 @@ static const struct irq_domain_ops s3c64xx_gpio_irqd_ops = {
static void s3c64xx_eint_gpio_irq(unsigned int irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct s3c64xx_eint_gpio_data *data = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct s3c64xx_eint_gpio_data *data = irq_desc_get_handler_data(desc);
struct samsung_pinctrl_drv_data *drvdata = data->drvdata;
chained_irq_enter(chip, desc);
@@ -600,11 +600,10 @@ static struct irq_chip s3c64xx_eint0_irq_chip = {
.irq_set_type = s3c64xx_eint0_irq_set_type,
};
-static inline void s3c64xx_irq_demux_eint(unsigned int irq,
- struct irq_desc *desc, u32 range)
+static inline void s3c64xx_irq_demux_eint(struct irq_desc *desc, u32 range)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct s3c64xx_eint0_data *data = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct s3c64xx_eint0_data *data = irq_desc_get_handler_data(desc);
struct samsung_pinctrl_drv_data *drvdata = data->drvdata;
unsigned int pend, mask;
@@ -617,11 +616,10 @@ static inline void s3c64xx_irq_demux_eint(unsigned int irq,
pend &= range;
while (pend) {
- unsigned int virq;
+ unsigned int virq, irq;
irq = fls(pend) - 1;
pend &= ~(1 << irq);
-
virq = irq_linear_revmap(data->domains[irq], data->pins[irq]);
/*
* Something must be really wrong if an unmapped EINT
@@ -637,22 +635,22 @@ static inline void s3c64xx_irq_demux_eint(unsigned int irq,
static void s3c64xx_demux_eint0_3(unsigned int irq, struct irq_desc *desc)
{
- s3c64xx_irq_demux_eint(irq, desc, 0xf);
+ s3c64xx_irq_demux_eint(desc, 0xf);
}
static void s3c64xx_demux_eint4_11(unsigned int irq, struct irq_desc *desc)
{
- s3c64xx_irq_demux_eint(irq, desc, 0xff0);
+ s3c64xx_irq_demux_eint(desc, 0xff0);
}
static void s3c64xx_demux_eint12_19(unsigned int irq, struct irq_desc *desc)
{
- s3c64xx_irq_demux_eint(irq, desc, 0xff000);
+ s3c64xx_irq_demux_eint(desc, 0xff000);
}
static void s3c64xx_demux_eint20_27(unsigned int irq, struct irq_desc *desc)
{
- s3c64xx_irq_demux_eint(irq, desc, 0xff00000);
+ s3c64xx_irq_demux_eint(desc, 0xff00000);
}
static irq_flow_handler_t s3c64xx_eint0_handlers[NUM_EINT0_IRQ] = {
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
index e2efbbae4061..46cafde08ebf 100644
--- a/drivers/pinctrl/sirf/pinctrl-sirf.c
+++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
@@ -552,7 +552,7 @@ static void sirfsoc_gpio_handle_irq(unsigned int irq, struct irq_desc *desc)
struct sirfsoc_gpio_bank *bank;
u32 status, ctrl;
int idx = 0;
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
int i;
for (i = 0; i < SIRFSOC_GPIO_NO_OF_BANKS; i++) {
diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index f8e171b76693..563cec6dc24e 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -711,8 +711,8 @@ static struct irq_chip sunxi_pinctrl_level_irq_chip = {
static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct sunxi_pinctrl *pctl = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct sunxi_pinctrl *pctl = irq_desc_get_handler_data(desc);
unsigned long bank, reg, val;
for (bank = 0; bank < pctl->desc->irq_banks; bank++)
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 09/48] ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
2015-06-04 4:13 ` [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:13 ` [RFT v2 10/48] irqchip: " Jiang Liu
` (11 subsequent siblings)
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
already have a pointer to corresponding irq_desc.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
arch/arm/common/locomo.c | 2 +-
arch/arm/common/sa1111.c | 2 +-
arch/arm/plat-orion/gpio.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index b55c3625d7ee..02af4a07ceca 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -140,7 +140,7 @@ static struct locomo_dev_info locomo_devices[] = {
static void locomo_handler(unsigned int irq, struct irq_desc *desc)
{
- struct locomo *lchip = irq_get_chip_data(irq);
+ struct locomo *lchip = irq_desc_get_chip_data(desc);
int req, i;
/* Acknowledge the parent IRQ */
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 5cc779c8e9c6..0d0844fa54c2 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -200,7 +200,7 @@ static void
sa1111_irq_handler(unsigned int irq, struct irq_desc *desc)
{
unsigned int stat0, stat1, i;
- struct sa1111 *sachip = irq_get_handler_data(irq);
+ struct sa1111 *sachip = irq_desc_get_handler_data(desc);
void __iomem *mapbase = sachip->base + SA1111_INTC;
stat0 = sa1111_readl(mapbase + SA1111_INTSTATCLR0);
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c
index 5168a52a17f9..caba04340619 100644
--- a/arch/arm/plat-orion/gpio.c
+++ b/arch/arm/plat-orion/gpio.c
@@ -409,7 +409,7 @@ static int gpio_irq_set_type(struct irq_data *d, u32 type)
static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
{
- struct orion_gpio_chip *ochip = irq_get_handler_data(irq);
+ struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc);
u32 cause, type;
int i;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 10/48] irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (2 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 09/48] ARM, irq: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:50 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 13/48] keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_data Jiang Liu
` (10 subsequent siblings)
14 siblings, 1 reply; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
already have a pointer to corresponding irq_desc.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
drivers/irqchip/exynos-combiner.c | 4 ++--
drivers/irqchip/irq-armada-370-xp.c | 2 +-
drivers/irqchip/irq-dw-apb-ictl.c | 4 ++--
drivers/irqchip/irq-gic.c | 4 ++--
drivers/irqchip/irq-orion.c | 2 +-
drivers/irqchip/irq-sunxi-nmi.c | 2 +-
drivers/irqchip/spear-shirq.c | 2 +-
7 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c
index 5945223b73fa..039ceb46fcc0 100644
--- a/drivers/irqchip/exynos-combiner.c
+++ b/drivers/irqchip/exynos-combiner.c
@@ -62,8 +62,8 @@ static void combiner_unmask_irq(struct irq_data *data)
static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
{
- struct combiner_chip_data *chip_data = irq_get_handler_data(irq);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct combiner_chip_data *chip_data = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq, combiner_irq;
unsigned long status;
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index daccc8bdbb42..40b5fe99a1d5 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -451,7 +451,7 @@ static void armada_370_xp_handle_msi_irq(struct pt_regs *r, bool b) {}
static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,
struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned long irqmap, irqn, irqsrc, cpuid;
unsigned int cascade_irq;
diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c
index 53bb7326a60a..cddcd3b75f00 100644
--- a/drivers/irqchip/irq-dw-apb-ictl.c
+++ b/drivers/irqchip/irq-dw-apb-ictl.c
@@ -28,8 +28,8 @@
static void dw_apb_ictl_handler(unsigned int irq, struct irq_desc *desc)
{
- struct irq_chip *chip = irq_get_chip(irq);
- struct irq_chip_generic *gc = irq_get_handler_data(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct irq_chip_generic *gc = irq_desc_get_handler_data(desc);
struct irq_domain *d = gc->private;
u32 stat;
int n;
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index 01999d74bd3a..6c8a5a7fb4a0 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -288,8 +288,8 @@ static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs)
static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
{
- struct gic_chip_data *chip_data = irq_get_handler_data(irq);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct gic_chip_data *chip_data = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq, gic_irq;
unsigned long status;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index ad0c0f6f1d65..58e034db0e7c 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -109,7 +109,7 @@ IRQCHIP_DECLARE(orion_intc, "marvell,orion-intc", orion_irq_init);
static void orion_bridge_irq_handler(unsigned int irq, struct irq_desc *desc)
{
- struct irq_domain *d = irq_get_handler_data(irq);
+ struct irq_domain *d = irq_desc_get_handler_data(desc);
struct irq_chip_generic *gc = irq_get_domain_generic_chip(d, 0);
u32 stat = readl_relaxed(gc->reg_base + ORION_BRIDGE_IRQ_CAUSE) &
diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c
index 4a9ce5b50c5b..2eaa9d9df241 100644
--- a/drivers/irqchip/irq-sunxi-nmi.c
+++ b/drivers/irqchip/irq-sunxi-nmi.c
@@ -61,7 +61,7 @@ static inline u32 sunxi_sc_nmi_read(struct irq_chip_generic *gc, u32 off)
static void sunxi_sc_nmi_handle_irq(unsigned int irq, struct irq_desc *desc)
{
struct irq_domain *domain = irq_desc_get_handler_data(desc);
- struct irq_chip *chip = irq_get_chip(irq);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int virq = irq_find_mapping(domain, 0);
chained_irq_enter(chip, desc);
diff --git a/drivers/irqchip/spear-shirq.c b/drivers/irqchip/spear-shirq.c
index 9c145a7cb056..fb68ee9c0424 100644
--- a/drivers/irqchip/spear-shirq.c
+++ b/drivers/irqchip/spear-shirq.c
@@ -185,7 +185,7 @@ static struct spear_shirq *spear320_shirq_blocks[] = {
static void shirq_handler(unsigned irq, struct irq_desc *desc)
{
- struct spear_shirq *shirq = irq_get_handler_data(irq);
+ struct spear_shirq *shirq = irq_desc_get_handler_data(desc);
u32 pend;
pend = readl(shirq->base + shirq->status_reg) & shirq->mask;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 13/48] keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_data
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (3 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 10/48] irqchip: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:13 ` [RFT v2 21/48] ARM, irq: Prepare for killing the first parameter 'irq' of irq_flow_handler_t Jiang Liu
` (9 subsequent siblings)
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Use irq_data_get_xxx() to avoid redundant lookup of irq_data while we
already have a pointer to corresponding irq_data.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
drivers/pci/host/pci-keystone-dw.c | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/drivers/pci/host/pci-keystone-dw.c b/drivers/pci/host/pci-keystone-dw.c
index f34892e0edb4..e42d077039d3 100644
--- a/drivers/pci/host/pci-keystone-dw.c
+++ b/drivers/pci/host/pci-keystone-dw.c
@@ -104,14 +104,13 @@ static void ks_dw_pcie_msi_irq_ack(struct irq_data *d)
{
u32 offset, reg_offset, bit_pos;
struct keystone_pcie *ks_pcie;
- unsigned int irq = d->irq;
struct msi_desc *msi;
struct pcie_port *pp;
- msi = irq_get_msi_desc(irq);
+ msi = irq_data_get_msi_desc(d);
pp = sys_to_pcie(msi->dev->bus->sysdata);
ks_pcie = to_keystone_pcie(pp);
- offset = irq - irq_linear_revmap(pp->irq_domain, 0);
+ offset = d->irq - irq_linear_revmap(pp->irq_domain, 0);
update_reg_offset_bit_pos(offset, ®_offset, &bit_pos);
writel(BIT(bit_pos),
@@ -142,15 +141,14 @@ void ks_dw_pcie_msi_clear_irq(struct pcie_port *pp, int irq)
static void ks_dw_pcie_msi_irq_mask(struct irq_data *d)
{
struct keystone_pcie *ks_pcie;
- unsigned int irq = d->irq;
struct msi_desc *msi;
struct pcie_port *pp;
u32 offset;
- msi = irq_get_msi_desc(irq);
+ msi = irq_data_get_msi_desc(d);
pp = sys_to_pcie(msi->dev->bus->sysdata);
ks_pcie = to_keystone_pcie(pp);
- offset = irq - irq_linear_revmap(pp->irq_domain, 0);
+ offset = d->irq - irq_linear_revmap(pp->irq_domain, 0);
/* Mask the end point if PVM implemented */
if (IS_ENABLED(CONFIG_PCI_MSI)) {
@@ -164,15 +162,14 @@ static void ks_dw_pcie_msi_irq_mask(struct irq_data *d)
static void ks_dw_pcie_msi_irq_unmask(struct irq_data *d)
{
struct keystone_pcie *ks_pcie;
- unsigned int irq = d->irq;
struct msi_desc *msi;
struct pcie_port *pp;
u32 offset;
- msi = irq_get_msi_desc(irq);
+ msi = irq_data_get_msi_desc(d);
pp = sys_to_pcie(msi->dev->bus->sysdata);
ks_pcie = to_keystone_pcie(pp);
- offset = irq - irq_linear_revmap(pp->irq_domain, 0);
+ offset = d->irq - irq_linear_revmap(pp->irq_domain, 0);
/* Mask the end point if PVM implemented */
if (IS_ENABLED(CONFIG_PCI_MSI)) {
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 21/48] ARM, irq: Prepare for killing the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (4 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 13/48] keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_data Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:13 ` [RFT v2 33/48] PCI/keystone: " Jiang Liu
` (8 subsequent siblings)
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Change irq flow handlers to prepare for killing the first parameter 'irq'
of irq_flow_handler_t.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
arch/arm/common/locomo.c | 9 +++------
arch/arm/mach-dove/irq.c | 5 +++--
arch/arm/mach-pxa/balloon3.c | 3 +--
arch/arm/mach-pxa/lpd270.c | 4 +---
arch/arm/mach-pxa/pcm990-baseboard.c | 3 +--
arch/arm/mach-pxa/viper.c | 6 ++----
arch/arm/mach-pxa/zeus.c | 6 ++----
7 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index 02af4a07ceca..d4a62ff39576 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -151,12 +151,9 @@ static void locomo_handler(unsigned int irq, struct irq_desc *desc)
if (req) {
/* generate the next interrupt(s) */
- irq = lchip->irq_base;
- for (i = 0; i <= 3; i++, irq++) {
- if (req & (0x0100 << i)) {
- generic_handle_irq(irq);
- }
-
+ for (i = 0; i <= 3; i++) {
+ if (req & (0x0100 << i))
+ generic_handle_irq(lchip->irq_base + i);
}
}
}
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
index 4a5a7aedcb76..6d0f0b12f95a 100644
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -69,13 +69,14 @@ static struct irq_chip pmu_irq_chip = {
.irq_ack = pmu_irq_ack,
};
-static void pmu_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void pmu_irq_handler(unsigned int __irq, struct irq_desc *desc)
{
unsigned long cause = readl(PMU_INTERRUPT_CAUSE);
+ unsigned int irq;
cause &= readl(PMU_INTERRUPT_MASK);
if (cause == 0) {
- do_bad_IRQ(irq, desc);
+ do_bad_IRQ(__irq, desc);
return;
}
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index d897292712eb..6897095b4f11 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -510,8 +510,7 @@ static void balloon3_irq_handler(unsigned int irq, struct irq_desc *desc)
}
while (pending) {
- irq = BALLOON3_IRQ(0) + __ffs(pending);
- generic_handle_irq(irq);
+ generic_handle_irq(BALLOON3_IRQ(0) + __ffs(pending));
pending &= pending - 1;
}
pending = __raw_readl(BALLOON3_INT_CONTROL_REG) &
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index eaee2c20b189..6f7baa0bcb09 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -129,9 +129,7 @@ static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc)
/* clear useless edge notification */
desc->irq_data.chip->irq_ack(&desc->irq_data);
if (likely(pending)) {
- irq = LPD270_IRQ(0) + __ffs(pending);
- generic_handle_irq(irq);
-
+ generic_handle_irq(LPD270_IRQ(0) + __ffs(pending));
pending = __raw_readw(LPD270_INT_STATUS) &
lpd270_irq_enabled;
}
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index 2897da2a5df6..c0eb6732ca10 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -295,8 +295,7 @@ static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
/* clear our parent IRQ */
desc->irq_data.chip->irq_ack(&desc->irq_data);
if (likely(pending)) {
- irq = PCM027_IRQ(0) + __ffs(pending);
- generic_handle_irq(irq);
+ generic_handle_irq(PCM027_IRQ(0) + __ffs(pending));
}
pending = ~pcm990_cpld_readb(PCM990_CTRL_INTSETCLR);
pending &= pcm990_irq_enabled;
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index de3b08073fe7..0632e089b0a5 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -286,10 +286,8 @@ static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
* so ack the interrupt by hand */
desc->irq_data.chip->irq_ack(&desc->irq_data);
- if (likely(pending)) {
- irq = viper_bit_to_irq(__ffs(pending));
- generic_handle_irq(irq);
- }
+ if (likely(pending))
+ generic_handle_irq(viper_bit_to_irq(__ffs(pending)));
pending = viper_irq_pending();
} while (pending);
}
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index ac2ae5c71ab4..e5338ea857a4 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -115,10 +115,8 @@ static void zeus_irq_handler(unsigned int irq, struct irq_desc *desc)
* so ack the interrupt by hand */
desc->irq_data.chip->irq_ack(&desc->irq_data);
- if (likely(pending)) {
- irq = zeus_bit_to_irq(__ffs(pending));
- generic_handle_irq(irq);
- }
+ if (likely(pending))
+ generic_handle_irq(zeus_bit_to_irq(__ffs(pending)));
pending = zeus_irq_pending();
} while (pending);
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 33/48] PCI/keystone: Prepare for killing the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (5 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 21/48] ARM, irq: Prepare for killing the first parameter 'irq' of irq_flow_handler_t Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:13 ` [RFT v2 34/48] pinctrl: " Jiang Liu
` (7 subsequent siblings)
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Change irq flow handler to prepare for killing the first parameter 'irq'
of irq_flow_handler_t.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
drivers/pci/host/pci-keystone.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/pci/host/pci-keystone.c b/drivers/pci/host/pci-keystone.c
index 75333b0c4f0a..98862768f1da 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(unsigned int __irq, struct irq_desc *desc)
{
+ unsigned int irq = irq_desc_get_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;
@@ -139,8 +140,9 @@ static void ks_pcie_msi_irq_handler(unsigned int irq, struct irq_desc *desc)
* 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(unsigned int __irq, struct irq_desc *desc)
{
+ unsigned int irq = irq_desc_get_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];
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 34/48] pinctrl: Prepare for killing the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (6 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 33/48] PCI/keystone: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-10 8:39 ` Heiko Stübner
2015-06-10 13:14 ` Linus Walleij
2015-06-04 4:13 ` [RFT v2 36/48] genirq, arm: Kill " Jiang Liu
` (6 subsequent siblings)
14 siblings, 2 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
Change irq flow handler to prepare for killing the first parameter 'irq'
of irq_flow_handler_t.
Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
---
drivers/pinctrl/pinctrl-amd.c | 6 ++++--
drivers/pinctrl/pinctrl-coh901.c | 3 ++-
drivers/pinctrl/pinctrl-rockchip.c | 4 ++--
drivers/pinctrl/sirf/pinctrl-sirf.c | 3 ++-
drivers/pinctrl/sunxi/pinctrl-sunxi.c | 3 ++-
5 files changed, 12 insertions(+), 7 deletions(-)
diff --git a/drivers/pinctrl/pinctrl-amd.c b/drivers/pinctrl/pinctrl-amd.c
index 639cd77c1fbb..31e206613814 100644
--- a/drivers/pinctrl/pinctrl-amd.c
+++ b/drivers/pinctrl/pinctrl-amd.c
@@ -492,7 +492,7 @@ static struct irq_chip amd_gpio_irqchip = {
.irq_set_type = amd_gpio_irq_set_type,
};
-static void amd_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void amd_gpio_irq_handler(unsigned int __irq, struct irq_desc *desc)
{
u32 i;
u32 off;
@@ -527,6 +527,8 @@ static void amd_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
(off * 4 + i) * 4);
if ((pin_reg & BIT(INTERRUPT_STS_OFF)) ||
(pin_reg & BIT(WAKE_STS_OFF))) {
+ unsigned int irq;
+
irq = irq_find_mapping(gc->irqdomain,
off * 4 + i);
generic_handle_irq(irq);
@@ -540,7 +542,7 @@ static void amd_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
}
if (handled == 0)
- handle_bad_irq(irq, desc);
+ handle_bad_irq(__irq, desc);
spin_lock_irqsave(&gpio_dev->lock, flags);
reg = readl(gpio_dev->base + WAKE_INT_MASTER_REG);
diff --git a/drivers/pinctrl/pinctrl-coh901.c b/drivers/pinctrl/pinctrl-coh901.c
index 9579442a221d..3731cc67a88b 100644
--- a/drivers/pinctrl/pinctrl-coh901.c
+++ b/drivers/pinctrl/pinctrl-coh901.c
@@ -519,8 +519,9 @@ static struct irq_chip u300_gpio_irqchip = {
.irq_set_type = u300_gpio_irq_type,
};
-static void u300_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
+static void u300_gpio_irq_handler(unsigned __irq, struct irq_desc *desc)
{
+ unsigned int irq = irq_desc_get_irq(desc);
struct irq_chip *parent_chip = irq_desc_get_chip(desc);
struct gpio_chip *chip = irq_desc_get_handler_data(desc);
struct u300_gpio *gpio = to_u300_gpio(chip);
diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
index 97a4a3dddb30..1fff71221d83 100644
--- a/drivers/pinctrl/pinctrl-rockchip.c
+++ b/drivers/pinctrl/pinctrl-rockchip.c
@@ -1394,7 +1394,7 @@ static const struct gpio_chip rockchip_gpiolib_chip = {
* Interrupt handling
*/
-static void rockchip_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void rockchip_irq_demux(unsigned int __irq, struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct rockchip_pin_bank *bank = irq_desc_get_handler_data(desc);
@@ -1407,7 +1407,7 @@ static void rockchip_irq_demux(unsigned int irq, struct irq_desc *desc)
pend = readl_relaxed(bank->reg_base + GPIO_INT_STATUS);
while (pend) {
- unsigned int virq;
+ unsigned int virq, irq;
irq = __ffs(pend);
pend &= ~BIT(irq);
diff --git a/drivers/pinctrl/sirf/pinctrl-sirf.c b/drivers/pinctrl/sirf/pinctrl-sirf.c
index 46cafde08ebf..89792e12d744 100644
--- a/drivers/pinctrl/sirf/pinctrl-sirf.c
+++ b/drivers/pinctrl/sirf/pinctrl-sirf.c
@@ -545,8 +545,9 @@ static struct irq_chip sirfsoc_irq_chip = {
.irq_set_type = sirfsoc_gpio_irq_type,
};
-static void sirfsoc_gpio_handle_irq(unsigned int irq, struct irq_desc *desc)
+static void sirfsoc_gpio_handle_irq(unsigned int __irq, struct irq_desc *desc)
{
+ unsigned int irq = irq_desc_get_irq(desc);
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct sirfsoc_gpio_chip *sgpio = to_sirfsoc_gpio(gc);
struct sirfsoc_gpio_bank *bank;
diff --git a/drivers/pinctrl/sunxi/pinctrl-sunxi.c b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
index 563cec6dc24e..ace032681d82 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sunxi.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sunxi.c
@@ -709,8 +709,9 @@ static struct irq_chip sunxi_pinctrl_level_irq_chip = {
IRQCHIP_EOI_IF_HANDLED,
};
-static void sunxi_pinctrl_irq_handler(unsigned irq, struct irq_desc *desc)
+static void sunxi_pinctrl_irq_handler(unsigned __irq, struct irq_desc *desc)
{
+ unsigned int irq = irq_desc_get_irq(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
struct sunxi_pinctrl *pctl = irq_desc_get_handler_data(desc);
unsigned long bank, reg, val;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 36/48] genirq, arm: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (7 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 34/48] pinctrl: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:52 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 38/48] genirq, powerpc: " Jiang Liu
` (5 subsequent siblings)
14 siblings, 1 reply; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
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>
Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
---
arch/arm/common/it8152.c | 2 +-
arch/arm/common/locomo.c | 2 +-
arch/arm/common/sa1111.c | 4 ++--
arch/arm/include/asm/hardware/it8152.h | 2 +-
arch/arm/include/asm/mach/irq.h | 4 ++--
arch/arm/mach-dove/irq.c | 4 ++--
| 4 ++--
arch/arm/mach-gemini/gpio.c | 2 +-
arch/arm/mach-imx/3ds_debugboard.c | 2 +-
arch/arm/mach-imx/mach-mx31ads.c | 2 +-
arch/arm/mach-iop13xx/msi.c | 2 +-
arch/arm/mach-lpc32xx/irq.c | 4 ++--
arch/arm/mach-netx/generic.c | 2 +-
arch/arm/mach-omap1/fpga.c | 2 +-
arch/arm/mach-omap2/prm_common.c | 2 +-
arch/arm/mach-pxa/balloon3.c | 2 +-
arch/arm/mach-pxa/cm-x2xx-pci.c | 4 ++--
arch/arm/mach-pxa/lpd270.c | 2 +-
arch/arm/mach-pxa/pcm990-baseboard.c | 2 +-
arch/arm/mach-pxa/viper.c | 2 +-
arch/arm/mach-pxa/zeus.c | 2 +-
arch/arm/mach-rpc/ecard.c | 2 +-
arch/arm/mach-s3c24xx/bast-irq.c | 3 +--
arch/arm/mach-s3c64xx/common.c | 8 ++++----
arch/arm/mach-sa1100/neponset.c | 2 +-
arch/arm/plat-orion/gpio.c | 2 +-
26 files changed, 35 insertions(+), 36 deletions(-)
diff --git a/arch/arm/common/it8152.c b/arch/arm/common/it8152.c
index 5114b68e99d5..aaa206181f92 100644
--- a/arch/arm/common/it8152.c
+++ b/arch/arm/common/it8152.c
@@ -95,7 +95,7 @@ void it8152_init_irq(void)
}
}
-void it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
+void it8152_irq_demux(struct irq_desc *desc)
{
int bits_pd, bits_lp, bits_ld;
int i;
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index d4a62ff39576..43e18e8b0277 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -138,7 +138,7 @@ static struct locomo_dev_info locomo_devices[] = {
},
};
-static void locomo_handler(unsigned int irq, struct irq_desc *desc)
+static void locomo_handler(struct irq_desc *desc)
{
struct locomo *lchip = irq_desc_get_chip_data(desc);
int req, i;
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 0d0844fa54c2..762dfe7081f0 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -197,7 +197,7 @@ static struct sa1111_dev_info sa1111_devices[] = {
* will call us again if there are more interrupts to process.
*/
static void
-sa1111_irq_handler(unsigned int irq, struct irq_desc *desc)
+sa1111_irq_handler(struct irq_desc *desc)
{
unsigned int stat0, stat1, i;
struct sa1111 *sachip = irq_desc_get_handler_data(desc);
@@ -213,7 +213,7 @@ sa1111_irq_handler(unsigned int irq, struct irq_desc *desc)
sa1111_writel(stat1, mapbase + SA1111_INTSTATCLR1);
if (stat0 == 0 && stat1 == 0) {
- do_bad_IRQ(irq, desc);
+ do_bad_IRQ(desc);
return;
}
diff --git a/arch/arm/include/asm/hardware/it8152.h b/arch/arm/include/asm/hardware/it8152.h
index d36a73d7c0e8..076777ff3daa 100644
--- a/arch/arm/include/asm/hardware/it8152.h
+++ b/arch/arm/include/asm/hardware/it8152.h
@@ -106,7 +106,7 @@ extern void __iomem *it8152_base_address;
struct pci_dev;
struct pci_sys_data;
-extern void it8152_irq_demux(unsigned int irq, struct irq_desc *desc);
+extern void it8152_irq_demux(struct irq_desc *desc);
extern void it8152_init_irq(void);
extern int it8152_pci_map_irq(const struct pci_dev *dev, u8 slot, u8 pin);
extern int it8152_pci_setup(int nr, struct pci_sys_data *sys);
diff --git a/arch/arm/include/asm/mach/irq.h b/arch/arm/include/asm/mach/irq.h
index 2092ee1e1300..4703e00283db 100644
--- a/arch/arm/include/asm/mach/irq.h
+++ b/arch/arm/include/asm/mach/irq.h
@@ -23,10 +23,10 @@ extern int show_fiq_list(struct seq_file *, int);
/*
* This is for easy migration, but should be changed in the source
*/
-#define do_bad_IRQ(irq,desc) \
+#define do_bad_IRQ(desc) \
do { \
raw_spin_lock(&desc->lock); \
- handle_bad_irq(irq, desc); \
+ handle_bad_irq(desc); \
raw_spin_unlock(&desc->lock); \
} while(0)
diff --git a/arch/arm/mach-dove/irq.c b/arch/arm/mach-dove/irq.c
index 6d0f0b12f95a..30140cbdb249 100644
--- a/arch/arm/mach-dove/irq.c
+++ b/arch/arm/mach-dove/irq.c
@@ -69,14 +69,14 @@ static struct irq_chip pmu_irq_chip = {
.irq_ack = pmu_irq_ack,
};
-static void pmu_irq_handler(unsigned int __irq, struct irq_desc *desc)
+static void pmu_irq_handler(struct irq_desc *desc)
{
unsigned long cause = readl(PMU_INTERRUPT_CAUSE);
unsigned int irq;
cause &= readl(PMU_INTERRUPT_MASK);
if (cause == 0) {
- do_bad_IRQ(__irq, desc);
+ do_bad_IRQ(desc);
return;
}
--git a/arch/arm/mach-footbridge/isa-irq.c b/arch/arm/mach-footbridge/isa-irq.c
index c3a0abbc9049..f78e46662447 100644
--- a/arch/arm/mach-footbridge/isa-irq.c
+++ b/arch/arm/mach-footbridge/isa-irq.c
@@ -88,12 +88,12 @@ static struct irq_chip isa_hi_chip = {
};
static void
-isa_irq_handler(unsigned int irq, struct irq_desc *desc)
+isa_irq_handler(struct irq_desc *desc)
{
unsigned int isa_irq = *(unsigned char *)PCIIACK_BASE;
if (isa_irq < _ISA_IRQ(0) || isa_irq >= _ISA_IRQ(16)) {
- do_bad_IRQ(isa_irq, desc);
+ do_bad_IRQ(desc);
return;
}
diff --git a/arch/arm/mach-gemini/gpio.c b/arch/arm/mach-gemini/gpio.c
index f8cb5710d6ee..713f655bcc74 100644
--- a/arch/arm/mach-gemini/gpio.c
+++ b/arch/arm/mach-gemini/gpio.c
@@ -126,7 +126,7 @@ static int gpio_set_irq_type(struct irq_data *d, unsigned int type)
return 0;
}
-static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void gpio_irq_handler(struct irq_desc *desc)
{
unsigned int port = (unsigned int)irq_desc_get_handler_data(desc);
unsigned int gpio_irq_no, irq_stat;
diff --git a/arch/arm/mach-imx/3ds_debugboard.c b/arch/arm/mach-imx/3ds_debugboard.c
index 134377352966..d93d3337b579 100644
--- a/arch/arm/mach-imx/3ds_debugboard.c
+++ b/arch/arm/mach-imx/3ds_debugboard.c
@@ -85,7 +85,7 @@ static struct platform_device smsc_lan9217_device = {
.resource = smsc911x_resources,
};
-static void mxc_expio_irq_handler(u32 irq, struct irq_desc *desc)
+static void mxc_expio_irq_handler(struct irq_desc *desc)
{
u32 imr_val;
u32 int_valid;
diff --git a/arch/arm/mach-imx/mach-mx31ads.c b/arch/arm/mach-imx/mach-mx31ads.c
index d08c37c696f6..07aef418a0e1 100644
--- a/arch/arm/mach-imx/mach-mx31ads.c
+++ b/arch/arm/mach-imx/mach-mx31ads.c
@@ -154,7 +154,7 @@ static inline void mxc_init_imx_uart(void)
imx31_add_imx_uart0(&uart_pdata);
}
-static void mx31ads_expio_irq_handler(u32 irq, struct irq_desc *desc)
+static void mx31ads_expio_irq_handler(struct irq_desc *desc)
{
u32 imr_val;
u32 int_valid;
diff --git a/arch/arm/mach-iop13xx/msi.c b/arch/arm/mach-iop13xx/msi.c
index 9f89e76dfbb9..f6235b28578c 100644
--- a/arch/arm/mach-iop13xx/msi.c
+++ b/arch/arm/mach-iop13xx/msi.c
@@ -91,7 +91,7 @@ static void (*write_imipr[])(u32) = {
write_imipr_3,
};
-static void iop13xx_msi_handler(unsigned int irq, struct irq_desc *desc)
+static void iop13xx_msi_handler(struct irq_desc *desc)
{
int i, j;
unsigned long status;
diff --git a/arch/arm/mach-lpc32xx/irq.c b/arch/arm/mach-lpc32xx/irq.c
index 9ecb8f9c4ef5..f361fed99105 100644
--- a/arch/arm/mach-lpc32xx/irq.c
+++ b/arch/arm/mach-lpc32xx/irq.c
@@ -370,7 +370,7 @@ static struct irq_chip lpc32xx_irq_chip = {
.irq_set_wake = lpc32xx_irq_wake
};
-static void lpc32xx_sic1_handler(unsigned int irq, struct irq_desc *desc)
+static void lpc32xx_sic1_handler(struct irq_desc *desc)
{
unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC1_BASE));
@@ -383,7 +383,7 @@ static void lpc32xx_sic1_handler(unsigned int irq, struct irq_desc *desc)
}
}
-static void lpc32xx_sic2_handler(unsigned int irq, struct irq_desc *desc)
+static void lpc32xx_sic2_handler(struct irq_desc *desc)
{
unsigned long ints = __raw_readl(LPC32XX_INTC_STAT(LPC32XX_SIC2_BASE));
diff --git a/arch/arm/mach-netx/generic.c b/arch/arm/mach-netx/generic.c
index db25b0cef3a7..2fe5a433fd5e 100644
--- a/arch/arm/mach-netx/generic.c
+++ b/arch/arm/mach-netx/generic.c
@@ -70,7 +70,7 @@ static struct platform_device *devices[] __initdata = {
#endif
static void
-netx_hif_demux_handler(unsigned int irq_unused, struct irq_desc *desc)
+netx_hif_demux_handler(struct irq_desc *desc)
{
unsigned int irq = NETX_IRQ_HIF_CHAINED(0);
unsigned int stat;
diff --git a/arch/arm/mach-omap1/fpga.c b/arch/arm/mach-omap1/fpga.c
index 3c0e42219200..374bccf5ce24 100644
--- a/arch/arm/mach-omap1/fpga.c
+++ b/arch/arm/mach-omap1/fpga.c
@@ -87,7 +87,7 @@ static void fpga_mask_ack_irq(struct irq_data *d)
fpga_ack_irq(d);
}
-static void innovator_fpga_IRQ_demux(unsigned int irq, struct irq_desc *desc)
+static void innovator_fpga_IRQ_demux(struct irq_desc *desc)
{
u32 stat;
int fpga_irq;
diff --git a/arch/arm/mach-omap2/prm_common.c b/arch/arm/mach-omap2/prm_common.c
index 7add7994dbfc..6cfc1e54d41f 100644
--- a/arch/arm/mach-omap2/prm_common.c
+++ b/arch/arm/mach-omap2/prm_common.c
@@ -102,7 +102,7 @@ static void omap_prcm_events_filter_priority(unsigned long *events,
* dispatched accordingly. Clearing of the wakeup events should be
* done by the SoC specific individual handlers.
*/
-static void omap_prcm_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void omap_prcm_irq_handler(struct irq_desc *desc)
{
unsigned long pending[OMAP_PRCM_MAX_NR_PENDING_REG];
unsigned long priority_pending[OMAP_PRCM_MAX_NR_PENDING_REG];
diff --git a/arch/arm/mach-pxa/balloon3.c b/arch/arm/mach-pxa/balloon3.c
index 6897095b4f11..3c3925c2c707 100644
--- a/arch/arm/mach-pxa/balloon3.c
+++ b/arch/arm/mach-pxa/balloon3.c
@@ -496,7 +496,7 @@ static struct irq_chip balloon3_irq_chip = {
.irq_unmask = balloon3_unmask_irq,
};
-static void balloon3_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void balloon3_irq_handler(struct irq_desc *desc)
{
unsigned long pending = __raw_readl(BALLOON3_INT_CONTROL_REG) &
balloon3_irq_enabled;
diff --git a/arch/arm/mach-pxa/cm-x2xx-pci.c b/arch/arm/mach-pxa/cm-x2xx-pci.c
index d8f816c24a2f..3221ae15bef7 100644
--- a/arch/arm/mach-pxa/cm-x2xx-pci.c
+++ b/arch/arm/mach-pxa/cm-x2xx-pci.c
@@ -29,12 +29,12 @@
void __iomem *it8152_base_address;
static int cmx2xx_it8152_irq_gpio;
-static void cmx2xx_it8152_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void cmx2xx_it8152_irq_demux(struct irq_desc *desc)
{
/* clear our parent irq */
desc->irq_data.chip->irq_ack(&desc->irq_data);
- it8152_irq_demux(irq, desc);
+ it8152_irq_demux(desc);
}
void __cmx2xx_pci_init_irq(int irq_gpio)
diff --git a/arch/arm/mach-pxa/lpd270.c b/arch/arm/mach-pxa/lpd270.c
index 6f7baa0bcb09..ddca2646eeda 100644
--- a/arch/arm/mach-pxa/lpd270.c
+++ b/arch/arm/mach-pxa/lpd270.c
@@ -120,7 +120,7 @@ static struct irq_chip lpd270_irq_chip = {
.irq_unmask = lpd270_unmask_irq,
};
-static void lpd270_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void lpd270_irq_handler(struct irq_desc *desc)
{
unsigned long pending;
diff --git a/arch/arm/mach-pxa/pcm990-baseboard.c b/arch/arm/mach-pxa/pcm990-baseboard.c
index c0eb6732ca10..d7945117d433 100644
--- a/arch/arm/mach-pxa/pcm990-baseboard.c
+++ b/arch/arm/mach-pxa/pcm990-baseboard.c
@@ -284,7 +284,7 @@ static struct irq_chip pcm990_irq_chip = {
.irq_unmask = pcm990_unmask_irq,
};
-static void pcm990_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void pcm990_irq_handler(struct irq_desc *desc)
{
unsigned long pending;
diff --git a/arch/arm/mach-pxa/viper.c b/arch/arm/mach-pxa/viper.c
index 0632e089b0a5..b44978435e8a 100644
--- a/arch/arm/mach-pxa/viper.c
+++ b/arch/arm/mach-pxa/viper.c
@@ -276,7 +276,7 @@ static inline unsigned long viper_irq_pending(void)
viper_irq_enabled_mask;
}
-static void viper_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void viper_irq_handler(struct irq_desc *desc)
{
unsigned long pending;
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c
index e5338ea857a4..ec65c533b8c9 100644
--- a/arch/arm/mach-pxa/zeus.c
+++ b/arch/arm/mach-pxa/zeus.c
@@ -105,7 +105,7 @@ static inline unsigned long zeus_irq_pending(void)
return __raw_readw(ZEUS_CPLD_ISA_IRQ) & zeus_irq_enabled_mask;
}
-static void zeus_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void zeus_irq_handler(struct irq_desc *desc)
{
unsigned long pending;
diff --git a/arch/arm/mach-rpc/ecard.c b/arch/arm/mach-rpc/ecard.c
index fcb1d59f7aec..b7074cd5ebfd 100644
--- a/arch/arm/mach-rpc/ecard.c
+++ b/arch/arm/mach-rpc/ecard.c
@@ -552,7 +552,7 @@ static void ecard_check_lockup(struct irq_desc *desc)
}
static void
-ecard_irq_handler(unsigned int irq, struct irq_desc *desc)
+ecard_irq_handler(struct irq_desc *desc)
{
ecard_t *ec;
int called = 0;
diff --git a/arch/arm/mach-s3c24xx/bast-irq.c b/arch/arm/mach-s3c24xx/bast-irq.c
index cb1b791954de..c168cddfdf68 100644
--- a/arch/arm/mach-s3c24xx/bast-irq.c
+++ b/arch/arm/mach-s3c24xx/bast-irq.c
@@ -101,8 +101,7 @@ static struct irq_chip bast_pc104_chip = {
};
static void
-bast_irq_pc104_demux(unsigned int irq,
- struct irq_desc *desc)
+bast_irq_pc104_demux(struct irq_desc *desc)
{
unsigned int stat;
unsigned int irqno;
diff --git a/arch/arm/mach-s3c64xx/common.c b/arch/arm/mach-s3c64xx/common.c
index 16547f2641a3..5c9ca33f61e5 100644
--- a/arch/arm/mach-s3c64xx/common.c
+++ b/arch/arm/mach-s3c64xx/common.c
@@ -389,22 +389,22 @@ static inline void s3c_irq_demux_eint(unsigned int start, unsigned int end)
}
}
-static void s3c_irq_demux_eint0_3(unsigned int irq, struct irq_desc *desc)
+static void s3c_irq_demux_eint0_3(struct irq_desc *desc)
{
s3c_irq_demux_eint(0, 3);
}
-static void s3c_irq_demux_eint4_11(unsigned int irq, struct irq_desc *desc)
+static void s3c_irq_demux_eint4_11(struct irq_desc *desc)
{
s3c_irq_demux_eint(4, 11);
}
-static void s3c_irq_demux_eint12_19(unsigned int irq, struct irq_desc *desc)
+static void s3c_irq_demux_eint12_19(struct irq_desc *desc)
{
s3c_irq_demux_eint(12, 19);
}
-static void s3c_irq_demux_eint20_27(unsigned int irq, struct irq_desc *desc)
+static void s3c_irq_demux_eint20_27(struct irq_desc *desc)
{
s3c_irq_demux_eint(20, 27);
}
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c
index af868d258e66..cc73c885d6a1 100644
--- a/arch/arm/mach-sa1100/neponset.c
+++ b/arch/arm/mach-sa1100/neponset.c
@@ -166,7 +166,7 @@ static struct sa1100_port_fns neponset_port_fns = {
* ensure that the IRQ signal is deasserted before returning. This
* is rather unfortunate.
*/
-static void neponset_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void neponset_irq_handler(struct irq_desc *desc)
{
struct neponset_drvdata *d = irq_desc_get_handler_data(desc);
unsigned int irr;
diff --git a/arch/arm/plat-orion/gpio.c b/arch/arm/plat-orion/gpio.c
index caba04340619..dc91cfa5483f 100644
--- a/arch/arm/plat-orion/gpio.c
+++ b/arch/arm/plat-orion/gpio.c
@@ -407,7 +407,7 @@ static int gpio_irq_set_type(struct irq_data *d, u32 type)
return 0;
}
-static void gpio_irq_handler(unsigned irq, struct irq_desc *desc)
+static void gpio_irq_handler(struct irq_desc *desc)
{
struct orion_gpio_chip *ochip = irq_desc_get_handler_data(desc);
u32 cause, type;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 38/48] genirq, powerpc: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (8 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 36/48] genirq, arm: Kill " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:13 ` [RFT v2 45/48] genirq, gpio: " Jiang Liu
` (4 subsequent siblings)
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
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>
---
arch/powerpc/include/asm/qe_ic.h | 23 +++++++++--------------
arch/powerpc/include/asm/tsi108_pci.h | 2 +-
arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 2 +-
arch/powerpc/platforms/52xx/media5200.c | 2 +-
arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 2 +-
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 2 +-
arch/powerpc/platforms/85xx/common.c | 2 +-
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 5 ++---
arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 +-
arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 2 +-
arch/powerpc/platforms/86xx/pic.c | 2 +-
arch/powerpc/platforms/8xx/m8xx_setup.c | 2 +-
arch/powerpc/platforms/cell/axon_msi.c | 2 +-
arch/powerpc/platforms/cell/interrupt.c | 2 +-
arch/powerpc/platforms/cell/spider-pic.c | 2 +-
arch/powerpc/platforms/chrp/setup.c | 2 +-
arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 3 +--
arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 +-
arch/powerpc/platforms/pseries/setup.c | 2 +-
arch/powerpc/sysdev/ge/ge_pic.c | 2 +-
arch/powerpc/sysdev/ge/ge_pic.h | 2 +-
arch/powerpc/sysdev/mpic.c | 2 +-
arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 ++--
arch/powerpc/sysdev/tsi108_pci.c | 2 +-
arch/powerpc/sysdev/uic.c | 2 +-
arch/powerpc/sysdev/xilinx_intc.c | 2 +-
26 files changed, 36 insertions(+), 43 deletions(-)
diff --git a/arch/powerpc/include/asm/qe_ic.h b/arch/powerpc/include/asm/qe_ic.h
index 25784cc959a0..1e155ca6d33c 100644
--- a/arch/powerpc/include/asm/qe_ic.h
+++ b/arch/powerpc/include/asm/qe_ic.h
@@ -59,14 +59,14 @@ enum qe_ic_grp_id {
#ifdef CONFIG_QUICC_ENGINE
void qe_ic_init(struct device_node *node, unsigned int flags,
- void (*low_handler)(unsigned int irq, struct irq_desc *desc),
- void (*high_handler)(unsigned int irq, struct irq_desc *desc));
+ void (*low_handler)(struct irq_desc *desc),
+ void (*high_handler)(struct irq_desc *desc));
unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic);
unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic);
#else
static inline void qe_ic_init(struct device_node *node, unsigned int flags,
- void (*low_handler)(unsigned int irq, struct irq_desc *desc),
- void (*high_handler)(unsigned int irq, struct irq_desc *desc))
+ void (*low_handler)(struct irq_desc *desc),
+ void (*high_handler)(struct irq_desc *desc))
{}
static inline unsigned int qe_ic_get_low_irq(struct qe_ic *qe_ic)
{ return 0; }
@@ -78,8 +78,7 @@ void qe_ic_set_highest_priority(unsigned int virq, int high);
int qe_ic_set_priority(unsigned int virq, unsigned int priority);
int qe_ic_set_high_priority(unsigned int virq, unsigned int priority, int high);
-static inline void qe_ic_cascade_low_ipic(unsigned int irq,
- struct irq_desc *desc)
+static inline void qe_ic_cascade_low_ipic(struct irq_desc *desc)
{
struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
@@ -88,8 +87,7 @@ static inline void qe_ic_cascade_low_ipic(unsigned int irq,
generic_handle_irq(cascade_irq);
}
-static inline void qe_ic_cascade_high_ipic(unsigned int irq,
- struct irq_desc *desc)
+static inline void qe_ic_cascade_high_ipic(struct irq_desc *desc)
{
struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
@@ -98,8 +96,7 @@ static inline void qe_ic_cascade_high_ipic(unsigned int irq,
generic_handle_irq(cascade_irq);
}
-static inline void qe_ic_cascade_low_mpic(unsigned int irq,
- struct irq_desc *desc)
+static inline void qe_ic_cascade_low_mpic(struct irq_desc *desc)
{
struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
unsigned int cascade_irq = qe_ic_get_low_irq(qe_ic);
@@ -111,8 +108,7 @@ static inline void qe_ic_cascade_low_mpic(unsigned int irq,
chip->irq_eoi(&desc->irq_data);
}
-static inline void qe_ic_cascade_high_mpic(unsigned int irq,
- struct irq_desc *desc)
+static inline void qe_ic_cascade_high_mpic(struct irq_desc *desc)
{
struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
unsigned int cascade_irq = qe_ic_get_high_irq(qe_ic);
@@ -124,8 +120,7 @@ static inline void qe_ic_cascade_high_mpic(unsigned int irq,
chip->irq_eoi(&desc->irq_data);
}
-static inline void qe_ic_cascade_muxed_mpic(unsigned int irq,
- struct irq_desc *desc)
+static inline void qe_ic_cascade_muxed_mpic(struct irq_desc *desc)
{
struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
unsigned int cascade_irq;
diff --git a/arch/powerpc/include/asm/tsi108_pci.h b/arch/powerpc/include/asm/tsi108_pci.h
index 5653d7cc3e24..ae59d5b672b0 100644
--- a/arch/powerpc/include/asm/tsi108_pci.h
+++ b/arch/powerpc/include/asm/tsi108_pci.h
@@ -39,7 +39,7 @@
extern int tsi108_setup_pci(struct device_node *dev, u32 cfg_phys, int primary);
extern void tsi108_pci_int_init(struct device_node *node);
-extern void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc);
+extern void tsi108_irq_cascade(struct irq_desc *desc);
extern void tsi108_clear_pci_cfg_error(void);
#endif /* _ASM_POWERPC_TSI108_PCI_H */
diff --git a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
index 4411ed51803e..4dc8f4f3d5ac 100644
--- a/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
+++ b/arch/powerpc/platforms/512x/mpc5121_ads_cpld.c
@@ -105,7 +105,7 @@ cpld_pic_get_irq(int offset, u8 ignore, u8 __iomem *statusp,
}
static void
-cpld_pic_cascade(unsigned int __irq, struct irq_desc *desc)
+cpld_pic_cascade(struct irq_desc *desc)
{
unsigned int irq;
diff --git a/arch/powerpc/platforms/52xx/media5200.c b/arch/powerpc/platforms/52xx/media5200.c
index 32cae33c4266..0c64f63cc187 100644
--- a/arch/powerpc/platforms/52xx/media5200.c
+++ b/arch/powerpc/platforms/52xx/media5200.c
@@ -80,7 +80,7 @@ static struct irq_chip media5200_irq_chip = {
.irq_mask_ack = media5200_irq_mask,
};
-void media5200_irq_cascade(unsigned int virq, struct irq_desc *desc)
+void media5200_irq_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
int sub_virq, val;
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
index 63016621aff8..1f5f4775930c 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
@@ -191,7 +191,7 @@ static struct irq_chip mpc52xx_gpt_irq_chip = {
.irq_set_type = mpc52xx_gpt_irq_set_type,
};
-void mpc52xx_gpt_irq_cascade(unsigned int virq, struct irq_desc *desc)
+void mpc52xx_gpt_irq_cascade(struct irq_desc *desc)
{
struct mpc52xx_gpt_priv *gpt = irq_desc_get_handler_data(desc);
int sub_virq;
diff --git a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
index 74861a7fb807..60e89fc9c753 100644
--- a/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
+++ b/arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
@@ -78,7 +78,7 @@ static struct irq_chip pq2ads_pci_ic = {
.irq_disable = pq2ads_pci_mask_irq
};
-static void pq2ads_pci_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void pq2ads_pci_irq_demux(struct irq_desc *desc)
{
struct pq2ads_pci_pic *priv = irq_desc_get_handler_data(desc);
u32 stat, mask, pend;
diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c
index 7bfb9b184dd4..23791de7b688 100644
--- a/arch/powerpc/platforms/85xx/common.c
+++ b/arch/powerpc/platforms/85xx/common.c
@@ -49,7 +49,7 @@ int __init mpc85xx_common_publish_devices(void)
return of_platform_bus_probe(NULL, mpc85xx_common_ids, NULL);
}
#ifdef CONFIG_CPM2
-static void cpm2_cascade(unsigned int irq, struct irq_desc *desc)
+static void cpm2_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
int cascade_irq;
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_cds.c b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
index b0753e222086..5ac70de3e48a 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
@@ -192,8 +192,7 @@ void mpc85xx_cds_fixup_bus(struct pci_bus *bus)
}
#ifdef CONFIG_PPC_I8259
-static void mpc85xx_8259_cascade_handler(unsigned int irq,
- struct irq_desc *desc)
+static void mpc85xx_8259_cascade_handler(struct irq_desc *desc)
{
unsigned int cascade_irq = i8259_irq();
@@ -202,7 +201,7 @@ static void mpc85xx_8259_cascade_handler(unsigned int irq,
generic_handle_irq(cascade_irq);
/* check for any interrupts from the shared IRQ line */
- handle_fasteoi_irq(irq, desc);
+ handle_fasteoi_irq(desc);
}
static irqreturn_t mpc85xx_8259_cascade_action(int irq, void *dev_id)
diff --git a/arch/powerpc/platforms/85xx/mpc85xx_ds.c b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
index ffdf02121a7c..f858306dba6a 100644
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
@@ -46,7 +46,7 @@
#endif
#ifdef CONFIG_PPC_I8259
-static void mpc85xx_8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void mpc85xx_8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
diff --git a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
index 5153e58654f7..227e2854bc08 100644
--- a/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
+++ b/arch/powerpc/platforms/85xx/socrates_fpga_pic.c
@@ -91,7 +91,7 @@ static inline unsigned int socrates_fpga_pic_get_irq(unsigned int irq)
(irq_hw_number_t)i);
}
-void socrates_fpga_pic_cascade(unsigned int irq, struct irq_desc *desc)
+void socrates_fpga_pic_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq;
diff --git a/arch/powerpc/platforms/86xx/pic.c b/arch/powerpc/platforms/86xx/pic.c
index d5b98c0f958a..845defa1fd19 100644
--- a/arch/powerpc/platforms/86xx/pic.c
+++ b/arch/powerpc/platforms/86xx/pic.c
@@ -17,7 +17,7 @@
#include <asm/i8259.h>
#ifdef CONFIG_PPC_I8259
-static void mpc86xx_8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void mpc86xx_8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
diff --git a/arch/powerpc/platforms/8xx/m8xx_setup.c b/arch/powerpc/platforms/8xx/m8xx_setup.c
index d3037747031d..c289fc77b4ba 100644
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
@@ -214,7 +214,7 @@ void mpc8xx_restart(char *cmd)
panic("Restart failed\n");
}
-static void cpm_cascade(unsigned int irq, struct irq_desc *desc)
+static void cpm_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
int cascade_irq = cpm_get_irq();
diff --git a/arch/powerpc/platforms/cell/axon_msi.c b/arch/powerpc/platforms/cell/axon_msi.c
index 817d0e6747ea..677836a1b5e4 100644
--- a/arch/powerpc/platforms/cell/axon_msi.c
+++ b/arch/powerpc/platforms/cell/axon_msi.c
@@ -92,7 +92,7 @@ static void msic_dcr_write(struct axon_msic *msic, unsigned int dcr_n, u32 val)
dcr_write(msic->dcr_host, dcr_n, val);
}
-static void axon_msi_cascade(unsigned int irq, struct irq_desc *desc)
+static void axon_msi_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct axon_msic *msic = irq_desc_get_handler_data(desc);
diff --git a/arch/powerpc/platforms/cell/interrupt.c b/arch/powerpc/platforms/cell/interrupt.c
index e2dd6c9d3a78..65ea856a583e 100644
--- a/arch/powerpc/platforms/cell/interrupt.c
+++ b/arch/powerpc/platforms/cell/interrupt.c
@@ -99,7 +99,7 @@ static void iic_ioexc_eoi(struct irq_data *d)
{
}
-static void iic_ioexc_cascade(unsigned int __irq, struct irq_desc *desc)
+static void iic_ioexc_cascade(struct irq_desc *desc)
{
unsigned int irq = irq_desc_get_irq(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/arch/powerpc/platforms/cell/spider-pic.c b/arch/powerpc/platforms/cell/spider-pic.c
index 1f72f4ab6353..9d27de62dc62 100644
--- a/arch/powerpc/platforms/cell/spider-pic.c
+++ b/arch/powerpc/platforms/cell/spider-pic.c
@@ -199,7 +199,7 @@ static const struct irq_domain_ops spider_host_ops = {
.xlate = spider_host_xlate,
};
-static void spider_irq_cascade(unsigned int irq, struct irq_desc *desc)
+static void spider_irq_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct spider_pic *pic = irq_desc_get_handler_data(desc);
diff --git a/arch/powerpc/platforms/chrp/setup.c b/arch/powerpc/platforms/chrp/setup.c
index 15ebc4e8a151..987d1b8d68e3 100644
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
@@ -363,7 +363,7 @@ void __init chrp_setup_arch(void)
if (ppc_md.progress) ppc_md.progress("Linux/PPC "UTS_RELEASE"\n", 0x0);
}
-static void chrp_8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void chrp_8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
index 9dd154d6f89a..9b7975706bfc 100644
--- a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
+++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c
@@ -120,8 +120,7 @@ static unsigned int __hlwd_pic_get_irq(struct irq_domain *h)
return irq_linear_revmap(h, irq);
}
-static void hlwd_pic_irq_cascade(unsigned int cascade_virq,
- struct irq_desc *desc)
+static void hlwd_pic_irq_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct irq_domain *irq_domain = irq_desc_get_handler_data(desc);
diff --git a/arch/powerpc/platforms/embedded6xx/mvme5100.c b/arch/powerpc/platforms/embedded6xx/mvme5100.c
index 1613303177e6..8f65aa3747f5 100644
--- a/arch/powerpc/platforms/embedded6xx/mvme5100.c
+++ b/arch/powerpc/platforms/embedded6xx/mvme5100.c
@@ -42,7 +42,7 @@
static phys_addr_t pci_membase;
static u_char *restart;
-static void mvme5100_8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void mvme5100_8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
diff --git a/arch/powerpc/platforms/pseries/setup.c b/arch/powerpc/platforms/pseries/setup.c
index df6a7041922b..642f5a49718b 100644
--- a/arch/powerpc/platforms/pseries/setup.c
+++ b/arch/powerpc/platforms/pseries/setup.c
@@ -111,7 +111,7 @@ static void __init fwnmi_init(void)
fwnmi_active = 1;
}
-static void pseries_8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void pseries_8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
diff --git a/arch/powerpc/sysdev/ge/ge_pic.c b/arch/powerpc/sysdev/ge/ge_pic.c
index 2bcb78bb3a15..bf52768a162e 100644
--- a/arch/powerpc/sysdev/ge/ge_pic.c
+++ b/arch/powerpc/sysdev/ge/ge_pic.c
@@ -91,7 +91,7 @@ static int gef_pic_cascade_irq;
* should be masked out.
*/
-void gef_pic_cascade(unsigned int irq, struct irq_desc *desc)
+void gef_pic_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq;
diff --git a/arch/powerpc/sysdev/ge/ge_pic.h b/arch/powerpc/sysdev/ge/ge_pic.h
index 908dbd9826b6..077c5fe9a575 100644
--- a/arch/powerpc/sysdev/ge/ge_pic.h
+++ b/arch/powerpc/sysdev/ge/ge_pic.h
@@ -2,7 +2,7 @@
#define __GEF_PIC_H__
-void gef_pic_cascade(unsigned int, struct irq_desc *);
+void gef_pic_cascade(struct irq_desc *);
unsigned int gef_pic_get_irq(void);
void gef_pic_init(struct device_node *);
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index b2b8447a227a..caed5f221f03 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -1180,7 +1180,7 @@ static int mpic_host_xlate(struct irq_domain *h, struct device_node *ct,
}
/* IRQ handler for a secondary MPIC cascaded from another IRQ controller */
-static void mpic_cascade(unsigned int irq, struct irq_desc *desc)
+static void mpic_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct mpic *mpic = irq_desc_get_handler_data(desc);
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c
index 543765e1ef14..50179099e728 100644
--- a/arch/powerpc/sysdev/qe_lib/qe_ic.c
+++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c
@@ -310,8 +310,8 @@ unsigned int qe_ic_get_high_irq(struct qe_ic *qe_ic)
}
void __init qe_ic_init(struct device_node *node, unsigned int flags,
- void (*low_handler)(unsigned int irq, struct irq_desc *desc),
- void (*high_handler)(unsigned int irq, struct irq_desc *desc))
+ void (*low_handler)(struct irq_desc *desc),
+ void (*high_handler)(struct irq_desc *desc))
{
struct qe_ic *qe_ic;
struct resource res;
diff --git a/arch/powerpc/sysdev/tsi108_pci.c b/arch/powerpc/sysdev/tsi108_pci.c
index 188012c58f7f..0b36e6a22d25 100644
--- a/arch/powerpc/sysdev/tsi108_pci.c
+++ b/arch/powerpc/sysdev/tsi108_pci.c
@@ -428,7 +428,7 @@ void __init tsi108_pci_int_init(struct device_node *node)
init_pci_source();
}
-void tsi108_irq_cascade(unsigned int irq, struct irq_desc *desc)
+void tsi108_irq_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = get_pci_source();
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index e763fe215cf5..902af049b492 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -194,7 +194,7 @@ static struct irq_domain_ops uic_host_ops = {
.xlate = irq_domain_xlate_twocell,
};
-void uic_irq_cascade(unsigned int virq, struct irq_desc *desc)
+void uic_irq_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct irq_data *idata = irq_desc_get_irq_data(desc);
diff --git a/arch/powerpc/sysdev/xilinx_intc.c b/arch/powerpc/sysdev/xilinx_intc.c
index 56f0524e47a6..78e0f1be1474 100644
--- a/arch/powerpc/sysdev/xilinx_intc.c
+++ b/arch/powerpc/sysdev/xilinx_intc.c
@@ -222,7 +222,7 @@ int xilinx_intc_get_irq(void)
/*
* Support code for cascading to 8259 interrupt controllers
*/
-static void xilinx_i8259_cascade(unsigned int irq, struct irq_desc *desc)
+static void xilinx_i8259_cascade(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned int cascade_irq = i8259_irq();
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 45/48] genirq, gpio: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (9 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 38/48] genirq, powerpc: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 6:20 ` Javier Martinez Canillas
2015-06-04 11:28 ` Linus Walleij
2015-06-04 4:13 ` [RFT v2 46/48] genirq, irqchip: " Jiang Liu
` (3 subsequent siblings)
14 siblings, 2 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
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/gpio/gpio-altera.c | 6 ++----
drivers/gpio/gpio-bcm-kona.c | 2 +-
drivers/gpio/gpio-davinci.c | 2 +-
drivers/gpio/gpio-dwapb.c | 2 +-
drivers/gpio/gpio-ep93xx.c | 4 ++--
drivers/gpio/gpio-intel-mid.c | 2 +-
drivers/gpio/gpio-lynxpoint.c | 2 +-
drivers/gpio/gpio-mpc8xxx.c | 2 +-
drivers/gpio/gpio-msic.c | 2 +-
drivers/gpio/gpio-msm-v2.c | 2 +-
drivers/gpio/gpio-mvebu.c | 2 +-
drivers/gpio/gpio-mxc.c | 4 ++--
drivers/gpio/gpio-mxs.c | 2 +-
drivers/gpio/gpio-omap.c | 2 +-
drivers/gpio/gpio-pl061.c | 2 +-
drivers/gpio/gpio-pxa.c | 2 +-
drivers/gpio/gpio-sa1100.c | 2 +-
drivers/gpio/gpio-tegra.c | 2 +-
drivers/gpio/gpio-timberdale.c | 2 +-
drivers/gpio/gpio-tz1090.c | 4 ++--
drivers/gpio/gpio-vf610.c | 2 +-
drivers/gpio/gpio-zynq.c | 2 +-
22 files changed, 26 insertions(+), 28 deletions(-)
diff --git a/drivers/gpio/gpio-altera.c b/drivers/gpio/gpio-altera.c
index 449fb46cb8a0..985c3bd9a03e 100644
--- a/drivers/gpio/gpio-altera.c
+++ b/drivers/gpio/gpio-altera.c
@@ -200,8 +200,7 @@ static int altera_gpio_direction_output(struct gpio_chip *gc,
return 0;
}
-static void altera_gpio_irq_edge_handler(unsigned int irq,
- struct irq_desc *desc)
+static void altera_gpio_irq_edge_handler(struct irq_desc *desc)
{
struct altera_gpio_chip *altera_gc;
struct irq_chip *chip;
@@ -230,8 +229,7 @@ static void altera_gpio_irq_edge_handler(unsigned int irq,
}
-static void altera_gpio_irq_leveL_high_handler(unsigned int irq,
- struct irq_desc *desc)
+static void altera_gpio_irq_leveL_high_handler(struct irq_desc *desc)
{
struct altera_gpio_chip *altera_gc;
struct irq_chip *chip;
diff --git a/drivers/gpio/gpio-bcm-kona.c b/drivers/gpio/gpio-bcm-kona.c
index 2e7a8c66fe57..6471892f4f83 100644
--- a/drivers/gpio/gpio-bcm-kona.c
+++ b/drivers/gpio/gpio-bcm-kona.c
@@ -427,7 +427,7 @@ static int bcm_kona_gpio_irq_set_type(struct irq_data *d, unsigned int type)
return 0;
}
-static void bcm_kona_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void bcm_kona_gpio_irq_handler(struct irq_desc *desc)
{
void __iomem *reg_base;
int bit, bank_id;
diff --git a/drivers/gpio/gpio-davinci.c b/drivers/gpio/gpio-davinci.c
index 9a738f5d409b..a2bd82f61822 100644
--- a/drivers/gpio/gpio-davinci.c
+++ b/drivers/gpio/gpio-davinci.c
@@ -327,7 +327,7 @@ static struct irq_chip gpio_irqchip = {
};
static void
-gpio_irq_handler(unsigned __irq, struct irq_desc *desc)
+gpio_irq_handler(struct irq_desc *desc)
{
unsigned int irq = irq_desc_get_irq(desc);
struct davinci_gpio_regs __iomem *g;
diff --git a/drivers/gpio/gpio-dwapb.c b/drivers/gpio/gpio-dwapb.c
index 649be07a845d..bf7cb1be756d 100644
--- a/drivers/gpio/gpio-dwapb.c
+++ b/drivers/gpio/gpio-dwapb.c
@@ -147,7 +147,7 @@ static u32 dwapb_do_irq(struct dwapb_gpio *gpio)
return ret;
}
-static void dwapb_irq_handler(u32 irq, struct irq_desc *desc)
+static void dwapb_irq_handler(struct irq_desc *desc)
{
struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/gpio/gpio-ep93xx.c b/drivers/gpio/gpio-ep93xx.c
index e507baa6e3a2..03648a8a6f8e 100644
--- a/drivers/gpio/gpio-ep93xx.c
+++ b/drivers/gpio/gpio-ep93xx.c
@@ -78,7 +78,7 @@ static void ep93xx_gpio_int_debounce(unsigned int irq, bool enable)
EP93XX_GPIO_REG(int_debounce_register_offset[port]));
}
-static void ep93xx_gpio_ab_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void ep93xx_gpio_ab_irq_handler(struct irq_desc *desc)
{
unsigned char status;
int i;
@@ -100,7 +100,7 @@ static void ep93xx_gpio_ab_irq_handler(unsigned int irq, struct irq_desc *desc)
}
}
-static void ep93xx_gpio_f_irq_handler(unsigned int __irq, struct irq_desc *desc)
+static void ep93xx_gpio_f_irq_handler(struct irq_desc *desc)
{
/*
* map discontiguous hw irq range to continuous sw irq range:
diff --git a/drivers/gpio/gpio-intel-mid.c b/drivers/gpio/gpio-intel-mid.c
index aa28c65eb6b4..70097472b02c 100644
--- a/drivers/gpio/gpio-intel-mid.c
+++ b/drivers/gpio/gpio-intel-mid.c
@@ -301,7 +301,7 @@ static const struct pci_device_id intel_gpio_ids[] = {
};
MODULE_DEVICE_TABLE(pci, intel_gpio_ids);
-static void intel_mid_irq_handler(unsigned irq, struct irq_desc *desc)
+static void intel_mid_irq_handler(struct irq_desc *desc)
{
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
struct intel_mid_gpio *priv = to_intel_gpio_priv(gc);
diff --git a/drivers/gpio/gpio-lynxpoint.c b/drivers/gpio/gpio-lynxpoint.c
index 127c755b38dc..23e884aefe36 100644
--- a/drivers/gpio/gpio-lynxpoint.c
+++ b/drivers/gpio/gpio-lynxpoint.c
@@ -234,7 +234,7 @@ static int lp_gpio_direction_output(struct gpio_chip *chip,
return 0;
}
-static void lp_gpio_irq_handler(unsigned hwirq, struct irq_desc *desc)
+static void lp_gpio_irq_handler(struct irq_desc *desc)
{
struct irq_data *data = irq_desc_get_irq_data(desc);
struct gpio_chip *gc = irq_desc_get_handler_data(desc);
diff --git a/drivers/gpio/gpio-mpc8xxx.c b/drivers/gpio/gpio-mpc8xxx.c
index a65b75161aa4..281dea4d2e39 100644
--- a/drivers/gpio/gpio-mpc8xxx.c
+++ b/drivers/gpio/gpio-mpc8xxx.c
@@ -185,7 +185,7 @@ static int mpc8xxx_gpio_to_irq(struct gpio_chip *gc, unsigned offset)
return -ENXIO;
}
-static void mpc8xxx_gpio_irq_cascade(unsigned int irq, struct irq_desc *desc)
+static void mpc8xxx_gpio_irq_cascade(struct irq_desc *desc)
{
struct mpc8xxx_gpio_chip *mpc8xxx_gc = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/gpio/gpio-msic.c b/drivers/gpio/gpio-msic.c
index 01acf0a8cdb1..35b3046d1c7d 100644
--- a/drivers/gpio/gpio-msic.c
+++ b/drivers/gpio/gpio-msic.c
@@ -232,7 +232,7 @@ static struct irq_chip msic_irqchip = {
.irq_bus_sync_unlock = msic_bus_sync_unlock,
};
-static void msic_gpio_irq_handler(unsigned irq, struct irq_desc *desc)
+static void msic_gpio_irq_handler(struct irq_desc *desc)
{
struct irq_data *data = irq_desc_get_irq_data(desc);
struct msic_gpio *mg = irq_data_get_irq_handler_data(data);
diff --git a/drivers/gpio/gpio-msm-v2.c b/drivers/gpio/gpio-msm-v2.c
index 52ff18229fdc..f4a69e005409 100644
--- a/drivers/gpio/gpio-msm-v2.c
+++ b/drivers/gpio/gpio-msm-v2.c
@@ -313,7 +313,7 @@ static int msm_gpio_irq_set_type(struct irq_data *d, unsigned int flow_type)
* which have been set as summary IRQ lines and which are triggered,
* and to call their interrupt handlers.
*/
-static void msm_summary_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void msm_summary_irq_handler(struct irq_desc *desc)
{
unsigned long i;
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index a8c302ef7bc4..5b12549e3d6c 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -458,7 +458,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type)
return 0;
}
-static void mvebu_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void mvebu_gpio_irq_handler(struct irq_desc *desc)
{
struct mvebu_gpio_chip *mvchip = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/gpio/gpio-mxc.c b/drivers/gpio/gpio-mxc.c
index f10948c04f7c..1f5186002326 100644
--- a/drivers/gpio/gpio-mxc.c
+++ b/drivers/gpio/gpio-mxc.c
@@ -272,7 +272,7 @@ static void mxc_gpio_irq_handler(struct mxc_gpio_port *port, u32 irq_stat)
}
/* MX1 and MX3 has one interrupt *per* gpio port */
-static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
+static void mx3_gpio_irq_handler(struct irq_desc *desc)
{
u32 irq_stat;
struct mxc_gpio_port *port = irq_desc_get_handler_data(desc);
@@ -288,7 +288,7 @@ static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
}
/* MX2 has one interrupt *for all* gpio ports */
-static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc)
+static void mx2_gpio_irq_handler(struct irq_desc *desc)
{
u32 irq_msk, irq_stat;
struct mxc_gpio_port *port;
diff --git a/drivers/gpio/gpio-mxs.c b/drivers/gpio/gpio-mxs.c
index 039c7d50e64f..e5b286e9f016 100644
--- a/drivers/gpio/gpio-mxs.c
+++ b/drivers/gpio/gpio-mxs.c
@@ -154,7 +154,7 @@ static void mxs_flip_edge(struct mxs_gpio_port *port, u32 gpio)
}
/* MXS has one interrupt *per* gpio port */
-static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc)
+static void mxs_gpio_irq_handler(struct irq_desc *desc)
{
u32 irq_stat;
struct mxs_gpio_port *port = irq_desc_get_handler_data(desc);
diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index acbf3feff1e2..7f764d786efe 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -711,7 +711,7 @@ static void omap_gpio_free(struct gpio_chip *chip, unsigned offset)
* line's interrupt handler has been run, we may miss some nested
* interrupts.
*/
-static void omap_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void omap_gpio_irq_handler(struct irq_desc *desc)
{
void __iomem *isr_reg = NULL;
u32 isr;
diff --git a/drivers/gpio/gpio-pl061.c b/drivers/gpio/gpio-pl061.c
index 04756130437f..229ef653e0f8 100644
--- a/drivers/gpio/gpio-pl061.c
+++ b/drivers/gpio/gpio-pl061.c
@@ -187,7 +187,7 @@ static int pl061_irq_type(struct irq_data *d, unsigned trigger)
return 0;
}
-static void pl061_irq_handler(unsigned irq, struct irq_desc *desc)
+static void pl061_irq_handler(struct irq_desc *desc)
{
unsigned long pending;
int offset;
diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index cdbbcf0faf9d..a6d51338b86e 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -401,7 +401,7 @@ static int pxa_gpio_irq_type(struct irq_data *d, unsigned int type)
return 0;
}
-static void pxa_gpio_demux_handler(unsigned int irq, struct irq_desc *desc)
+static void pxa_gpio_demux_handler(struct irq_desc *desc)
{
struct pxa_gpio_chip *c;
int loop, gpio, gpio_base, n;
diff --git a/drivers/gpio/gpio-sa1100.c b/drivers/gpio/gpio-sa1100.c
index b8c59635fb55..80a3380565c1 100644
--- a/drivers/gpio/gpio-sa1100.c
+++ b/drivers/gpio/gpio-sa1100.c
@@ -173,7 +173,7 @@ static struct irq_domain *sa1100_gpio_irqdomain;
* and call the handler.
*/
static void
-sa1100_gpio_handler(unsigned int __irq, struct irq_desc *desc)
+sa1100_gpio_handler(struct irq_desc *desc)
{
unsigned int mask;
diff --git a/drivers/gpio/gpio-tegra.c b/drivers/gpio/gpio-tegra.c
index 89ed8a56eb0b..bfd5f39d1bc3 100644
--- a/drivers/gpio/gpio-tegra.c
+++ b/drivers/gpio/gpio-tegra.c
@@ -266,7 +266,7 @@ static void tegra_gpio_irq_shutdown(struct irq_data *d)
gpiochip_unlock_as_irq(&tegra_gpio_chip, gpio);
}
-static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void tegra_gpio_irq_handler(struct irq_desc *desc)
{
int port;
int pin;
diff --git a/drivers/gpio/gpio-timberdale.c b/drivers/gpio/gpio-timberdale.c
index 2b8baf1ea16e..107094139ec4 100644
--- a/drivers/gpio/gpio-timberdale.c
+++ b/drivers/gpio/gpio-timberdale.c
@@ -192,7 +192,7 @@ out:
return ret;
}
-static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
+static void timbgpio_irq(struct irq_desc *desc)
{
struct timbgpio *tgpio = irq_desc_get_handler_data(desc);
struct irq_data *data = irq_desc_get_irq_data(desc);
diff --git a/drivers/gpio/gpio-tz1090.c b/drivers/gpio/gpio-tz1090.c
index 445660adc898..58dfa595dbd7 100644
--- a/drivers/gpio/gpio-tz1090.c
+++ b/drivers/gpio/gpio-tz1090.c
@@ -375,7 +375,7 @@ static int gpio_set_irq_wake(struct irq_data *data, unsigned int on)
#define gpio_set_irq_wake NULL
#endif
-static void tz1090_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void tz1090_gpio_irq_handler(struct irq_desc *desc)
{
irq_hw_number_t hw;
unsigned int irq_stat, irq_no;
@@ -400,7 +400,7 @@ static void tz1090_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
== IRQ_TYPE_EDGE_BOTH)
tz1090_gpio_irq_next_edge(bank, hw);
- generic_handle_irq_desc(irq_no, child_desc);
+ generic_handle_irq_desc(child_desc);
}
}
diff --git a/drivers/gpio/gpio-vf610.c b/drivers/gpio/gpio-vf610.c
index fa344388f4da..18d0ae80dc4a 100644
--- a/drivers/gpio/gpio-vf610.c
+++ b/drivers/gpio/gpio-vf610.c
@@ -118,7 +118,7 @@ static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
return pinctrl_gpio_direction_output(chip->base + gpio);
}
-static void vf610_gpio_irq_handler(u32 irq, struct irq_desc *desc)
+static void vf610_gpio_irq_handler(struct irq_desc *desc)
{
struct vf610_gpio_port *port = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c
index 70e3a568b1cb..92d91d3b6dd7 100644
--- a/drivers/gpio/gpio-zynq.c
+++ b/drivers/gpio/gpio-zynq.c
@@ -495,7 +495,7 @@ static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio,
* application for that pin.
* Note: A bug is reported if no handler is set for the gpio pin.
*/
-static void zynq_gpio_irqhandler(unsigned int irq, struct irq_desc *desc)
+static void zynq_gpio_irqhandler(struct irq_desc *desc)
{
u32 int_sts, int_enb;
unsigned int bank_num;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 46/48] genirq, irqchip: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (10 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 45/48] genirq, gpio: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 4:52 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 48/48] genirq, drivers: " Jiang Liu
` (2 subsequent siblings)
14 siblings, 1 reply; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
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>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
---
drivers/irqchip/exynos-combiner.c | 4 ++--
drivers/irqchip/irq-armada-370-xp.c | 3 +--
drivers/irqchip/irq-bcm7038-l1.c | 2 +-
drivers/irqchip/irq-bcm7120-l2.c | 2 +-
drivers/irqchip/irq-brcmstb-l2.c | 4 ++--
drivers/irqchip/irq-dw-apb-ictl.c | 2 +-
drivers/irqchip/irq-gic.c | 2 +-
drivers/irqchip/irq-imgpdc.c | 4 ++--
drivers/irqchip/irq-keystone.c | 2 +-
drivers/irqchip/irq-metag-ext.c | 3 +--
drivers/irqchip/irq-metag.c | 3 +--
drivers/irqchip/irq-mips-gic.c | 2 +-
drivers/irqchip/irq-mmp.c | 2 +-
drivers/irqchip/irq-orion.c | 2 +-
drivers/irqchip/irq-s3c24xx.c | 2 +-
drivers/irqchip/irq-sunxi-nmi.c | 2 +-
drivers/irqchip/irq-tb10x.c | 2 +-
drivers/irqchip/irq-versatile-fpga.c | 4 ++--
drivers/irqchip/irq-vic.c | 2 +-
drivers/irqchip/spear-shirq.c | 2 +-
20 files changed, 24 insertions(+), 27 deletions(-)
diff --git a/drivers/irqchip/exynos-combiner.c b/drivers/irqchip/exynos-combiner.c
index 039ceb46fcc0..2bf152307bac 100644
--- a/drivers/irqchip/exynos-combiner.c
+++ b/drivers/irqchip/exynos-combiner.c
@@ -60,7 +60,7 @@ static void combiner_unmask_irq(struct irq_data *data)
__raw_writel(mask, combiner_base(data) + COMBINER_ENABLE_SET);
}
-static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
+static void combiner_handle_cascade_irq(struct irq_desc *desc)
{
struct combiner_chip_data *chip_data = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
@@ -81,7 +81,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
cascade_irq = irq_find_mapping(combiner_irq_domain, combiner_irq);
if (unlikely(!cascade_irq))
- handle_bad_irq(irq, desc);
+ handle_bad_irq(desc);
else
generic_handle_irq(cascade_irq);
diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c
index 40b5fe99a1d5..fa26eb1b4f17 100644
--- a/drivers/irqchip/irq-armada-370-xp.c
+++ b/drivers/irqchip/irq-armada-370-xp.c
@@ -448,8 +448,7 @@ static void armada_370_xp_handle_msi_irq(struct pt_regs *regs, bool is_chained)
static void armada_370_xp_handle_msi_irq(struct pt_regs *r, bool b) {}
#endif
-static void armada_370_xp_mpic_handle_cascade_irq(unsigned int irq,
- struct irq_desc *desc)
+static void armada_370_xp_mpic_handle_cascade_irq(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
unsigned long irqmap, irqn, irqsrc, cpuid;
diff --git a/drivers/irqchip/irq-bcm7038-l1.c b/drivers/irqchip/irq-bcm7038-l1.c
index d3b8c8be15f6..9ad6540bd57e 100644
--- a/drivers/irqchip/irq-bcm7038-l1.c
+++ b/drivers/irqchip/irq-bcm7038-l1.c
@@ -116,7 +116,7 @@ static inline void l1_writel(u32 val, void __iomem *reg)
writel(val, reg);
}
-static void bcm7038_l1_irq_handle(unsigned int irq, struct irq_desc *desc)
+static void bcm7038_l1_irq_handle(struct irq_desc *desc)
{
struct bcm7038_l1_chip *intc = irq_desc_get_handler_data(desc);
struct bcm7038_l1_cpu *cpu;
diff --git a/drivers/irqchip/irq-bcm7120-l2.c b/drivers/irqchip/irq-bcm7120-l2.c
index 3ba5cc780fcb..4ee0d839009e 100644
--- a/drivers/irqchip/irq-bcm7120-l2.c
+++ b/drivers/irqchip/irq-bcm7120-l2.c
@@ -52,7 +52,7 @@ struct bcm7120_l2_intc_data {
const __be32 *map_mask_prop;
};
-static void bcm7120_l2_intc_irq_handle(unsigned int irq, struct irq_desc *desc)
+static void bcm7120_l2_intc_irq_handle(struct irq_desc *desc)
{
struct bcm7120_l2_intc_data *b = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/irqchip/irq-brcmstb-l2.c b/drivers/irqchip/irq-brcmstb-l2.c
index 994c01fdb4b5..ab3d0c52ea5a 100644
--- a/drivers/irqchip/irq-brcmstb-l2.c
+++ b/drivers/irqchip/irq-brcmstb-l2.c
@@ -51,7 +51,7 @@ struct brcmstb_l2_intc_data {
u32 saved_mask; /* for suspend/resume */
};
-static void brcmstb_l2_intc_irq_handle(unsigned int __irq, struct irq_desc *desc)
+static void brcmstb_l2_intc_irq_handle(struct irq_desc *desc)
{
struct brcmstb_l2_intc_data *b = irq_desc_get_handler_data(desc);
struct irq_chip_generic *gc = irq_get_domain_generic_chip(b->domain, 0);
@@ -65,7 +65,7 @@ static void brcmstb_l2_intc_irq_handle(unsigned int __irq, struct irq_desc *desc
if (status == 0) {
raw_spin_lock(&desc->lock);
- handle_bad_irq(__irq, desc);
+ handle_bad_irq(desc);
raw_spin_unlock(&desc->lock);
goto out;
}
diff --git a/drivers/irqchip/irq-dw-apb-ictl.c b/drivers/irqchip/irq-dw-apb-ictl.c
index cddcd3b75f00..7a00d7822228 100644
--- a/drivers/irqchip/irq-dw-apb-ictl.c
+++ b/drivers/irqchip/irq-dw-apb-ictl.c
@@ -26,7 +26,7 @@
#define APB_INT_FINALSTATUS_L 0x30
#define APB_INT_FINALSTATUS_H 0x34
-static void dw_apb_ictl_handler(unsigned int irq, struct irq_desc *desc)
+static void dw_apb_ictl_handler(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct irq_chip_generic *gc = irq_desc_get_handler_data(desc);
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index 6c8a5a7fb4a0..e24d240a8fe8 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -286,7 +286,7 @@ static void __exception_irq_entry gic_handle_irq(struct pt_regs *regs)
} while (1);
}
-static void gic_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
+static void gic_handle_cascade_irq(struct irq_desc *desc)
{
struct gic_chip_data *chip_data = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/irqchip/irq-imgpdc.c b/drivers/irqchip/irq-imgpdc.c
index d94eb43f252a..5d8a482100f7 100644
--- a/drivers/irqchip/irq-imgpdc.c
+++ b/drivers/irqchip/irq-imgpdc.c
@@ -218,7 +218,7 @@ static int pdc_irq_set_wake(struct irq_data *data, unsigned int on)
return 0;
}
-static void pdc_intc_perip_isr(unsigned int __irq, struct irq_desc *desc)
+static void pdc_intc_perip_isr(struct irq_desc *desc)
{
unsigned int irq = irq_desc_get_irq(desc);
struct pdc_intc_priv *priv;
@@ -240,7 +240,7 @@ found:
generic_handle_irq(irq_no);
}
-static void pdc_intc_syswake_isr(unsigned int irq, struct irq_desc *desc)
+static void pdc_intc_syswake_isr(struct irq_desc *desc)
{
struct pdc_intc_priv *priv;
unsigned int syswake, irq_no;
diff --git a/drivers/irqchip/irq-keystone.c b/drivers/irqchip/irq-keystone.c
index 8b05603d3be0..820e346ccae6 100644
--- a/drivers/irqchip/irq-keystone.c
+++ b/drivers/irqchip/irq-keystone.c
@@ -84,7 +84,7 @@ static void keystone_irq_ack(struct irq_data *d)
/* nothing to do here */
}
-static void keystone_irq_handler(unsigned irq, struct irq_desc *desc)
+static void keystone_irq_handler(struct irq_desc *desc)
{
struct keystone_irq_device *kirq = irq_desc_get_handler_data(desc);
unsigned long pending;
diff --git a/drivers/irqchip/irq-metag-ext.c b/drivers/irqchip/irq-metag-ext.c
index 52e501d8c8f0..f4b46643f2d2 100644
--- a/drivers/irqchip/irq-metag-ext.c
+++ b/drivers/irqchip/irq-metag-ext.c
@@ -436,7 +436,6 @@ static int meta_intc_irq_set_type(struct irq_data *data, unsigned int flow_type)
/**
* meta_intc_irq_demux() - external irq de-multiplexer
- * @irq: the virtual interrupt number
* @desc: the interrupt description structure for this irq
*
* The cpu receives an interrupt on TR2 when a SoC interrupt has occurred. It is
@@ -446,7 +445,7 @@ static int meta_intc_irq_set_type(struct irq_data *data, unsigned int flow_type)
* Whilst using TR2 to detect external interrupts is a software convention it is
* (hopefully) unlikely to change.
*/
-static void meta_intc_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void meta_intc_irq_demux(struct irq_desc *desc)
{
struct meta_intc_priv *priv = &meta_intc_priv;
irq_hw_number_t hw;
diff --git a/drivers/irqchip/irq-metag.c b/drivers/irqchip/irq-metag.c
index c16c186d97d3..f806a61d6660 100644
--- a/drivers/irqchip/irq-metag.c
+++ b/drivers/irqchip/irq-metag.c
@@ -213,14 +213,13 @@ static int metag_internal_irq_set_affinity(struct irq_data *data,
/*
* metag_internal_irq_demux - irq de-multiplexer
- * @irq: the interrupt number
* @desc: the interrupt description structure for this irq
*
* The cpu receives an interrupt on TR1 when an interrupt has
* occurred. It is this function's job to demux this irq and
* figure out exactly which trigger needs servicing.
*/
-static void metag_internal_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void metag_internal_irq_demux(struct irq_desc *desc)
{
struct metag_internal_irq_priv *priv = irq_desc_get_handler_data(desc);
irq_hw_number_t hw;
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c
index fb2e64b1f414..36d6b457e8e9 100644
--- a/drivers/irqchip/irq-mips-gic.c
+++ b/drivers/irqchip/irq-mips-gic.c
@@ -510,7 +510,7 @@ static void __gic_irq_dispatch(void)
gic_handle_shared_int();
}
-static void gic_irq_dispatch(unsigned int irq, struct irq_desc *desc)
+static void gic_irq_dispatch(struct irq_desc *desc)
{
__gic_irq_dispatch();
}
diff --git a/drivers/irqchip/irq-mmp.c b/drivers/irqchip/irq-mmp.c
index 44febf10be2f..bde3bbd245a4 100644
--- a/drivers/irqchip/irq-mmp.c
+++ b/drivers/irqchip/irq-mmp.c
@@ -130,7 +130,7 @@ struct irq_chip icu_irq_chip = {
.irq_unmask = icu_unmask_irq,
};
-static void icu_mux_irq_demux(unsigned int __irq, struct irq_desc *desc)
+static void icu_mux_irq_demux(struct irq_desc *desc)
{
unsigned int irq = irq_desc_get_irq(desc);
struct irq_domain *domain;
diff --git a/drivers/irqchip/irq-orion.c b/drivers/irqchip/irq-orion.c
index 58e034db0e7c..9e5a36cd1b8f 100644
--- a/drivers/irqchip/irq-orion.c
+++ b/drivers/irqchip/irq-orion.c
@@ -107,7 +107,7 @@ IRQCHIP_DECLARE(orion_intc, "marvell,orion-intc", orion_irq_init);
#define ORION_BRIDGE_IRQ_CAUSE 0x00
#define ORION_BRIDGE_IRQ_MASK 0x04
-static void orion_bridge_irq_handler(unsigned int irq, struct irq_desc *desc)
+static void orion_bridge_irq_handler(struct irq_desc *desc)
{
struct irq_domain *d = irq_desc_get_handler_data(desc);
diff --git a/drivers/irqchip/irq-s3c24xx.c b/drivers/irqchip/irq-s3c24xx.c
index efca6390aa87..e8d88f6ffe73 100644
--- a/drivers/irqchip/irq-s3c24xx.c
+++ b/drivers/irqchip/irq-s3c24xx.c
@@ -299,7 +299,7 @@ static struct irq_chip s3c_irq_eint0t4 = {
.irq_set_type = s3c_irqext0_type,
};
-static void s3c_irq_demux(unsigned int irq, struct irq_desc *desc)
+static void s3c_irq_demux(struct irq_desc *desc)
{
struct irq_chip *chip = irq_desc_get_chip(desc);
struct s3c_irq_data *irq_data = irq_desc_get_chip_data(desc);
diff --git a/drivers/irqchip/irq-sunxi-nmi.c b/drivers/irqchip/irq-sunxi-nmi.c
index 2eaa9d9df241..4e16ccd398f8 100644
--- a/drivers/irqchip/irq-sunxi-nmi.c
+++ b/drivers/irqchip/irq-sunxi-nmi.c
@@ -58,7 +58,7 @@ static inline u32 sunxi_sc_nmi_read(struct irq_chip_generic *gc, u32 off)
return irq_reg_readl(gc, off);
}
-static void sunxi_sc_nmi_handle_irq(unsigned int irq, struct irq_desc *desc)
+static void sunxi_sc_nmi_handle_irq(struct irq_desc *desc)
{
struct irq_domain *domain = irq_desc_get_handler_data(desc);
struct irq_chip *chip = irq_desc_get_chip(desc);
diff --git a/drivers/irqchip/irq-tb10x.c b/drivers/irqchip/irq-tb10x.c
index 117cf25c6cfe..bdcc39218d46 100644
--- a/drivers/irqchip/irq-tb10x.c
+++ b/drivers/irqchip/irq-tb10x.c
@@ -97,7 +97,7 @@ static int tb10x_irq_set_type(struct irq_data *data, unsigned int flow_type)
return IRQ_SET_MASK_OK;
}
-static void tb10x_irq_cascade(unsigned int irq, struct irq_desc *desc)
+static void tb10x_irq_cascade(struct irq_desc *desc)
{
struct irq_domain *domain = irq_desc_get_handler_data(desc);
diff --git a/drivers/irqchip/irq-versatile-fpga.c b/drivers/irqchip/irq-versatile-fpga.c
index efbfd425d2e0..6ce21c1e9fff 100644
--- a/drivers/irqchip/irq-versatile-fpga.c
+++ b/drivers/irqchip/irq-versatile-fpga.c
@@ -66,13 +66,13 @@ static void fpga_irq_unmask(struct irq_data *d)
writel(mask, f->base + IRQ_ENABLE_SET);
}
-static void fpga_irq_handle(unsigned int __irq, struct irq_desc *desc)
+static void fpga_irq_handle(struct irq_desc *desc)
{
struct fpga_irq_data *f = irq_desc_get_handler_data(desc);
u32 status = readl(f->base + IRQ_STATUS);
if (status == 0) {
- do_bad_IRQ(__irq, desc);
+ do_bad_IRQ(desc);
return;
}
diff --git a/drivers/irqchip/irq-vic.c b/drivers/irqchip/irq-vic.c
index 54089debf2dc..9f090e4284e4 100644
--- a/drivers/irqchip/irq-vic.c
+++ b/drivers/irqchip/irq-vic.c
@@ -226,7 +226,7 @@ static int handle_one_vic(struct vic_device *vic, struct pt_regs *regs)
return handled;
}
-static void vic_handle_irq_cascaded(unsigned int irq, struct irq_desc *desc)
+static void vic_handle_irq_cascaded(struct irq_desc *desc)
{
u32 stat, hwirq;
struct irq_chip *host_chip = irq_desc_get_chip(desc);
diff --git a/drivers/irqchip/spear-shirq.c b/drivers/irqchip/spear-shirq.c
index fb68ee9c0424..1396f0fad479 100644
--- a/drivers/irqchip/spear-shirq.c
+++ b/drivers/irqchip/spear-shirq.c
@@ -183,7 +183,7 @@ static struct spear_shirq *spear320_shirq_blocks[] = {
&spear320_shirq_intrcomm_ras,
};
-static void shirq_handler(unsigned irq, struct irq_desc *desc)
+static void shirq_handler(struct irq_desc *desc)
{
struct spear_shirq *shirq = irq_desc_get_handler_data(desc);
u32 pend;
--
1.7.10.4
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 48/48] genirq, drivers: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (11 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 46/48] genirq, irqchip: " Jiang Liu
@ 2015-06-04 4:13 ` Jiang Liu
2015-06-04 6:59 ` [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Geert Uytterhoeven
2015-06-05 0:22 ` Daniel Axtens
14 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 4:13 UTC (permalink / raw)
To: linux-arm-kernel
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 | 4 ++--
drivers/gpu/ipu-v3/ipu-common.c | 4 ++--
drivers/pci/host/pci-keystone.c | 5 ++---
drivers/spmi/spmi-pmic-arb.c | 2 +-
4 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/dma/ipu/ipu_irq.c b/drivers/dma/ipu/ipu_irq.c
index 84083c93fe70..4791a7630f97 100644
--- a/drivers/dma/ipu/ipu_irq.c
+++ b/drivers/dma/ipu/ipu_irq.c
@@ -266,7 +266,7 @@ 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)
{
struct ipu *ipu = irq_desc_get_handler_data(desc);
u32 status;
@@ -308,7 +308,7 @@ 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)
{
struct ipu *ipu = irq_desc_get_handler_data(desc);
u32 status;
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 98862768f1da..72eca81f2f67 100644
--- a/drivers/pci/host/pci-keystone.c
+++ b/drivers/pci/host/pci-keystone.c
@@ -112,7 +112,7 @@ 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_get_irq(desc);
struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc);
@@ -134,13 +134,12 @@ 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_get_irq(desc);
struct keystone_pcie *ks_pcie = irq_desc_get_handler_data(desc);
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
^ permalink raw reply related [flat|nested] 30+ messages in thread
* [RFT v2 10/48] irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 ` [RFT v2 10/48] irqchip: " Jiang Liu
@ 2015-06-04 4:50 ` Krzysztof Kozlowski
0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2015-06-04 4:50 UTC (permalink / raw)
To: linux-arm-kernel
On 04.06.2015 13:13, Jiang Liu wrote:
> Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
> already have a pointer to corresponding irq_desc.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> drivers/irqchip/exynos-combiner.c | 4 ++--
For exynos:
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 46/48] genirq, irqchip: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 46/48] genirq, irqchip: " Jiang Liu
@ 2015-06-04 4:52 ` Krzysztof Kozlowski
0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2015-06-04 4:52 UTC (permalink / raw)
To: linux-arm-kernel
On 04.06.2015 13:13, Jiang Liu wrote:
> 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>
> Acked-by: Ralf Baechle <ralf@linux-mips.org>
> ---
> drivers/irqchip/exynos-combiner.c | 4 ++--
For exynos:
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 36/48] genirq, arm: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 36/48] genirq, arm: Kill " Jiang Liu
@ 2015-06-04 4:52 ` Krzysztof Kozlowski
0 siblings, 0 replies; 30+ messages in thread
From: Krzysztof Kozlowski @ 2015-06-04 4:52 UTC (permalink / raw)
To: linux-arm-kernel
On 04.06.2015 13:13, Jiang Liu wrote:
> 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>
> Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
> ---
> arch/arm/common/it8152.c | 2 +-
> arch/arm/common/locomo.c | 2 +-
> arch/arm/common/sa1111.c | 4 ++--
> arch/arm/include/asm/hardware/it8152.h | 2 +-
> arch/arm/include/asm/mach/irq.h | 4 ++--
> arch/arm/mach-dove/irq.c | 4 ++--
> arch/arm/mach-footbridge/isa-irq.c | 4 ++--
> arch/arm/mach-gemini/gpio.c | 2 +-
> arch/arm/mach-imx/3ds_debugboard.c | 2 +-
> arch/arm/mach-imx/mach-mx31ads.c | 2 +-
> arch/arm/mach-iop13xx/msi.c | 2 +-
> arch/arm/mach-lpc32xx/irq.c | 4 ++--
> arch/arm/mach-netx/generic.c | 2 +-
> arch/arm/mach-omap1/fpga.c | 2 +-
> arch/arm/mach-omap2/prm_common.c | 2 +-
> arch/arm/mach-pxa/balloon3.c | 2 +-
> arch/arm/mach-pxa/cm-x2xx-pci.c | 4 ++--
> arch/arm/mach-pxa/lpd270.c | 2 +-
> arch/arm/mach-pxa/pcm990-baseboard.c | 2 +-
> arch/arm/mach-pxa/viper.c | 2 +-
> arch/arm/mach-pxa/zeus.c | 2 +-
> arch/arm/mach-rpc/ecard.c | 2 +-
> arch/arm/mach-s3c24xx/bast-irq.c | 3 +--
> arch/arm/mach-s3c64xx/common.c | 8 ++++----
For s3c24xx/s3c64xx:
Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 ` [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
@ 2015-06-04 6:20 ` Javier Martinez Canillas
0 siblings, 0 replies; 30+ messages in thread
From: Javier Martinez Canillas @ 2015-06-04 6:20 UTC (permalink / raw)
To: linux-arm-kernel
Hello Jiang,
On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
> already have a pointer to corresponding irq_desc.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> drivers/gpio/gpio-bcm-kona.c | 2 +-
> drivers/gpio/gpio-dwapb.c | 2 +-
> drivers/gpio/gpio-mvebu.c | 2 +-
> drivers/gpio/gpio-mxc.c | 6 +++---
> drivers/gpio/gpio-mxs.c | 2 +-
> drivers/gpio/gpio-omap.c | 2 +-
For gpio-omap:
Acked-by: Javier Martinez Canillas <javier@dowhile0.org>
Best regards,
Javier
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 45/48] genirq, gpio: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 45/48] genirq, gpio: " Jiang Liu
@ 2015-06-04 6:20 ` Javier Martinez Canillas
2015-06-04 11:28 ` Linus Walleij
1 sibling, 0 replies; 30+ messages in thread
From: Javier Martinez Canillas @ 2015-06-04 6:20 UTC (permalink / raw)
To: linux-arm-kernel
Hello Jiang,
On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> 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/gpio/gpio-altera.c | 6 ++----
> drivers/gpio/gpio-bcm-kona.c | 2 +-
> drivers/gpio/gpio-davinci.c | 2 +-
> drivers/gpio/gpio-dwapb.c | 2 +-
> drivers/gpio/gpio-ep93xx.c | 4 ++--
> drivers/gpio/gpio-intel-mid.c | 2 +-
> drivers/gpio/gpio-lynxpoint.c | 2 +-
> drivers/gpio/gpio-mpc8xxx.c | 2 +-
> drivers/gpio/gpio-msic.c | 2 +-
> drivers/gpio/gpio-msm-v2.c | 2 +-
> drivers/gpio/gpio-mvebu.c | 2 +-
> drivers/gpio/gpio-mxc.c | 4 ++--
> drivers/gpio/gpio-mxs.c | 2 +-
> drivers/gpio/gpio-omap.c | 2 +-
For gpio-omap:
Acked-by: Javier Martinez Canillas <javier@dowhile0.org>
Best regards,
Javier
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (12 preceding siblings ...)
2015-06-04 4:13 ` [RFT v2 48/48] genirq, drivers: " Jiang Liu
@ 2015-06-04 6:59 ` Geert Uytterhoeven
2015-06-04 7:23 ` Jiang Liu
2015-06-05 3:53 ` Fengguang Wu
2015-06-05 0:22 ` Daniel Axtens
14 siblings, 2 replies; 30+ messages in thread
From: Geert Uytterhoeven @ 2015-06-04 6:59 UTC (permalink / raw)
To: linux-arm-kernel
Hi Gerry,
On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> You may get the patch set from:
Missing link?
> The patch set passes Fengguang's 0day test suites as below. And tests
> with other platforms and configurations will be appreciated:)
> ----------------------------------------------------------
> configs tested: 95
[...]
> m68k amiga_defconfig
> m68k m5475evb_defconfig
> m68k multi_defconfig
For Fengguang: amiga_defconfig is a subset of multi_defconfig.
But sun3_defconfig is distinct, as Sun-3 has a different MMU and thus support
for it cannot be included in multi-platform kernels.
So I think you better replace amiga_defconfig by sun3_defconfig for build tests.
Thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
2015-06-04 6:59 ` [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Geert Uytterhoeven
@ 2015-06-04 7:23 ` Jiang Liu
2015-06-05 3:53 ` Fengguang Wu
1 sibling, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-04 7:23 UTC (permalink / raw)
To: linux-arm-kernel
On 2015/6/4 14:59, Geert Uytterhoeven wrote:
> Hi Gerry,
>
> On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
>> You may get the patch set from:
>
> Missing link?
Yeah, sorry. It's at:
https://github.com/jiangliu/linux.git genirq_v2
Thanks!
Gerry
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 45/48] genirq, gpio: Kill the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 45/48] genirq, gpio: " Jiang Liu
2015-06-04 6:20 ` Javier Martinez Canillas
@ 2015-06-04 11:28 ` Linus Walleij
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2015-06-04 11:28 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> 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>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
` (13 preceding siblings ...)
2015-06-04 6:59 ` [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Geert Uytterhoeven
@ 2015-06-05 0:22 ` Daniel Axtens
2015-06-05 1:15 ` Jiang Liu
14 siblings, 1 reply; 30+ messages in thread
From: Daniel Axtens @ 2015-06-05 0:22 UTC (permalink / raw)
To: linux-arm-kernel
Hi Gerry,
You seem to be missing the links where I can grab this patch set from,
as indicated below. Is there somewhere I can pull this from to make it a
bit easier for me to build?
(Sorry if I've missed this elsewhere in the thread!)
Thanks in advance,
Daniel
On Thu, 2015-06-04 at 12:13 +0800, Jiang Liu wrote:
> Many irq core interfaces pass both 'struct irq_desc *desc' and 'int irq'
> to identify an irq. But that's a little overhead, either 'irq_desc' or
> 'irq' could identify an irq. We could get 'irq_desc' from 'irq' by
> irq_to_desc() and get 'irq' from 'irq_desc' through irq_desc->irq_data.irq.
> So this patch set aims to reduce number of parameters of irq related
> interfaces by passing in either 'irq' or 'irq_desc" but not both.
> Hope this helps to simplify interfaces and improve performance.
>
> This patch set is based the patch set to refine struct irq_data, which
> has been posted at:
Here
>
> The patch set could be split into five parts:
> 1) Patch 1-2 is following-on cleanup work for
> 2) Patch 3-14 optimize irq handlers by avoiding redundant calling of
> irq_to_desc() when we already have a pointer to corresponding irq_desc.
> 3) Patch 15-20 reduce number of parameters of irq core functions.
> 4) Patch 21-34 prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> 5) Patch 35-48 kill the first parameter 'irq' of irq_flow_handler_t.
> All these patches should be combined as one big patch to support
> bisecting, they have been split for easy review only.
>
> With all these patches applied, a tree-wide 'grep -R "struct irq_desc" *'
> shows that there are only four functions left who take both 'irq' and
> 'irq_desc' as parameters:
> kernel/irq/manage.c:__setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
> kernel/irq/debug.h:static inline void print_irq_desc(unsigned int irq, struct irq_desc *desc)
> kernel/irq/irqdesc.c:static void desc_set_defaults(unsigned int irq, struct irq_desc *desc, int node,
> kernel/irq/irqdesc.c:static void irq_insert_desc(unsigned int irq, struct irq_desc *desc)
>
> They are all pretty safe, it's a good sign that we have done a clean
> conversion. Thomas suggested to use coci scripts verify conversion result,
> it's a little hard for me and will ask for help from Julia later.
>
> You may get the patch set from:
Here
> The patch set passes Fengguang's 0day test suites as below. And tests
> with other platforms and configurations will be appreciated:)
> ----------------------------------------------------------
> configs tested: 95
>
> alpha defconfig
> parisc allnoconfig
> parisc b180_defconfig
> parisc c3000_defconfig
> parisc defconfig
> i386 randconfig-a0-06031710
> i386 randconfig-a1-06031710
> x86_64 acpi-redef
> x86_64 allyesdebian
> x86_64 nfsroot
> x86_64 allnoconfig
> x86_64 rhel
> sh allnoconfig
> sh rsk7269_defconfig
> sh sh7785lcr_32bit_defconfig
> sh titan_defconfig
> ia64 alldefconfig
> ia64 allnoconfig
> ia64 defconfig
> powerpc allnoconfig
> powerpc defconfig
> powerpc ppc64_defconfig
> i386 alldefconfig
> i386 allmodconfig
> i386 allnoconfig
> i386 defconfig
> mips allnoconfig
> mips fuloong2e_defconfig
> mips jz4740
> mips txx9
> x86_64 randconfig-i0-0603
> x86_64 randconfig-i1-0603
> sparc defconfig
> sparc64 allnoconfig
> sparc64 defconfig
> microblaze mmu_defconfig
> microblaze nommu_defconfig
> i386 randconfig-i0-0603
> i386 randconfig-i1-0603
> i386 allyesconfig
> blackfin BF526-EZBRD_defconfig
> blackfin BF533-EZKIT_defconfig
> blackfin BF561-EZKIT-SMP_defconfig
> blackfin TCM-BF537_defconfig
> cris etrax-100lx_v2_defconfig
> i386 randconfig-n0-0603
> i386 randconfig-n1-0603
> x86_64 lkp
> arm allnoconfig
> arm at91_dt_defconfig
> arm at_hdmac
> arm ep93xx
> arm imx_v6_v7_defconfig
> arm iop-adma
> arm marzen_defconfig
> arm prima2_defconfig
> arm sa1100
> arm samsung
> arm sh
> arm spear13xx_defconfig
> m68k amiga_defconfig
> m68k m5475evb_defconfig
> m68k multi_defconfig
> x86_64 allmodconfig
> x86_64 randconfig-x000-06031659
> x86_64 randconfig-x001-06031659
> x86_64 randconfig-x002-06031659
> x86_64 randconfig-x003-06031659
> x86_64 randconfig-x004-06031659
> x86_64 randconfig-x005-06031659
> x86_64 randconfig-x006-06031659
> x86_64 randconfig-x007-06031659
> x86_64 randconfig-x008-06031659
> x86_64 randconfig-x009-06031659
> i386 randconfig-r0-0603
> i386 randconfig-r1-0603
> avr32 atngw100_defconfig
> avr32 atstk1006_defconfig
> frv defconfig
> mn10300 asb2364_defconfig
> openrisc or1ksim_defconfig
> tile tilegx_defconfig
> um i386_defconfig
> um x86_64_defconfig
> i386 randconfig-x000-06031736
> i386 randconfig-x001-06031736
> i386 randconfig-x002-06031736
> i386 randconfig-x003-06031736
> i386 randconfig-x004-06031736
> i386 randconfig-x005-06031736
> i386 randconfig-x006-06031736
> i386 randconfig-x007-06031736
> i386 randconfig-x008-06031736
> i386 randconfig-x009-06031736
> x86_64 randconfig-x0-06031736
>
> Thanks!
> Gerry
>
> Jiang Liu (48):
> genirq: Clean up outdated comments related to include/linux/irqdesc.h
> genirq: Kill never used irq_node()
> MIPS, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
> irq_desc
> powerpc, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
> irq_desc
> gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> avr32, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
> irq_desc
> mfd: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> ARM, irq: Use irq_desc_get_xxx() to avoid redundant lookup of
> irq_desc
> irqchip: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> ipu: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> sh: intc: Use irq_desc_get_xxx() to avoid redundant lookup of
> irq_desc
> keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of
> irq_data
> spmi: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
> genirq: Kill the parameter 'irq' of kstat_incr_irqs_this_cpu()
> genirq: Introduce helper irq_desc_get_irq()
> genirq: Kill the parameter 'irq' of check_irq_resend()
> genirq: Kill the parameter 'irq' of note_interrupt()
> genirq: Change prototypes of register_irq_proc() and friends
> genirq: Kill the parameter 'irq' of setup_affinity()
> ARM, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> blackfin, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> c6x, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> m68k, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> mips, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> powerpc, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> sh, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> unicore32, irq: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> ipu: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> gpio: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> irqchip: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> mfd: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> PCI/keystone: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> pinctrl: Prepare for killing the first parameter 'irq' of
> irq_flow_handler_t
> genirq: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, arm: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, blackfin: Kill the first parameter 'irq' of
> irq_flow_handler_t
> genirq, powerpc: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, mips: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, m68k: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, x86: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, sh: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, arch: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, pinctrl: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, gpio: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, irqchip: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, mfd: Kill the first parameter 'irq' of irq_flow_handler_t
> genirq, drivers: Kill the first parameter 'irq' of irq_flow_handler_t
>
> arch/alpha/kernel/irq.c | 2 +-
> arch/arm/common/it8152.c | 2 +-
> arch/arm/common/locomo.c | 13 ++---
> arch/arm/common/sa1111.c | 6 +--
> arch/arm/include/asm/hardware/it8152.h | 2 +-
> arch/arm/include/asm/mach/irq.h | 4 +-
> arch/arm/mach-dove/irq.c | 5 +-
> arch/arm/mach-footbridge/isa-irq.c | 4 +-
> arch/arm/mach-gemini/gpio.c | 2 +-
> arch/arm/mach-imx/3ds_debugboard.c | 2 +-
> arch/arm/mach-imx/mach-mx31ads.c | 2 +-
> arch/arm/mach-iop13xx/msi.c | 2 +-
> arch/arm/mach-lpc32xx/irq.c | 4 +-
> arch/arm/mach-netx/generic.c | 2 +-
> arch/arm/mach-omap1/fpga.c | 2 +-
> arch/arm/mach-omap2/prm_common.c | 2 +-
> arch/arm/mach-pxa/balloon3.c | 5 +-
> arch/arm/mach-pxa/cm-x2xx-pci.c | 4 +-
> arch/arm/mach-pxa/lpd270.c | 6 +--
> arch/arm/mach-pxa/pcm990-baseboard.c | 5 +-
> arch/arm/mach-pxa/viper.c | 8 ++-
> arch/arm/mach-pxa/zeus.c | 8 ++-
> arch/arm/mach-rpc/ecard.c | 2 +-
> arch/arm/mach-s3c24xx/bast-irq.c | 3 +-
> arch/arm/mach-s3c64xx/common.c | 8 +--
> arch/arm/mach-sa1100/neponset.c | 2 +-
> arch/arm/plat-orion/gpio.c | 4 +-
> arch/avr32/mach-at32ap/extint.c | 2 +-
> arch/avr32/mach-at32ap/pio.c | 4 +-
> arch/blackfin/include/asm/irq_handler.h | 4 +-
> arch/blackfin/kernel/ipipe.c | 4 +-
> arch/blackfin/mach-bf537/ints-priority.c | 8 ++-
> arch/blackfin/mach-common/ints-priority.c | 8 ++-
> arch/c6x/platforms/megamod-pic.c | 9 ++--
> arch/m68k/amiga/amiints.c | 8 +--
> arch/m68k/coldfire/intc-5272.c | 4 +-
> arch/m68k/include/asm/irq.h | 3 +-
> arch/m68k/include/asm/mac_via.h | 2 +-
> arch/m68k/mac/baboon.c | 2 +-
> arch/m68k/mac/oss.c | 4 +-
> arch/m68k/mac/psc.c | 3 +-
> arch/m68k/mac/via.c | 6 +--
> arch/mips/alchemy/common/irq.c | 4 +-
> arch/mips/alchemy/devboards/bcsr.c | 3 +-
> arch/mips/ath25/ar2315.c | 4 +-
> arch/mips/ath25/ar5312.c | 4 +-
> arch/mips/ath79/irq.c | 11 ++--
> arch/mips/cavium-octeon/octeon-irq.c | 12 +++--
> arch/mips/include/asm/netlogic/common.h | 4 +-
> arch/mips/jz4740/gpio.c | 2 +-
> arch/mips/netlogic/common/smp.c | 4 +-
> arch/mips/pci/pci-ar2315.c | 4 +-
> arch/mips/pci/pci-ar71xx.c | 4 +-
> arch/mips/pci/pci-ar724x.c | 4 +-
> arch/mips/pci/pci-rt3883.c | 8 ++-
> arch/mips/ralink/irq.c | 4 +-
> arch/powerpc/include/asm/qe_ic.h | 23 ++++----
> arch/powerpc/include/asm/tsi108_pci.h | 2 +-
> arch/powerpc/platforms/512x/mpc5121_ads_cpld.c | 4 +-
> arch/powerpc/platforms/52xx/media5200.c | 2 +-
> arch/powerpc/platforms/52xx/mpc52xx_gpt.c | 4 +-
> arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 2 +-
> arch/powerpc/platforms/85xx/common.c | 2 +-
> arch/powerpc/platforms/85xx/mpc85xx_cds.c | 5 +-
> arch/powerpc/platforms/85xx/mpc85xx_ds.c | 2 +-
> arch/powerpc/platforms/85xx/socrates_fpga_pic.c | 4 +-
> arch/powerpc/platforms/86xx/pic.c | 2 +-
> arch/powerpc/platforms/8xx/m8xx_setup.c | 2 +-
> arch/powerpc/platforms/cell/axon_msi.c | 4 +-
> arch/powerpc/platforms/cell/interrupt.c | 3 +-
> arch/powerpc/platforms/cell/spider-pic.c | 2 +-
> arch/powerpc/platforms/chrp/setup.c | 2 +-
> arch/powerpc/platforms/embedded6xx/hlwd-pic.c | 5 +-
> arch/powerpc/platforms/embedded6xx/mvme5100.c | 2 +-
> arch/powerpc/platforms/pseries/setup.c | 2 +-
> arch/powerpc/sysdev/ge/ge_pic.c | 2 +-
> arch/powerpc/sysdev/ge/ge_pic.h | 2 +-
> arch/powerpc/sysdev/mpic.c | 2 +-
> arch/powerpc/sysdev/qe_lib/qe_ic.c | 4 +-
> arch/powerpc/sysdev/tsi108_pci.c | 2 +-
> arch/powerpc/sysdev/uic.c | 4 +-
> arch/powerpc/sysdev/xics/xics-common.c | 2 +-
> arch/powerpc/sysdev/xilinx_intc.c | 2 +-
> arch/sh/boards/mach-se/7343/irq.c | 4 +-
> arch/sh/boards/mach-se/7722/irq.c | 4 +-
> arch/sh/boards/mach-se/7724/irq.c | 4 +-
> arch/sh/boards/mach-x3proto/gpio.c | 4 +-
> arch/sh/cchips/hd6446x/hd64461.c | 2 +-
> arch/sparc/kernel/leon_kernel.c | 2 +-
> arch/sparc/kernel/leon_pci_grpci1.c | 2 +-
> arch/sparc/kernel/leon_pci_grpci2.c | 2 +-
> arch/tile/kernel/pci_gx.c | 4 +-
> arch/unicore32/kernel/irq.c | 5 +-
> arch/x86/kernel/irq_32.c | 13 +++--
> arch/x86/kernel/irq_64.c | 2 +-
> arch/x86/lguest/boot.c | 2 +-
> drivers/dma/ipu/ipu_irq.c | 8 +--
> drivers/gpio/gpio-altera.c | 6 +--
> drivers/gpio/gpio-bcm-kona.c | 4 +-
> drivers/gpio/gpio-davinci.c | 3 +-
> drivers/gpio/gpio-dwapb.c | 4 +-
> drivers/gpio/gpio-ep93xx.c | 5 +-
> drivers/gpio/gpio-intel-mid.c | 2 +-
> drivers/gpio/gpio-lynxpoint.c | 2 +-
> drivers/gpio/gpio-mpc8xxx.c | 2 +-
> drivers/gpio/gpio-msic.c | 2 +-
> drivers/gpio/gpio-msm-v2.c | 2 +-
> drivers/gpio/gpio-mvebu.c | 4 +-
> drivers/gpio/gpio-mxc.c | 10 ++--
> drivers/gpio/gpio-mxs.c | 4 +-
> drivers/gpio/gpio-omap.c | 4 +-
> drivers/gpio/gpio-pl061.c | 2 +-
> drivers/gpio/gpio-pxa.c | 2 +-
> drivers/gpio/gpio-sa1100.c | 5 +-
> drivers/gpio/gpio-tegra.c | 6 +--
> drivers/gpio/gpio-timberdale.c | 7 +--
> drivers/gpio/gpio-tz1090.c | 4 +-
> drivers/gpio/gpio-vf610.c | 4 +-
> drivers/gpio/gpio-zynq.c | 4 +-
> drivers/gpu/ipu-v3/ipu-common.c | 8 +--
> drivers/irqchip/exynos-combiner.c | 8 +--
> drivers/irqchip/irq-armada-370-xp.c | 5 +-
> drivers/irqchip/irq-bcm7038-l1.c | 2 +-
> drivers/irqchip/irq-bcm7120-l2.c | 2 +-
> drivers/irqchip/irq-brcmstb-l2.c | 7 +--
> drivers/irqchip/irq-dw-apb-ictl.c | 6 +--
> drivers/irqchip/irq-gic.c | 6 +--
> drivers/irqchip/irq-imgpdc.c | 5 +-
> drivers/irqchip/irq-keystone.c | 6 +--
> drivers/irqchip/irq-metag-ext.c | 3 +-
> drivers/irqchip/irq-metag.c | 3 +-
> drivers/irqchip/irq-mips-gic.c | 2 +-
> drivers/irqchip/irq-mmp.c | 3 +-
> drivers/irqchip/irq-orion.c | 4 +-
> drivers/irqchip/irq-s3c24xx.c | 6 +--
> drivers/irqchip/irq-sunxi-nmi.c | 4 +-
> drivers/irqchip/irq-tb10x.c | 4 +-
> drivers/irqchip/irq-versatile-fpga.c | 6 +--
> drivers/irqchip/irq-vic.c | 2 +-
> drivers/irqchip/spear-shirq.c | 4 +-
> drivers/mfd/asic3.c | 2 +-
> drivers/mfd/ezx-pcap.c | 4 +-
> drivers/mfd/htc-egpio.c | 2 +-
> drivers/mfd/jz4740-adc.c | 2 +-
> drivers/mfd/max8997-irq.c | 8 +--
> drivers/mfd/mt6397-core.c | 8 +--
> drivers/mfd/pm8921-core.c | 2 +-
> drivers/mfd/t7l66xb.c | 4 +-
> drivers/mfd/tc6393xb.c | 4 +-
> drivers/mfd/twl6030-irq.c | 2 +-
> drivers/mfd/ucb1x00-core.c | 4 +-
> drivers/pci/host/pci-keystone-dw.c | 15 +++---
> drivers/pci/host/pci-keystone.c | 7 +--
> drivers/pinctrl/bcm/pinctrl-cygnus-gpio.c | 2 +-
> drivers/pinctrl/intel/pinctrl-baytrail.c | 2 +-
> drivers/pinctrl/intel/pinctrl-cherryview.c | 4 +-
> drivers/pinctrl/intel/pinctrl-intel.c | 4 +-
> drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 6 +--
> drivers/pinctrl/nomadik/pinctrl-nomadik.c | 14 +++--
> drivers/pinctrl/pinctrl-adi2.c | 3 +-
> drivers/pinctrl/pinctrl-amd.c | 8 +--
> drivers/pinctrl/pinctrl-at91.c | 4 +-
> drivers/pinctrl/pinctrl-coh901.c | 7 +--
> drivers/pinctrl/pinctrl-rockchip.c | 8 +--
> drivers/pinctrl/pinctrl-single.c | 4 +-
> drivers/pinctrl/pinctrl-st.c | 10 ++--
> drivers/pinctrl/qcom/pinctrl-msm.c | 6 +--
> drivers/pinctrl/samsung/pinctrl-exynos.c | 12 ++---
> drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 26 ++++-----
> drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 32 ++++++-----
> drivers/pinctrl/sirf/pinctrl-sirf.c | 7 +--
> drivers/pinctrl/spear/pinctrl-plgpio.c | 2 +-
> drivers/pinctrl/sunxi/pinctrl-sunxi.c | 7 +--
> drivers/sh/intc/core.c | 4 +-
> drivers/sh/intc/virq.c | 18 ++++---
> drivers/spmi/spmi-pmic-arb.c | 6 +--
> include/linux/irq.h | 20 ++++---
> include/linux/irqdesc.h | 12 +++--
> include/linux/irqhandler.h | 2 +-
> include/linux/irqnr.h | 6 ---
> kernel/irq/chip.c | 44 +++++++--------
> kernel/irq/handle.c | 8 +--
> kernel/irq/internals.h | 29 +++++-----
> kernel/irq/irqdesc.c | 6 +--
> kernel/irq/manage.c | 66 ++++++++++++-----------
> kernel/irq/pm.c | 12 ++---
> kernel/irq/proc.c | 16 +++---
> kernel/irq/resend.c | 4 +-
> kernel/irq/spurious.c | 33 ++++++------
> 189 files changed, 543 insertions(+), 565 deletions(-)
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 860 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150605/415101c9/attachment.sig>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
2015-06-05 0:22 ` Daniel Axtens
@ 2015-06-05 1:15 ` Jiang Liu
0 siblings, 0 replies; 30+ messages in thread
From: Jiang Liu @ 2015-06-05 1:15 UTC (permalink / raw)
To: linux-arm-kernel
On 2015/6/5 8:22, Daniel Axtens wrote:
> Hi Gerry,
>
> You seem to be missing the links where I can grab this patch set from,
> as indicated below. Is there somewhere I can pull this from to make it a
> bit easier for me to build?
Hi Daniel,
Yeah, sorry. You may pull from:
https://github.com/jiangliu/linux.git genirq_v2
Thanks!
Gerry
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 06/48] pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
@ 2015-06-05 3:06 ` Tomasz Figa
2015-06-10 8:39 ` Heiko Stübner
2015-06-10 10:29 ` Matthias Brugger
2 siblings, 0 replies; 30+ messages in thread
From: Tomasz Figa @ 2015-06-05 3:06 UTC (permalink / raw)
To: linux-arm-kernel
Hi,
2015-06-04 13:13 GMT+09:00 Jiang Liu <jiang.liu@linux.intel.com>:
> Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
> already have a pointer to corresponding irq_desc.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> drivers/pinctrl/intel/pinctrl-cherryview.c | 2 +-
> drivers/pinctrl/intel/pinctrl-intel.c | 2 +-
> drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 ++--
> drivers/pinctrl/nomadik/pinctrl-nomadik.c | 12 +++++-------
> drivers/pinctrl/pinctrl-amd.c | 2 +-
> drivers/pinctrl/pinctrl-at91.c | 2 +-
> drivers/pinctrl/pinctrl-coh901.c | 4 ++--
> drivers/pinctrl/pinctrl-rockchip.c | 4 ++--
> drivers/pinctrl/pinctrl-single.c | 2 +-
> drivers/pinctrl/pinctrl-st.c | 6 +++---
> drivers/pinctrl/qcom/pinctrl-msm.c | 2 +-
> drivers/pinctrl/samsung/pinctrl-exynos.c | 8 ++++----
> drivers/pinctrl/samsung/pinctrl-s3c24xx.c | 18 +++++++++---------
> drivers/pinctrl/samsung/pinctrl-s3c64xx.c | 22 ++++++++++------------
For Samsung stuff:
Acked-by: Tomasz Figa <tomasz.figa@gmail.com>
Best regards,
Tomasz
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 00/48] Refine irq interfaces to reduce number of parameters
2015-06-04 6:59 ` [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Geert Uytterhoeven
2015-06-04 7:23 ` Jiang Liu
@ 2015-06-05 3:53 ` Fengguang Wu
1 sibling, 0 replies; 30+ messages in thread
From: Fengguang Wu @ 2015-06-05 3:53 UTC (permalink / raw)
To: linux-arm-kernel
> > The patch set passes Fengguang's 0day test suites as below. And tests
> > with other platforms and configurations will be appreciated:)
> > ----------------------------------------------------------
> > configs tested: 95
>
> [...]
>
> > m68k amiga_defconfig
> > m68k m5475evb_defconfig
> > m68k multi_defconfig
>
> For Fengguang: amiga_defconfig is a subset of multi_defconfig.
> But sun3_defconfig is distinct, as Sun-3 has a different MMU and thus support
> for it cannot be included in multi-platform kernels.
> So I think you better replace amiga_defconfig by sun3_defconfig for build tests.
Got it and changed the code accordingly, thank you for the suggestion!
Thanks,
Fengguang
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 34/48] pinctrl: Prepare for killing the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 34/48] pinctrl: " Jiang Liu
@ 2015-06-10 8:39 ` Heiko Stübner
2015-06-10 13:14 ` Linus Walleij
1 sibling, 0 replies; 30+ messages in thread
From: Heiko Stübner @ 2015-06-10 8:39 UTC (permalink / raw)
To: linux-arm-kernel
Am Donnerstag, 4. Juni 2015, 12:13:44 schrieb Jiang Liu:
> Change irq flow handler to prepare for killing the first parameter 'irq'
> of irq_flow_handler_t.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> ---
> drivers/pinctrl/pinctrl-rockchip.c | 4 ++--
For Rockchip
Acked-by: Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 06/48] pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
2015-06-05 3:06 ` Tomasz Figa
@ 2015-06-10 8:39 ` Heiko Stübner
2015-06-10 10:29 ` Matthias Brugger
2 siblings, 0 replies; 30+ messages in thread
From: Heiko Stübner @ 2015-06-10 8:39 UTC (permalink / raw)
To: linux-arm-kernel
Am Donnerstag, 4. Juni 2015, 12:13:16 schrieb Jiang Liu:
> Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
> already have a pointer to corresponding irq_desc.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> ---
> drivers/pinctrl/pinctrl-rockchip.c | 4 ++--
For Rockchip
Acked-by: Heiko Stuebner <heiko@sntech.de>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 06/48] pinctrl: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
2015-06-05 3:06 ` Tomasz Figa
2015-06-10 8:39 ` Heiko Stübner
@ 2015-06-10 10:29 ` Matthias Brugger
2 siblings, 0 replies; 30+ messages in thread
From: Matthias Brugger @ 2015-06-10 10:29 UTC (permalink / raw)
To: linux-arm-kernel
2015-06-04 6:13 GMT+02:00 Jiang Liu <jiang.liu@linux.intel.com>:
> Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we
> already have a pointer to corresponding irq_desc.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
> Acked-by: Linus Walleij <linus.walleij@linaro.org>
> ---
[...]
> drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 4 ++--
For the changes in pinctrl-mtk-common.c:
Acked-by: Matthias Brugger <matthias.brugger@gmail.com>
^ permalink raw reply [flat|nested] 30+ messages in thread
* [RFT v2 34/48] pinctrl: Prepare for killing the first parameter 'irq' of irq_flow_handler_t
2015-06-04 4:13 ` [RFT v2 34/48] pinctrl: " Jiang Liu
2015-06-10 8:39 ` Heiko Stübner
@ 2015-06-10 13:14 ` Linus Walleij
1 sibling, 0 replies; 30+ messages in thread
From: Linus Walleij @ 2015-06-10 13:14 UTC (permalink / raw)
To: linux-arm-kernel
On Thu, Jun 4, 2015 at 6:13 AM, Jiang Liu <jiang.liu@linux.intel.com> wrote:
> Change irq flow handler to prepare for killing the first parameter 'irq'
> of irq_flow_handler_t.
>
> Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 30+ messages in thread
end of thread, other threads:[~2015-06-10 13:14 UTC | newest]
Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-04 4:13 [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Jiang Liu
2015-06-04 4:13 ` [RFT v2 05/48] gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc Jiang Liu
2015-06-04 6:20 ` Javier Martinez Canillas
2015-06-04 4:13 ` [RFT v2 06/48] pinctrl: " Jiang Liu
2015-06-05 3:06 ` Tomasz Figa
2015-06-10 8:39 ` Heiko Stübner
2015-06-10 10:29 ` Matthias Brugger
2015-06-04 4:13 ` [RFT v2 09/48] ARM, irq: " Jiang Liu
2015-06-04 4:13 ` [RFT v2 10/48] irqchip: " Jiang Liu
2015-06-04 4:50 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 13/48] keystone, irq: Use irq_data_get_xxx() to avoid redundant lookup of irq_data Jiang Liu
2015-06-04 4:13 ` [RFT v2 21/48] ARM, irq: Prepare for killing the first parameter 'irq' of irq_flow_handler_t Jiang Liu
2015-06-04 4:13 ` [RFT v2 33/48] PCI/keystone: " Jiang Liu
2015-06-04 4:13 ` [RFT v2 34/48] pinctrl: " Jiang Liu
2015-06-10 8:39 ` Heiko Stübner
2015-06-10 13:14 ` Linus Walleij
2015-06-04 4:13 ` [RFT v2 36/48] genirq, arm: Kill " Jiang Liu
2015-06-04 4:52 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 38/48] genirq, powerpc: " Jiang Liu
2015-06-04 4:13 ` [RFT v2 45/48] genirq, gpio: " Jiang Liu
2015-06-04 6:20 ` Javier Martinez Canillas
2015-06-04 11:28 ` Linus Walleij
2015-06-04 4:13 ` [RFT v2 46/48] genirq, irqchip: " Jiang Liu
2015-06-04 4:52 ` Krzysztof Kozlowski
2015-06-04 4:13 ` [RFT v2 48/48] genirq, drivers: " Jiang Liu
2015-06-04 6:59 ` [RFT v2 00/48] Refine irq interfaces to reduce number of parameters Geert Uytterhoeven
2015-06-04 7:23 ` Jiang Liu
2015-06-05 3:53 ` Fengguang Wu
2015-06-05 0:22 ` Daniel Axtens
2015-06-05 1:15 ` Jiang Liu
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).