Rather than writing long mails on what a media controller is and what it can do, I thought that I could just as well implement it. So in 4 hours I implemented pretty much all of the media controller functionality. The main missing features are the ability to register non-v4l device nodes so that they can be enumerated and setting controls private to a sub-device. For that I should first finish the control handling framework. The datastructures and naming conventions needs to be cleaned up, and it needs some tweaking, but I'd say this is pretty much the way I want it. The code is available here: http://linuxtv.org/hg/~hverkuil/v4l-dvb-mc/ It includes a v4l2-mc utility in v4l2-apps/util that has the --show-topology option that enumerates all nodes and subdev. Currently any registered subdevs and v4l device nodes are already automatically added. Obviously, there are no links setup between them, that would require work in the drivers. Total diffstat: b/linux/include/media/v4l2-mc.h | 54 +++++ b/v4l2-apps/util/v4l2-mc.cpp | 325 ++++++++++++++++++++++++++++++++ linux/drivers/media/video/v4l2-dev.c | 15 + linux/drivers/media/video/v4l2-device.c | 265 +++++++++++++++++++++++++- linux/include/linux/videodev2.h | 74 +++++++ linux/include/media/v4l2-dev.h | 6 linux/include/media/v4l2-device.h | 23 +- linux/include/media/v4l2-subdev.h | 11 - v4l2-apps/util/Makefile | 2 9 files changed, 762 insertions(+), 13 deletions(-) Ignoring the new utility that's just 435 lines of core code. Now try this with sysfs. Brrr. Regards, Hans -- Hans Verkuil - video4linux developer - sponsored by TANDBERG Telecom -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html