incompatible pci sysfs change since 3.12 (5136b2da770d)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

I am an author of LinuxCNC, a GPL'd CNC control for Linux.

Recently we added support for userspace PCI drivers.  This worked with
kernel 3.2 but doesn't with kernel 3.16.  The software fails early with
    Failed to open "/sys/devices/pci0000:00/.../enable" (Permission denied)

This appears to be because our software relies on the documented
"enable" sysfs file for pci devices (Documentation/filesystem/sysfs-pci.txt)
which was (unintentionally?) changed to "enabled" in the above-named
patch:

5136b2da770d PCI: convert bus code to use dev_groups
...
+static DEVICE_ATTR_RW(enabled);
...
-   __ATTR(enable, 0600, is_enabled_show, is_enabled_store),

Are we in the LinuxCNC project wrong in thinking that stuff in /sys (and
not /sys/debug) is supposed to be a durable API/interface for userspace
to the kernel?  (It must be a low-usage API if it went unnoticed for a
year :-/)

We'll have to work around it by modifying our software (since we'd like
to work with the kernels people already have) in any case.

Even if it is not going to be changed compatibly with older kernels, it
seems like the documentation should be updated!

Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux