Messages in this thread | | | Date | Thu, 4 Nov 2004 12:29:25 -0200 | From | Marcelo Tosatti <> | Subject | Re: patch for sysfs in the cyclades driver |
| |
On Thu, Nov 04, 2004 at 08:58:21AM -0800, Roland Dreier wrote: > Marcelo> The problem was class_simple only contains the "dev" > Marcelo> attribute. You can't add other attributes to it. > > I believe, based on the comment in class_simple.c: > > Any further sysfs files that might be required can be created using this pointer. > > and the implementation in in drivers/scsi/st.c, that there's no > problem adding attributes to a device in a simple class. You can just > use class_set_devdata() on your class_device to set whatever context > you need to get back to your internal structures, and then use > class_device_create_file() to add the attributes. > > I assume this is OK (since there is already one in-kernel driver doing > it), but Greg, can you confirm that it's definitely OK for a driver to > use class_set_devdata() on a class_device from class_simple_device_add()?
Hi Roland,
Oh thanks, I didnt knew the existance of such possibily.
I once asked here on the list:
---------
Hope this is not a FAQ.
I want to export some read-only attributes (statistics) from cyclades.c char driver to userspace via sysfs.
I can't figure out the right place to do it - I could create a class under /sys/class/cyclades for example, but that doesnt sound right since this is not a "class" of device, but a device itself.
Hooking the statistics into /sys/class/tty/ttyC$/ sounds reasonable, but its not possible it seems because "tty" is a class_simple class, which only implements the "dev" attribute.
------ Greg answer was:
For a driver only attribute, you want them to show up in the place for the driver (like under /sys/bus/pci/driver/MY_FOO_DRIVER/). To do that use the DRIVER_ATTR() and the driver_add_file() functions. For examples, see the other drivers that use these functions.
But I hope you are right - /sys/class/tty/tty$/ sounds the correct place for those files - I thought a "class_tty" class was required for new attributes.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |