Problems adding sysfs support to dvb subsystem

From: Michael Hunold
Date: Mon Apr 12 2004 - 15:36:07 EST


Hello all,

I'm currently trying to add proper sysfs support to the dvb subsystem, but I'm stuck because I don't know if I'm on the right way. 8-(

From the docs and existing drivers I read so far I concluded that adding a new class via class_register(&dvb_class) is the way to go.

With this I get:
/sys/class/dvb/

Now there can be several dvb adapters present in the system, each of this adapter can have several "subsystems" (video decoder, audio decoder, frontend ("tuner"), ...)

New adapters register themselves via dvb_register_adapter() and if this was succesfull, they register their subsystems via dvb_register_device().

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);

I then tried to find a way to first use class_device_register() with adapter0 (which works of course), and then with class_device_register() again with frontend0, but obviously I cannot connect these two instances, because adapter doesn't have a "struct device" where I can point the class_device.dev entry from frontend0 to... 8-(

I'd really appreciate if somebody could give me some design hints or point me to some documentation that would help me out.

Thanks!
Michael.

-
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/