linux/drivers
Peter Zijlstra 7f424a8b08 fix idle (arch, acpi and apm) and lockdep
OK, so 25-mm1 gave a lockdep error which made me look into this.

The first thing that I noticed was the horrible mess; the second thing I
saw was hacks like: 71e93d1561

The problem is that arch idle routines are somewhat inconsitent with
their IRQ state handling and instead of fixing _that_, we go paper over
the problem.

So the thing I've tried to do is set a standard for idle routines and
fix them all up to adhere to that. So the rules are:

  idle routines are entered with IRQs disabled
  idle routines will exit with IRQs enabled

Nearly all already did this in one form or another.

Merge the 32 and 64 bit bits so they no longer have different bugs.

As for the actual lockdep warning; __sti_mwait() did a plainly un-annotated
irq-enable.

Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Tested-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-27 00:01:45 +02:00
..
acorn/char
acpi fix idle (arch, acpi and apm) and lockdep 2008-04-27 00:01:45 +02:00
amba
ata pata_bf54x: decrease count first. 2008-04-25 01:26:28 -04:00
atm drivers/atm: use time_before, time_before_eq, etc 2008-04-19 18:14:50 -07:00
auxdisplay
base bus_remove_device: be more careful about incomplete initialization 2008-04-22 17:40:36 -07:00
block xen: Add compatibility aliases for frontend drivers 2008-04-24 23:57:33 +02:00
bluetooth hci_usb: remove code obfuscation 2008-04-19 18:17:26 -07:00
cdrom cdrom: use kmalloced buffers instead of buffers on stack 2008-04-21 09:50:08 +02:00
char Merge branch 'agp-patches' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6 2008-04-26 09:29:36 -07:00
clocksource
connector
cpufreq
cpuidle
crypto [CRYPTO] padlock-aes: Use generic setkey function 2008-04-21 10:19:34 +08:00
dca
dio
dma DMA engine: typo fixes 2008-04-21 22:38:45 +00:00
edac
eisa
firewire Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
firmware Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2008-04-21 15:49:58 -07:00
gpio
hid Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-04-25 12:38:14 -07:00
hwmon
i2c i2c: Fix platform driver hotplug/coldplug 2008-04-22 22:16:49 +02:00
ide ide: constify struct ide_dma_ops 2008-04-26 22:25:24 +02:00
ieee1394 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 2008-04-25 12:24:06 -07:00
infiniband IB/ipath: Correct capitalization "IntX" -> "INTx" 2008-04-21 18:19:15 -07:00
input Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 2008-04-25 12:40:57 -07:00
isdn Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6 2008-04-21 15:56:19 -07:00
leds leds: Add default-on trigger 2008-04-25 00:06:52 +01:00
lguest drivers: Remove unnecessary inclusions of asm/semaphore.h 2008-04-18 22:16:32 -04:00
macintosh mac-hid: fix build after lockdep annotation 2008-04-25 18:57:09 -07:00
mca
md dm: remove md argument from specific_minor 2008-04-25 13:27:02 +01:00
media V4L/DVB (7751): ir-kbd-i2c: Save a temporary memory allocation in ir_probe 2008-04-26 09:29:58 -03:00
memstick memstick: convert struct class_device to struct device 2008-04-19 19:10:29 -07:00
message SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
mfd Merge branch 'fixes' of master.kernel.org:/home/rmk/linux-2.6-arm 2008-04-24 08:36:11 -07:00
misc [IA64] run drivers/misc/sgi-xp through scripts/checkpatch.pl 2008-04-22 15:08:55 -07:00
mmc mmc: sdio_ops.c should #include "sdio_ops.h" 2008-04-18 20:05:33 +02:00
mtd [MTD] m25p80: Add Support for ATMEL AT25DF641 64-Megabit SPI Flash 2008-04-25 09:14:23 +01:00
net Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-25 12:52:16 -07:00
nubus
of [POWERPC] drivers/of/of_i2c.c: Add MODULE_LICENSE 2008-04-24 20:58:01 +10:00
oprofile
parisc PCI: remove parisc consumer of the pci global_list 2008-04-20 21:47:01 -07:00
parport avr32: don't offer PARPORT_PC 2008-04-19 20:40:10 -04:00
pci intel-iommu.c: dma ops fix 2008-04-24 23:15:43 +02:00
pcmcia [ARM] pxa: fix 0e623941be 2008-04-21 12:52:03 +01:00
pnp pnpacpi: fix potential corruption on "pnpacpi: exceeded the max number of IRQ resources 2" 2008-04-23 12:22:13 -07:00
power
ps3
rapidio
rtc rtc: rtc-sh: Add support for periodic IRQs. 2008-04-18 09:50:01 -07:00
s390 Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
sbus
scsi ide: add struct ide_dma_ops (take 3) 2008-04-26 22:25:24 +02:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-25 12:52:16 -07:00
sh
sn
spi
ssb ssb: Fix all-ones boardflags 2008-04-23 21:25:35 -04:00
tc
telephony
thermal
uio UIO: hold a reference to the device's owner while the device is open 2008-04-19 19:10:18 -07:00
usb usb: don't update devnum for wusb devices 2008-04-24 21:16:59 -07:00
video xen pvfb: Para-virtual framebuffer, keyboard and pointer driver 2008-04-24 23:57:33 +02:00
virtio
w1
watchdog Convert asm/semaphore.h users to linux/semaphore.h 2008-04-18 22:22:54 -04:00
xen xen: add balloon driver 2008-04-24 23:57:33 +02:00
zorro
Kconfig xen: add balloon driver 2008-04-24 23:57:33 +02:00
Makefile