1
0
Fork 0
alistair23-linux/drivers
Tejun Heo 5a3ceb8616 driver-core: use klist for class device list and implement iterator
Iterating over entries using callback usually isn't too fun especially
when the entry being iterated over can't be manipulated freely.  This
patch converts class->p->class_devices to klist and implements class
device iterator so that the users can freely build their own control
structure.  The users are also free to call back into class code
without worrying about locking.

class_for_each_device() and class_find_device() are converted to use
the new iterators, so their users don't have to worry about locking
anymore either.

Note: This depends on klist-dont-iterate-over-deleted-entries patch
because class_intf->add/remove_dev() depends on proper synchronization
with device removal.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2008-10-09 08:56:04 +02:00
..
accessibility braille_console: only register notifiers when the braille console is used 2008-10-02 15:53:13 -07:00
acpi ACPI: Make /proc/acpi/wakeup interface handle PCI devices (again) 2008-10-03 18:22:19 -07:00
amba
ata sata_nv: reinstate nv_hardreset() for non generic controllers 2008-09-29 00:14:34 -04:00
atm removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
auxdisplay
base driver-core: use klist for class device list and implement iterator 2008-10-09 08:56:04 +02:00
block virtio_blk: use a wrapper function to access io context information of IO requests 2008-10-09 08:56:02 +02:00
bluetooth [Bluetooth] Add reset quirk for A-Link BlueUSB21 dongle 2008-10-06 12:22:52 +02:00
cdrom cdrom: handle TOC 2008-08-18 21:40:04 +02:00
char kgdboc,tty: Fix tty polling search to use name correctly 2008-09-26 10:36:42 -05:00
clocksource clocksource, acpi_pm.c: fix check for monotonicity 2008-09-11 11:14:29 +02:00
connector
cpufreq [CPUFREQ] Fix -Wshadow warning in conservative governor. 2008-08-08 16:00:48 -04:00
cpuidle cpuidle: Make ladder governor honor latency requirements fully 2008-08-15 21:25:35 +02:00
crypto crypto: talitos - Avoid consecutive packets going out with same IV 2008-09-14 13:41:19 -07:00
dca
dio
dma dw_dmac: fix copy/paste bug in tasklet 2008-10-03 18:22:18 -07:00
edac removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
eisa
firewire firewire: Kconfig help update 2008-08-19 18:47:56 +02:00
firmware ibft: fix target info parsing in ibft module 2008-09-02 19:21:40 -07:00
gpio
gpu drm/radeon: downgrade debug message from info to debug. 2008-09-01 08:51:52 +10:00
hid Input: bcm5974 - add driver for Macbook Air and Pro Penryn touchpads 2008-08-08 16:23:01 -04:00
hwmon hwmon: (ad7414) Make ad7414_update_device() static 2008-09-20 10:25:20 +02:00
i2c i2c-dev: Return correct error code on class_create() failure 2008-09-24 13:39:21 +02:00
ide ide: workaround for bogus gcc warning in ide_sysfs_register_port() 2008-10-05 18:23:28 +02:00
ieee1394 ieee1394: sbp2: let nodemgr retry node updates during bus reset series 2008-08-19 18:47:56 +02:00
infiniband IPoIB: Fix crash when path record fails after path flush 2008-09-25 16:37:03 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2008-09-22 07:46:06 -07:00
isdn Add DIP switch readout for HFC-4S IOB4ST 2008-08-02 16:40:37 +02:00
leds leds-pca955x: add proper error handling and fix bogus memory handling 2008-10-03 18:22:18 -07:00
lguest lguest: update commentry 2008-08-26 00:19:28 +10:00
macintosh remove unnecessary <linux/hdreg.h> includes 2008-08-05 18:16:58 +02:00
mca
md block: make bi_phys_segments an unsigned int instead of short 2008-10-09 08:56:03 +02:00
media Revert "V4L/DVB (8904): cx88: add missing unlock_kernel" 2008-10-07 07:54:34 -07:00
memstick memstick: fix MSProHG 8-bit interface mode support 2008-09-13 14:41:52 -07:00
message
mfd mfd: Fix asic3 compilation 2008-09-30 09:57:22 +02:00
misc ia64: fix panic during `modprobe -r xpc' 2008-09-13 14:41:52 -07:00
mmc atmel-mci: Initialize BLKR before sending data transfer command 2008-10-06 14:26:24 -07:00
mtd Support 'discard sectors' operation. 2008-10-09 08:56:01 +02:00
net e1000e: Fix incorrect debug warning 2008-10-03 09:18:17 -07:00
nubus
of powerpc/ibmebus: Restore "name" sysfs attribute on ibmebus devices 2008-08-20 09:50:21 +10:00
oprofile powerpc/cell/oprofile: Avoid double vfree of profile buffer 2008-08-26 10:24:46 +10:00
parisc
parport
pci Check mapped ranges on sysfs resource files 2008-10-02 18:52:51 -07:00
pcmcia pcmcia: Fix broken abuse of dev->driver_data 2008-09-22 08:42:50 -07:00
pnp PNPACPI: ignore the producer/consumer bit for extended IRQ descriptors 2008-08-25 12:04:44 +02:00
power [ARM] Move include/asm-arm/arch-* to arch/arm/*/include/mach 2008-08-07 09:55:48 +01:00
ps3
rapidio
regulator regulator: TI bq24022 Li-Ion Charger driver 2008-07-30 10:10:23 +01:00
rtc rtc: fix kernel panic on second use of SIGIO nofitication 2008-10-03 18:22:17 -07:00
s390 [S390] qdio: prevent stack clobber 2008-10-03 21:55:55 +02:00
sbus sparc/drivers: use linux/of_device.h instead of asm/of_device.h 2008-08-11 14:30:53 -07:00
scsi scsi: fix fall out of sg-chaining patch in qlogicpti 2008-09-29 09:41:56 +02:00
serial atmel_serial: update the powersave handler to match serial core 2008-09-23 08:09:14 -07:00
sh sh: Fix up broken kerneldoc comments. 2008-08-04 12:51:06 +09:00
sn
spi orion_spi: fix handling of default transfer speed 2008-10-03 18:22:18 -07:00
ssb [SSB] Initialise dma_mask for SSB_BUSTYPE_SSB devices 2008-09-27 15:45:37 +01:00
tc
telephony
thermal
uio UIO: generic irq handling for some uio platform devices 2008-08-21 10:15:39 -07:00
usb USB: revert recovery from transient errors 2008-09-23 13:58:10 -07:00
video fbdev: fix recursive notifier and locking when fbdev console is blanked 2008-10-03 18:22:17 -07:00
virtio virtio_balloon: fix towards_target when deflating balloon 2008-08-26 00:19:25 +10:00
w1
watchdog ibmasr: remove unnecessary spin_unlock() 2008-09-23 08:09:13 -07:00
xen xen: fix 2.6.27-rc5 xen balloon driver warnings 2008-09-08 20:21:15 +02:00
zorro
Kconfig
Makefile USB: Add MUSB and TUSB support 2008-08-13 17:33:00 -07:00