linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] irqchip init infrastructure and GIC/VIC move
@ 2013-01-12 17:37 Rob Herring
  2013-01-15  3:56 ` Olof Johansson
  0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring @ 2013-01-12 17:37 UTC (permalink / raw)
  To: arm
  Cc: Thomas Gleixner, Thomas Petazzoni, linux-arm-kernel,
	linux-kernel, Russell King - ARM Linux

Arnd, Olof,

Please pull for 3.9. This is the initial infrastructure and conversion
of the GIC and VIC to use it. Several people are waiting for the irqchip 
infrastructure to go in in order to convert other irqchip code over.

I've left "static asmlinkage" in on the irq handlers. There's been no 
more discussion, so I think we are in agreement. If asmlinkage defines 
the procedure call convention for assembly calls, then it still makes 
sense to have it on a static function called thru a function pointer.

Rob 

The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:

  Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)

are available in the git repository at:

  git://sources.calxeda.com/kernel/linux.git tags/gic-vic-to-irqchip

for you to fetch changes up to 9e47b8bf9815523a5816f2f83e73b13812d74014:

  irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h (2013-01-12 10:52:16 -0600)

----------------------------------------------------------------
Initial irqchip init infrastructure and GIC and VIC clean-ups

This creates irqchip initialization infrastructure from Thomas
Petazzoni. The VIC and GIC irqchip code is moved to drivers/irqchips
and adapted to use the new infrastructure. All DT enabled platforms
using GIC and VIC are converted over to use the new irqchip_init.

----------------------------------------------------------------
Rob Herring (16):
      ARM: GIC: remove assembly ifdefs from gic.h
      ARM: GIC: remove direct use of gic_raise_softirq
      ARM: GIC: set handle_arch_irq in GIC initialization
      ARM: remove mach .handle_irq for GIC users
      irqchip: Move ARM GIC to drivers/irqchip
      ARM: use common irqchip_init for GIC init
      irqchip: Move ARM gic.h to include/linux/irqchip/arm-gic.h
      ARM: VIC: shrink down vic.h
      ARM: VIC: set handle_arch_irq in VIC initialization
      ARM: remove mach .handle_irq for VIC users
      ARM: remove unneeded vic.h includes
      ARM: samsung: remove unused tick.h
      irqchip: Move ARM VIC to drivers/irqchip
      ARM: spear: use common irqchip_init function
      ARM: picoxcell: use common irqchip_init function
      irqchip: Move ARM vic.h to include/linux/irqchip/arm-vic.h

Srinidhi Kasagar (1):
      ARM: mach-ux500: use SGI0 to wake up the other core

Thomas Petazzoni (3):
      irqchip: add to the directories part of the IRQ subsystem in MAINTAINERS
      irqchip: add basic infrastructure
      arm: add set_handle_irq() to register the parent IRQ controller handler function

 MAINTAINERS                                        |    1 +
 arch/arm/common/Kconfig                            |   23 -----
 arch/arm/common/Makefile                           |    2 -
 arch/arm/include/asm/mach/irq.h                    |    1 +
 arch/arm/kernel/irq.c                              |   10 +++
 arch/arm/kernel/smp.c                              |    3 +-
 arch/arm/kernel/smp_twd.c                          |    1 -
 arch/arm/mach-bcm/board_bcm.c                      |   17 +---
 arch/arm/mach-cns3xxx/cns3420vb.c                  |    2 -
 arch/arm/mach-cns3xxx/core.c                       |    2 +-
 arch/arm/mach-ep93xx/adssphere.c                   |    2 -
 arch/arm/mach-ep93xx/core.c                        |    3 +-
 arch/arm/mach-ep93xx/edb93xx.c                     |    9 --
 arch/arm/mach-ep93xx/gesbc9312.c                   |    2 -
 arch/arm/mach-ep93xx/micro9.c                      |    5 --
 arch/arm/mach-ep93xx/simone.c                      |    2 -
 arch/arm/mach-ep93xx/snappercl15.c                 |    2 -
 arch/arm/mach-ep93xx/ts72xx.c                      |    2 -
 arch/arm/mach-ep93xx/vision_ep9307.c               |    2 -
 arch/arm/mach-exynos/common.c                      |   10 ++-
 arch/arm/mach-exynos/include/mach/regs-irq.h       |    2 +-
 arch/arm/mach-exynos/mach-armlex4210.c             |    2 -
 arch/arm/mach-exynos/mach-exynos4-dt.c             |    2 -
 arch/arm/mach-exynos/mach-exynos5-dt.c             |    2 -
 arch/arm/mach-exynos/mach-nuri.c                   |    2 -
 arch/arm/mach-exynos/mach-origen.c                 |    2 -
 arch/arm/mach-exynos/mach-smdk4x12.c               |    3 -
 arch/arm/mach-exynos/mach-smdkv310.c               |    3 -
 arch/arm/mach-exynos/mach-universal_c210.c         |    2 -
 arch/arm/mach-exynos/mct.c                         |    1 -
 arch/arm/mach-exynos/platsmp.c                     |    6 +-
 arch/arm/mach-highbank/highbank.c                  |   11 +--
 arch/arm/mach-highbank/platsmp.c                   |    6 +-
 arch/arm/mach-imx/common.h                         |    1 -
 arch/arm/mach-imx/gpc.c                            |    2 +-
 arch/arm/mach-imx/mach-imx6q.c                     |   10 +--
 arch/arm/mach-imx/platsmp.c                        |    4 +-
 arch/arm/mach-msm/board-dt-8660.c                  |   16 +---
 arch/arm/mach-msm/board-dt-8960.c                  |   16 +---
 arch/arm/mach-msm/platsmp.c                        |    6 +-
 arch/arm/mach-msm/timer.c                          |    1 -
 arch/arm/mach-netx/generic.c                       |    2 +-
 arch/arm/mach-netx/nxdb500.c                       |    2 -
 arch/arm/mach-netx/nxdkn.c                         |    2 -
 arch/arm/mach-netx/nxeb500hmi.c                    |    2 -
 arch/arm/mach-nomadik/board-nhk8815.c              |    2 -
 arch/arm/mach-nomadik/cpu-8815.c                   |    2 +-
 arch/arm/mach-omap2/board-4430sdp.c                |    3 +-
 arch/arm/mach-omap2/board-generic.c                |    3 -
 arch/arm/mach-omap2/board-omap4panda.c             |    3 +-
 arch/arm/mach-omap2/omap-smp.c                     |    6 +-
 arch/arm/mach-omap2/omap-wakeupgen.c               |    3 +-
 arch/arm/mach-omap2/omap4-common.c                 |   11 +--
 arch/arm/mach-picoxcell/common.c                   |   15 +---
 arch/arm/mach-realview/core.c                      |    1 -
 arch/arm/mach-realview/platsmp.c                   |    3 -
 arch/arm/mach-realview/realview_eb.c               |    3 +-
 arch/arm/mach-realview/realview_pb1176.c           |    3 +-
 arch/arm/mach-realview/realview_pb11mp.c           |    3 +-
 arch/arm/mach-realview/realview_pba8.c             |    3 +-
 arch/arm/mach-realview/realview_pbx.c              |    3 +-
 arch/arm/mach-s3c64xx/common.c                     |    2 +-
 arch/arm/mach-s3c64xx/include/mach/regs-irq.h      |    1 -
 arch/arm/mach-s3c64xx/include/mach/tick.h          |    2 +
 arch/arm/mach-s3c64xx/mach-anw6410.c               |    2 -
 arch/arm/mach-s3c64xx/mach-crag6410.c              |    2 -
 arch/arm/mach-s3c64xx/mach-hmt.c                   |    2 -
 arch/arm/mach-s3c64xx/mach-mini6410.c              |    2 -
 arch/arm/mach-s3c64xx/mach-ncp.c                   |    2 -
 arch/arm/mach-s3c64xx/mach-real6410.c              |    2 -
 arch/arm/mach-s3c64xx/mach-smartq5.c               |    2 -
 arch/arm/mach-s3c64xx/mach-smartq7.c               |    2 -
 arch/arm/mach-s3c64xx/mach-smdk6400.c              |    2 -
 arch/arm/mach-s3c64xx/mach-smdk6410.c              |    2 -
 arch/arm/mach-s5p64x0/include/mach/regs-irq.h      |    1 -
 arch/arm/mach-s5p64x0/include/mach/tick.h          |   29 ------
 arch/arm/mach-s5p64x0/mach-smdk6440.c              |    2 -
 arch/arm/mach-s5p64x0/mach-smdk6450.c              |    2 -
 arch/arm/mach-s5pc100/include/mach/regs-irq.h      |    1 -
 arch/arm/mach-s5pc100/include/mach/tick.h          |    2 +
 arch/arm/mach-s5pc100/mach-smdkc100.c              |    2 -
 arch/arm/mach-s5pv210/include/mach/regs-irq.h      |    1 -
 arch/arm/mach-s5pv210/include/mach/tick.h          |   26 ------
 arch/arm/mach-s5pv210/mach-aquila.c                |    2 -
 arch/arm/mach-s5pv210/mach-goni.c                  |    2 -
 arch/arm/mach-s5pv210/mach-smdkc110.c              |    2 -
 arch/arm/mach-s5pv210/mach-smdkv210.c              |    2 -
 arch/arm/mach-s5pv210/mach-torbreck.c              |    2 -
 arch/arm/mach-shmobile/board-ag5evm.c              |    3 +-
 arch/arm/mach-shmobile/board-kota2.c               |    3 +-
 arch/arm/mach-shmobile/board-kzm9d.c               |    2 -
 arch/arm/mach-shmobile/board-kzm9g.c               |    3 +-
 arch/arm/mach-shmobile/board-marzen.c              |    2 -
 arch/arm/mach-shmobile/intc-r8a7779.c              |    2 +-
 arch/arm/mach-shmobile/intc-sh73a0.c               |    2 +-
 arch/arm/mach-shmobile/platsmp.c                   |    3 -
 arch/arm/mach-shmobile/setup-emev2.c               |   17 +---
 arch/arm/mach-shmobile/smp-emev2.c                 |    4 +-
 arch/arm/mach-shmobile/smp-r8a7779.c               |    2 +-
 arch/arm/mach-shmobile/smp-sh73a0.c                |    2 +-
 arch/arm/mach-socfpga/platsmp.c                    |    4 +-
 arch/arm/mach-socfpga/socfpga.c                    |   14 +--
 arch/arm/mach-spear13xx/include/mach/generic.h     |    1 -
 arch/arm/mach-spear13xx/platsmp.c                  |    4 +-
 arch/arm/mach-spear13xx/spear1310.c                |    5 +-
 arch/arm/mach-spear13xx/spear1340.c                |    5 +-
 arch/arm/mach-spear13xx/spear13xx.c                |   13 +--
 arch/arm/mach-spear3xx/include/mach/generic.h      |    1 -
 arch/arm/mach-spear3xx/spear300.c                  |    5 +-
 arch/arm/mach-spear3xx/spear310.c                  |    5 +-
 arch/arm/mach-spear3xx/spear320.c                  |    5 +-
 arch/arm/mach-spear3xx/spear3xx.c                  |   16 ----
 arch/arm/mach-spear6xx/spear6xx.c                  |   16 +---
 arch/arm/mach-sunxi/sunxi.c                        |    2 -
 arch/arm/mach-tegra/board-dt-tegra20.c             |    3 -
 arch/arm/mach-tegra/board-dt-tegra30.c             |    2 -
 arch/arm/mach-tegra/common.c                       |   10 +--
 arch/arm/mach-tegra/irq.c                          |    3 +-
 arch/arm/mach-tegra/platsmp.c                      |    4 +-
 arch/arm/mach-u300/core.c                          |    3 +-
 arch/arm/mach-ux500/board-mop500.c                 |    5 --
 arch/arm/mach-ux500/cpu-db8500.c                   |    2 -
 arch/arm/mach-ux500/cpu.c                          |   10 +--
 arch/arm/mach-ux500/platsmp.c                      |    6 +-
 arch/arm/mach-versatile/core.c                     |    2 +-
 arch/arm/mach-versatile/versatile_ab.c             |    2 -
 arch/arm/mach-versatile/versatile_dt.c             |    2 -
 arch/arm/mach-versatile/versatile_pb.c             |    2 -
 arch/arm/mach-vexpress/ct-ca9x4.c                  |    4 +-
 arch/arm/mach-vexpress/platsmp.c                   |    3 -
 arch/arm/mach-vexpress/v2m.c                       |   16 +---
 arch/arm/mach-zynq/common.c                        |   17 +---
 arch/arm/plat-samsung/s5p-irq-eint.c               |    3 +-
 arch/arm/plat-samsung/s5p-irq.c                    |    3 +-
 arch/arm/plat-versatile/platsmp.c                  |    4 +-
 drivers/irqchip/Kconfig                            |   27 ++++++
 drivers/irqchip/Makefile                           |    6 +-
 arch/arm/common/gic.c => drivers/irqchip/irq-gic.c |   59 +++++++-----
 arch/arm/common/vic.c => drivers/irqchip/irq-vic.c |   95 ++++++++++++--------
 drivers/irqchip/irqchip.c                          |   30 +++++++
 drivers/irqchip/irqchip.h                          |   29 ++++++
 drivers/irqchip/spear-shirq.c                      |    5 ++
 drivers/mfd/db8500-prcmu.c                         |    2 +-
 include/asm-generic/vmlinux.lds.h                  |   12 ++-
 include/linux/irqchip.h                            |   16 ++++
 .../gic.h => include/linux/irqchip/arm-gic.h       |   15 +---
 .../vic.h => include/linux/irqchip/arm-vic.h       |   25 +-----
 147 files changed, 338 insertions(+), 607 deletions(-)
 delete mode 100644 arch/arm/mach-s5p64x0/include/mach/tick.h
 delete mode 100644 arch/arm/mach-s5pv210/include/mach/tick.h
 rename arch/arm/common/gic.c => drivers/irqchip/irq-gic.c (97%)
 rename arch/arm/common/vic.c => drivers/irqchip/irq-vic.c (92%)
 create mode 100644 drivers/irqchip/irqchip.c
 create mode 100644 drivers/irqchip/irqchip.h
 create mode 100644 include/linux/irqchip.h
 rename arch/arm/include/asm/hardware/gic.h => include/linux/irqchip/arm-gic.h (77%)
 rename arch/arm/include/asm/hardware/vic.h => include/linux/irqchip/arm-vic.h (63%)

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] irqchip init infrastructure and GIC/VIC move
  2013-01-12 17:37 [GIT PULL] irqchip init infrastructure and GIC/VIC move Rob Herring
@ 2013-01-15  3:56 ` Olof Johansson
  2013-01-16  7:17   ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Olof Johansson @ 2013-01-15  3:56 UTC (permalink / raw)
  To: Rob Herring
  Cc: arm, Thomas Gleixner, Thomas Petazzoni, linux-arm-kernel,
	linux-kernel, Russell King - ARM Linux

On Sat, Jan 12, 2013 at 9:37 AM, Rob Herring <robherring2@gmail.com> wrote:
> Arnd, Olof,
>
> Please pull for 3.9. This is the initial infrastructure and conversion
> of the GIC and VIC to use it. Several people are waiting for the irqchip
> infrastructure to go in in order to convert other irqchip code over.
>
> I've left "static asmlinkage" in on the irq handlers. There's been no
> more discussion, so I think we are in agreement. If asmlinkage defines
> the procedure call convention for assembly calls, then it still makes
> sense to have it on a static function called thru a function pointer.
>
> Rob
>
> The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:
>
>   Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)
>
> are available in the git repository at:
>
>   git://sources.calxeda.com/kernel/linux.git tags/gic-vic-to-irqchip

Ugh. This conflicts heavily with the timer cleanup from Stephen, due
to adjacent changes in the machine descriptors.

I fixed them up, but I would appreciate a second glance at them for
sanity checking.


-Olof

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [GIT PULL] irqchip init infrastructure and GIC/VIC move
  2013-01-15  3:56 ` Olof Johansson
@ 2013-01-16  7:17   ` Rob Herring
  0 siblings, 0 replies; 3+ messages in thread
From: Rob Herring @ 2013-01-16  7:17 UTC (permalink / raw)
  To: Olof Johansson
  Cc: arm, Thomas Gleixner, Thomas Petazzoni, linux-arm-kernel,
	linux-kernel, Russell King - ARM Linux

On 01/14/2013 09:56 PM, Olof Johansson wrote:
> On Sat, Jan 12, 2013 at 9:37 AM, Rob Herring <robherring2@gmail.com> wrote:
>> Arnd, Olof,
>>
>> Please pull for 3.9. This is the initial infrastructure and conversion
>> of the GIC and VIC to use it. Several people are waiting for the irqchip
>> infrastructure to go in in order to convert other irqchip code over.
>>
>> I've left "static asmlinkage" in on the irq handlers. There's been no
>> more discussion, so I think we are in agreement. If asmlinkage defines
>> the procedure call convention for assembly calls, then it still makes
>> sense to have it on a static function called thru a function pointer.
>>
>> Rob
>>
>> The following changes since commit 9931faca02c604c22335f5a935a501bb2ace6e20:
>>
>>   Linux 3.8-rc3 (2013-01-09 18:59:55 -0800)
>>
>> are available in the git repository at:
>>
>>   git://sources.calxeda.com/kernel/linux.git tags/gic-vic-to-irqchip
> 
> Ugh. This conflicts heavily with the timer cleanup from Stephen, due
> to adjacent changes in the machine descriptors.
> 
> I fixed them up, but I would appreciate a second glance at them for
> sanity checking.

Sorry about that. It all looks correct to me.

Rob


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-01-16  7:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-12 17:37 [GIT PULL] irqchip init infrastructure and GIC/VIC move Rob Herring
2013-01-15  3:56 ` Olof Johansson
2013-01-16  7:17   ` Rob Herring

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).