Re: Problems adding sysfs support to dvb subsystem

From: Greg KH
Date: Mon Apr 12 2004 - 16:44:35 EST


On Mon, Apr 12, 2004 at 10:34:35PM +0200, Michael Hunold wrote:
>
> What I'd like to have is something like this, so I can add attributes to
> the frontend for example:
> /sys/class/dvb/adapter0/frontend0/
>
> I wasn't able to find a driver that provides this simple "hierarchical"
> order, so I did some experiments with little luck.
>
> Creating this hierarchical order manually (like for "devfs") didn't
> work, I get
> > find: /sys/class/dvb/adapter0/frontend0: No such file or directory
> errors upon access:
>
> > sprintf((void*)&dvbdev->class_device.class_id, "adapter%d/%s%d",
> adap->num, dnames[type], id);
> > class_device_register(&dvbdev->class_device);

No, you can't create subdirectories directly by just adding a '/' to the
name of the class device, sorry. You will have to create a kobject for
the directory, and create the attributes in that kobject, like
networking did.

Yeah, it's a bit of a pain, but creating subdirectories in an easy
manner is on the TODO list for the driver core for 2.7.

If you want to get up and running quickly, which would not require you
to fix up any lifetime rules for your dvb drivers, you could implement
the class_simple interface, like a lot of other driver subsystems
currently are doing, and then in 2.7 convert over to a proper driver
model conversion. I say this as I am only guessing as to what your
lifetime rules are for your dvb devices and drivers...

Hope this helps,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/