Thread (15 messages) 15 messages, 5 authors, 2012-10-31
STALE4965d
Revisions (7)
  1. v1 [diff vs current]
  2. v1 [diff vs current]
  3. v1 [diff vs current]
  4. v1 current
  5. v2 [diff vs current]
  6. v2 [diff vs current]
  7. v4 [diff vs current]

[PATCH 1/3] irqchip: Move ARM GIC to drivers/irqchip

From: Rob Herring <hidden>
Date: 2012-10-30 17:21:20

On 10/30/2012 11:05 AM, Rob Herring wrote:
On 10/30/2012 10:01 AM, Thomas Petazzoni wrote:
quoted
Rob,

On Tue, 30 Oct 2012 09:54:18 -0500, Rob Herring wrote:
quoted
From: Rob Herring <redacted>

Now that we have drivers/irqchip, move GIC irqchip to drivers/irqchip. This
is necessary to share the GIC with arm and arm64.

Signed-off-by: Rob Herring <redacted>
Cc: Russell King <redacted>
Cc: Thomas Gleixner <redacted>
---
 arch/arm/common/Kconfig                            |    8 --------
 arch/arm/common/Makefile                           |    1 -
 drivers/irqchip/Kconfig                            |    8 ++++++++
 drivers/irqchip/Makefile                           |    1 +
 arch/arm/common/gic.c => drivers/irqchip/irq-gic.c |    0
 drivers/irqchip/irqchip.c                          |   10 ++++++++++
 drivers/irqchip/irqchip.h                          |    1 +
 7 files changed, 20 insertions(+), 9 deletions(-)
What about arch/arm/include/asm/hardware/gic.h ?

Contrary to the current version of the bcm2835 IRQ controller driver
and the armada-370-xp IRQ controller driver, the GIC and VIC drivers
not only expose a <foo>_of_init() function, but also other functions
that are directly used by several non-DT capable ARM sub-architectures.

Of course, it works by leaving gic.h where it is now, but it sounds
strange to have the driver in drivers/irqchip/ and the header file in
arch/arm/include/asm/hardware/, especially if the goal is to be able to
use those drivers in arm64.
Right. I'll have to move it. I wasn't really thinking about arm64 until
this morning.
Looking at this some more, arm64 doesn't need most of what's in gic.h.
The register defines should be moved into the .c file. The remaining
function declarations either are not needed (i.e. gic_init) or should
should be done like the handle_irq function pointer init. We don't want
to have platform code calling gic_cascade_irq or gic_raise_softirq
directly. Perhaps we need to support this generically in irqchip code.
So I'll leave them in the current header and arm64 can add the necessary
support it needs.

Rob
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help