|
@@ -9,6 +9,7 @@ that support it. For example, a given bus might look like this:
|
|
|
| |-- class
|
|
|
| |-- config
|
|
|
| |-- device
|
|
|
+ | |-- enable
|
|
|
| |-- irq
|
|
|
| |-- local_cpus
|
|
|
| |-- resource
|
|
@@ -32,6 +33,7 @@ files, each with their own function.
|
|
|
class PCI class (ascii, ro)
|
|
|
config PCI config space (binary, rw)
|
|
|
device PCI device (ascii, ro)
|
|
|
+ enable Whether the device is enabled (ascii, rw)
|
|
|
irq IRQ number (ascii, ro)
|
|
|
local_cpus nearby CPU mask (cpumask, ro)
|
|
|
resource PCI resource host addresses (ascii, ro)
|
|
@@ -57,10 +59,19 @@ 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 'enable' file provides a counter that indicates how many times the device
|
|
|
+has been enabled. If the 'enable' file currently returns '4', and a '1' is
|
|
|
+echoed into it, it will then return '5'. Echoing a '0' into it will decrease
|
|
|
+the count. Even when it returns to 0, though, some of the initialisation
|
|
|
+may not be reversed.
|
|
|
+
|
|
|
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.
|
|
|
+call, and disable it following the access by writing "0" to the file. Note
|
|
|
+that the device must be enabled for a rom read to return data succesfully.
|
|
|
+In the event a driver is not bound to the device, it can be enabled using the
|
|
|
+'enable' file, documented above.
|
|
|
|
|
|
Accessing legacy resources through sysfs
|
|
|
----------------------------------------
|