1
0
Fork 0
alistair23-linux/drivers
NeilBrown 4508a7a734 [PATCH] sysfs: Allow sysfs attribute files to be pollable
It works like this:
  Open the file
  Read all the contents.
  Call poll requesting POLLERR or POLLPRI (so select/exceptfds works)
  When poll returns,
     close the file and go to top of loop.
   or lseek to start of file and go back to the 'read'.

Events are signaled by an object manager calling
   sysfs_notify(kobj, dir, attr);

If the dir is non-NULL, it is used to find a subdirectory which
contains the attribute (presumably created by sysfs_create_group).

This has a cost of one int  per attribute, one wait_queuehead per kobject,
one int per open file.

The name "sysfs_notify" may be confused with the inotify
functionality.  Maybe it would be nice to support inotify for sysfs
attributes as well?

This patch also uses sysfs_notify to allow /sys/block/md*/md/sync_action
to be pollable

Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2006-04-14 11:41:24 -07:00
..
acorn
acpi [PATCH] x86_64: Support memory hotadd without sparsemem 2006-04-09 11:53:16 -07:00
amba
atm [PATCH] Replace 0xff.. with correct DMA_xBIT_MASK 2006-03-28 09:16:07 -08:00
base [PATCH] Fix NULL pointer dereference in node_read_numastat() 2006-04-11 06:18:30 -07:00
block [PATCH] Don't pass boot parameters to argv_init[] 2006-03-31 12:18:53 -08:00
bluetooth [PATCH] pcmcia: use bitfield instead of p_state and state 2006-03-31 17:26:33 +02:00
cdrom [PATCH] Overrun in cdrom/aztcd.c 2006-04-11 06:18:46 -07:00
char [PATCH] do_SAK: Don't recursively take the tasklist_lock 2006-04-13 11:59:12 -07:00
connector [PATCH] sem2mutex: drivers: raw, connector, dcdbas, ppp_generic 2006-03-23 07:38:10 -08:00
cpufreq [CPUFREQ] cpufreq_conservative: keep ignore_nice_load and freq_step values when reselected 2006-03-28 12:20:18 -05:00
crypto [CRYPTO] api: Align tfm context as wide as possible 2006-03-21 20:14:08 +11:00
dio [PATCH] hp300: fix driver_register() return handling, remove dio_module_init() 2006-03-25 08:22:53 -08:00
edac [PATCH] edac_752x needs CONFIG_HOTPLUG 2006-03-31 12:18:54 -08:00
eisa [PATCH] EISA: Ignore generated file drivers/eisa/devlist.h 2006-03-25 08:23:01 -08:00
fc4 [PATCH] drivers/fc4/fc.c: memset correct length 2006-02-20 20:00:11 -08:00
firmware [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
hwmon [PATCH] hdaps: use ENODEV 2006-04-11 06:18:45 -07:00
i2c [PATCH] RTC subsystem: I2C cleanup 2006-03-27 08:44:51 -08:00
ide Merge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2006-04-02 12:49:59 -07:00
ieee1394 [PATCH] sbp2: fix spinlock recursion 2006-04-02 12:58:09 -07:00
infiniband IB/mthca: Fix max_srq_sge returned by ib_query_device for Tavor devices 2006-04-12 11:42:30 -07:00
input Input: synaptics - limit rate to 40pps on Toshiba Protege M300 2006-04-02 00:10:18 -05:00
isdn [ISDN]: Static overruns in drivers/isdn/i4l/isdn_ppp.c 2006-04-11 17:29:17 -07:00
leds [PATCH] leds: reorganise Kconfig 2006-04-11 06:18:40 -07:00
macintosh Merge ../linux-2.6 2006-03-29 13:24:50 +11:00
mca
md [PATCH] sysfs: Allow sysfs attribute files to be pollable 2006-04-14 11:41:24 -07:00
media Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2006-04-11 06:41:02 -07:00
message [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
mfd [PATCH] show MCP menu only on ARCH_SA1100 2006-03-24 07:33:28 -08:00
misc [PATCH] Make most file operations structs in fs/ const 2006-03-28 09:16:06 -08:00
mmc [ARM] 3457/1: i.MX: SD/MMC support for i.MX/MX1 2006-04-02 19:27:07 +01:00
mtd [PATCH] Remove blkmtd 2006-04-11 06:18:43 -07:00
net Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2006-04-12 15:24:06 -07:00
nubus
oprofile [PATCH] mark f_ops const in the inode 2006-03-28 09:16:05 -08:00
parisc [PARISC] I/O-Space must be ioremap_nocache()'d 2006-03-30 17:48:42 +00:00
parport [PATCH] parport: remove duplicate entry for NETMOS_9835 2006-04-11 06:18:45 -07:00
pci [PATCH] sem2mutex: misc static one-file mutexes 2006-03-26 08:56:55 -08:00
pcmcia Merge master.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2006-04-02 12:49:59 -07:00
pnp [PATCH] pnp: PNP: adjust pnp_register_driver signature 2006-03-27 08:44:53 -08:00
rapidio
rtc [PATCH] RTC subsystem: VR41XX cleanup 2006-04-11 06:18:47 -07:00
s390 [PATCH] s390: minor tape fixes 2006-04-11 06:18:38 -07:00
sbus [SPARC]: Respect vm_page_prot in io_remap_page_range(). 2006-03-22 01:15:13 -08:00
scsi [PATCH] sata_mv: properly print HC registers 2006-04-12 18:05:56 -04:00
serial Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-04-02 12:58:45 -07:00
sh
sn [PATCH] Last DMA_xBIT_MASK cleanups 2006-04-11 06:18:44 -07:00
spi [PATCH] spi: Fix modular master driver remove and device suspend/remove 2006-02-20 20:00:09 -08:00
tc [PATCH] kill _INLINE_ 2006-03-23 07:38:16 -08:00
telephony [PATCH] pcmcia: use bitfield instead of p_state and state 2006-03-31 17:26:33 +02:00
usb [PATCH] Overrun in option-card USB driver 2006-04-11 06:24:15 -07:00
video [PATCH] fbdev: Use logo with depth of 4 or less for static pseudocolor 2006-04-11 06:18:54 -07:00
w1 fix typos "wich" -> "which" 2006-03-24 18:23:14 +01:00
zorro [PATCH] amiga: fix driver_register() return handling, remove zorro_module_init() 2006-03-25 08:22:53 -08:00
Kconfig [PATCH] LED: add LED class 2006-03-31 12:18:56 -08:00
Makefile Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband 2006-04-02 12:51:22 -07:00