ARM: SPEAr3xx: shirq: simplify and move the shared irq multiplexor to DT
authorShiraz Hashim <shiraz.hashim@st.com>
Fri, 3 Aug 2012 10:03:10 +0000 (15:33 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 26 Nov 2012 11:25:32 +0000 (16:55 +0530)
commit80515a5a2e3c35e2994105f19af27650e8a16c51
treeb117ab7aa811d0da139fc03aa4f906cbc5b560cb
parent300a6856324a56955ab909e1dca93dabb8464c8a
ARM: SPEAr3xx: shirq: simplify and move the shared irq multiplexor to DT

SPEAr3xx architecture includes shared/multiplexed irqs for certain set
of devices. The multiplexor provides a single interrupt to parent
interrupt controller (VIC) on behalf of a group of devices.

There can be multiple groups available on SPEAr3xx variants but not
exceeding 4. The number of devices in a group can differ, further they
may share same set of status/mask registers spanning across different
bit masks. Also in some cases the group may not have enable or other
registers. This makes software little complex.

Present implementation was non-DT and had few complex data structures to
decipher banks, number of irqs supported, mask and registers involved.

This patch simplifies the overall design and convert it in to DT.  It
also removes all registration from individual SoC files and bring them
in to common shirq.c.

Also updated the corresponding documentation for DT binding of shirq.

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Documentation/devicetree/bindings/arm/spear/shirq.txt [new file with mode: 0644]
arch/arm/mach-spear3xx/include/mach/irqs.h
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/plat-spear/include/plat/shirq.h
arch/arm/plat-spear/shirq.c