genirq: Introduce struct irq_common_data to host shared irq data
authorJiang Liu <jiang.liu@linux.intel.com>
Mon, 1 Jun 2015 08:05:12 +0000 (16:05 +0800)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 12 Jun 2015 14:54:21 +0000 (16:54 +0200)
commit0d0b4c866bcce647f40d73efe5e90aeeb079050a
tree9a4dc1dd5f52dcc5b4455c3e75c2678b393bc06d
parent77ed42f18edd486e9994ccd1f174076309a6343f
genirq: Introduce struct irq_common_data to host shared irq data

With the introduction of hierarchy irqdomain, struct irq_data becomes
per-chip instead of per-irq and there may be multiple irq_datas
associated with the same irq. Some per-irq data stored in struct
irq_data now may get duplicated into multiple irq_datas, and causes
inconsistent view.

So introduce struct irq_common_data to host per-irq common data and to
achieve consistent view among irq_chips.

Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Tony Luck <tony.luck@intel.com>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Yinghai Lu <yinghai@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Kevin Cernekee <cernekee@gmail.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Link: http://lkml.kernel.org/r/1433145945-789-4-git-send-email-jiang.liu@linux.intel.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/irq.h
include/linux/irqdesc.h
kernel/irq/internals.h
kernel/irq/irqdesc.c
kernel/irq/irqdomain.c