aboutsummaryrefslogtreecommitdiff
path: root/drivers/media/video
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-07 00:28:28 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:43:35 -0300
commit858f910e869d1300c1ab0cadbe9908322f8bfb78 (patch)
treed59266af0b4e5ad586c91a37faa49903cb876c73 /drivers/media/video
parent20ae26c84e48b95177e334fa9022f68aa3b77df6 (diff)
V4L/DVB (11174): pvrusb2: Implement reporting of connected sub-devices
The pvrusb2 driver has a function that reports internal state. It can be accessed from either the debug interface or as the result of a v4l log status request. This change adds information listing sub-devices to the report. Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 2f9667e62bb..bd4e374e37f 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -4779,6 +4779,29 @@ static unsigned int pvr2_hdw_report_unlocked(struct pvr2_hdw *hdw,int which,
stats.buffers_processed,
stats.buffers_failed);
}
+ case 6: {
+ struct v4l2_subdev *sd;
+ unsigned int tcnt = 0;
+ unsigned int ccnt;
+ const char *p;
+ unsigned int id;
+ ccnt = scnprintf(buf,
+ acnt,
+ "Associted v4l2_subdev drivers:");
+ tcnt += ccnt;
+ v4l2_device_for_each_subdev(sd, &hdw->v4l2_dev) {
+ id = sd->grp_id;
+ p = NULL;
+ if (id < ARRAY_SIZE(module_names)) {
+ p = module_names[id];
+ }
+ if (!p) p = "(unknown)";
+ ccnt = scnprintf(buf + tcnt,
+ acnt - tcnt,
+ " %s (%u)", p, id);
+ }
+ return tcnt;
+ }
default: break;
}
return 0;