diff options
author | Sam Bishop <sam@bishop.dhs.org> | 2006-08-28 16:52:15 -0600 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-27 11:58:48 -0700 |
commit | 06afff00bcab0e384afbef70194fd3469532abdf (patch) | |
tree | 7c1da770bfa971697ab1c1615ba4731d85890549 | |
parent | 341323269258ab8484077a9c70db804fbae6ae93 (diff) | |
download | op-kernel-dev-06afff00bcab0e384afbef70194fd3469532abdf.zip op-kernel-dev-06afff00bcab0e384afbef70194fd3469532abdf.tar.gz |
USB doc patch 2
A little more detail on how and when to poll() /proc/bus/usb/devices.
Signed-off-by: Sam Bishop <sam@bishop.dhs.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | Documentation/DocBook/usb.tmpl | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/Documentation/DocBook/usb.tmpl b/Documentation/DocBook/usb.tmpl index 8a28f76..3608472 100644 --- a/Documentation/DocBook/usb.tmpl +++ b/Documentation/DocBook/usb.tmpl @@ -453,14 +453,25 @@ file in your Linux kernel sources. </para> - <para>Otherwise the main use for this file from programs - is to poll() it to get notifications of usb devices - as they're plugged or unplugged. - To see what changed, you'd need to read the file and - compare "before" and "after" contents, scan the filesystem, - or see its hotplug event. + <para>This file, in combination with the poll() system call, can + also be used to detect when devices are added or removed: +<programlisting>int fd; +struct pollfd pfd; + +fd = open("/proc/bus/usb/devices", O_RDONLY); +pfd = { fd, POLLIN, 0 }; +for (;;) { + /* The first time through, this call will return immediately. */ + poll(&pfd, 1, -1); + + /* To see what's changed, compare the file's previous and current + contents or scan the filesystem. (Scanning is more precise.) */ +}</programlisting> + Note that this behavior is intended to be used for informational + and debug purposes. It would be more appropriate to use programs + such as udev or HAL to initialize a device or start a user-mode + helper program, for instance. </para> - </sect1> <sect1> |