linux/include
David Brownell 15a647eba9 [PATCH] genirq: {en,dis}able_irq_wake() need refcounting too
IRQs need refcounting and a state flag to track whether the the IRQ should
be enabled or disabled as a "normal IRQ" source after a series of calls to
{en,dis}able_irq().  For shared IRQs, the IRQ must be enabled so long as at
least one driver needs it active.

Likewise, IRQs need the same support to track whether the IRQ should be
enabled or disabled as a "wakeup event" source after a series of calls to
{en,dis}able_irq_wake().  For shared IRQs, the IRQ must be enabled as a
wakeup source during sleep so long as at least one driver needs it.  But
right now they _don't have_ that refcounting ...  which means sharing a
wakeup-capable IRQ can't work correctly in some configurations.

This patch adds the refcount and flag mechanisms to set_irq_wake() -- which
is what {en,dis}able_irq_wake() call -- and minimal documentation of what
the irq wake mechanism does.

Drivers relying on the older (broken) "toggle" semantics will trigger a
warning; that'll be a handful of drivers on ARM systems.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-31 13:28:36 -07:00
..
acpi Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
asm-alpha [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-arm Merge master.kernel.org:/home/rmk/linux-2.6-arm 2006-07-29 22:53:46 -07:00
asm-arm26 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-cris [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-frv [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-generic [PATCH] hdrinstall: remove asm/io.h from user visibility 2006-07-14 21:53:52 -07:00
asm-h8300 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-i386 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-ia64 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-m32r [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-m68k [SPARC]: Kill prom_getname, unused and not implemented properly. 2006-07-21 14:17:55 -07:00
asm-m68knommu [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-mips [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-parisc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-powerpc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-ppc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-s390 [S390] get_clock inline assembly. 2006-07-17 16:09:42 +02:00
asm-sh [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-sh64 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-sparc [SPARC]: Fix SA_STATIC_ALLOC value. 2006-07-24 22:34:00 -07:00
asm-sparc64 [SPARC64]: Fix typo in pgprot_noncached(). 2006-07-27 17:57:32 -07:00
asm-um Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
asm-v850 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-x86_64 [PATCH] x86_64: Fix swiotlb=force 2006-07-29 20:59:55 -07:00
asm-xtensa [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
keys [PATCH] keys: discard the contents of a key on revocation 2006-06-26 09:58:18 -07:00
linux [PATCH] genirq: {en,dis}able_irq_wake() need refcounting too 2006-07-31 13:28:36 -07:00
math-emu
media V4L/DVB (4270): Add tda9887-specific tuner configuration 2006-06-30 15:59:32 -03:00
mtd Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
net [PKT_SCHED]: Fix regression in PSCHED_TADD{,2}. 2006-07-24 12:44:23 -07:00
pcmcia Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
rdma IB/mad: Validate MADs for spec compliance 2006-07-24 09:18:07 -07:00
rxrpc
scsi [SCSI] scsi_transport_sas: add expander backlink 2006-07-12 09:03:20 -04:00
sound [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
video [PATCH] mbxfb: Add framebuffer driver for the Intel 2700G 2006-07-14 21:53:55 -07:00
Kbuild Add generic Kbuild files for 'make headers_install' 2006-06-18 12:14:01 +01:00