linux/arch
David Brownell e83aff58bf [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work
On the at91sam9263, IRQs for GPIO banks C and D don't currently work.
This is because banks C, D, and E share one clock and toplevel IRQ, but
the AT91 code setting up and handling GPIO IRQs expects no sharing.
This patch:

 - Fixes GPIO IRQ setup and handling to cope with GPIO banks that are
   shared like on sam9263 chips, by setting up a list of those banks
   and making the IRQ dispatching logic scan that list.

 - Precomputes the address of each bank's registers, saving it with
   other per-bank data so that it no longer needs to be constantly
   recomputed during IRQs and other GPIO operations.  That shrinks
   hot-path code, while helping the GPIO bank irq updates.

 - Fixes a minor bug where IRQ_TYPE_NONE was wrongly rejected (it just
   means "use the default", which is "both edges" here).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Andrew Victor <linux@maxim.org.za>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2008-02-04 13:16:39 +00:00
..
alpha PCI: Kconfig help: don't refer to the PCI-HOWTO 2008-02-01 15:04:26 -08:00
arm [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work 2008-02-04 13:16:39 +00:00
avr32 all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
blackfin Suspend: Clean up Kconfig (V2) 2008-02-01 18:30:55 -05:00
cris all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
frv Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-02 14:29:57 +11:00
h8300 all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
ia64 Merge branch 'task_killable' of git://git.kernel.org/pub/scm/linux/kernel/git/willy/misc 2008-02-01 11:45:47 +11:00
m32r PCI: Kconfig help: don't refer to the PCI-HOWTO 2008-02-01 15:04:26 -08:00
m68k PCI: Kconfig help: don't refer to the PCI-HOWTO 2008-02-01 15:04:26 -08:00
m68knommu m68knommu: remove dead timer int pending code 2008-02-01 21:02:04 +11:00
mips Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-02 14:29:57 +11:00
parisc spinlock: lockbreak cleanup 2008-01-30 13:31:20 +01:00
powerpc Suspend: Add config option to disable the freezer if architecture wants that 2008-02-01 18:30:58 -05:00
ppc Merge branch 'linux-2.6' 2008-01-31 11:25:51 +11:00
s390 all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
sh Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-02 14:29:57 +11:00
sparc [SPARC/SPARC64]: Fix usage of .section .sched.text in assembler code. 2008-01-31 19:32:43 -08:00
sparc64 PCI: Kconfig help: don't refer to the PCI-HOWTO 2008-02-01 15:04:26 -08:00
um UML: remove remaining FASTCALL uses 2008-01-30 13:31:14 +01:00
v850 all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00
x86 Merge branch 'suspend' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2008-02-02 14:29:57 +11:00
xtensa PCI: Kconfig help: don't refer to the PCI-HOWTO 2008-02-01 15:04:26 -08:00
.gitignore arch: Ignore arch/i386 and arch/x86_64 2008-01-19 21:29:39 -08:00