public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] document sysfs rom file interface
@ 2005-12-09 19:55 Jesse Barnes
  0 siblings, 0 replies; only message in thread
From: Jesse Barnes @ 2005-12-09 19:55 UTC (permalink / raw)
  To: gregkh, linux-kernel, Ian Romanick

[-- Attachment #1: Type: text/plain, Size: 404 bytes --]

idr gently pointed out today that not only is the sysfs rom file 
interface somewhat unintuitive (despite my efforts and initial 
implementation), but it's also undocumented!  This patch to 
Documentation/filesystems/sysfs-pci.txt corrects the latter problem; the 
former is a userland ABI now though, so we're stuck with it for awhile 
at least.

Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>


[-- Attachment #2: sysfs-rom-file-documentation.patch --]
[-- Type: text/x-diff, Size: 2432 bytes --]

diff --git a/Documentation/filesystems/sysfs-pci.txt b/Documentation/filesystems/sysfs-pci.txt
index 988a62f..7ba2baa 100644
--- a/Documentation/filesystems/sysfs-pci.txt
+++ b/Documentation/filesystems/sysfs-pci.txt
@@ -1,4 +1,5 @@
 Accessing PCI device resources through sysfs
+--------------------------------------------
 
 sysfs, usually mounted at /sys, provides access to PCI resources on platforms
 that support it.  For example, a given bus might look like this:
@@ -47,14 +48,21 @@ files, each with their own function.
   binary - file contains binary data
   cpumask - file contains a cpumask type
 
-The read only files are informational, writes to them will be ignored.
-Writable files can be used to perform actions on the device (e.g. changing
-config space, detaching a device).  mmapable files are available via an
-mmap of the file at offset 0 and can be used to do actual device programming
-from userspace.  Note that some platforms don't support mmapping of certain
-resources, so be sure to check the return value from any attempted mmap.
+The read only files are informational, writes to them will be ignored, with
+the exception of the 'rom' file.  Writable files can be used to perform
+actions on the device (e.g. changing config space, detaching a device).
+mmapable files are available via an mmap of the file at offset 0 and can be
+used to do actual device programming from userspace.  Note that some platforms
+don't support mmapping of certain resources, so be sure to check the return
+value from any attempted mmap.
+
+The 'rom' file is special in that it provides read-only access to the device's
+ROM file, if available.  It's disabled by default, however, so applications
+should write the string "1" to the file to enable it before attempting a read
+call, and disable it following the access by writing "0" to the file.
 
 Accessing legacy resources through sysfs
+----------------------------------------
 
 Legacy I/O port and ISA memory resources are also provided in sysfs if the
 underlying platform supports them.  They're located in the PCI class heirarchy,
@@ -75,6 +83,7 @@ simply dereference the returned pointer 
 to access legacy memory space.
 
 Supporting PCI access on new platforms
+--------------------------------------
 
 In order to support PCI resource mapping as described above, Linux platform
 code must define HAVE_PCI_MMAP and provide a pci_mmap_page_range function.

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2005-12-09 19:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-12-09 19:55 [PATCH] document sysfs rom file interface Jesse Barnes

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox