aboutsummaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMike Isely <isely@pobox.com>2009-03-06 23:58:15 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2009-03-30 12:43:33 -0300
commit446dfdc6cc62890098a1b92a4a84019a34dce0cc (patch)
tree512816f62a161646d3835c10b3255572ab8041d7 /drivers
parent15b474423f0642e6ff78f1963b816155e80fc932 (diff)
V4L/DVB (11162): pvrusb2: Tie up loose ends with v4l2-subdev setup
Tie up loose ends with v4l2-subdev setup. Set attached module's group ID to match our internal ID, emit a few useful messages when sub-devices are dealt with, implement better error legs, and fix an error in the old i2c layer (caused by changes related to the v4l2-subdev work here). Signed-off-by: Mike Isely <isely@pobox.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-hdw.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-hdw.c b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
index 0e0d086bb27..c764f360a77 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-hdw.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-hdw.c
@@ -2020,17 +2020,26 @@ static void pvr2_hdw_load_subdev(struct pvr2_hdw *hdw,
i2caddr);
}
+ if (!sd) {
+ pvr2_trace(PVR2_TRACE_ERROR_LEGS,
+ "Module ID %u for device %s failed to load"
+ " (this is probably a bad thing...)",
+ mid, hdw->hdw_desc->description);
+ return;
+ }
+
+ /* Tag this sub-device instance with the module ID we know about.
+ In other places we'll use that tag to determine if the instance
+ requires special handling. */
+ sd->grp_id = mid;
+
/* If we have both old and new i2c layers enabled, make sure that
old layer isn't also tracking this module. This is a debugging
aid, in normal situations there's no reason for both mechanisms
to be enabled. */
pvr2_i2c_untrack_subdev(hdw, sd);
+ pvr2_trace(PVR2_TRACE_INIT, "Attached sub-driver %s", fname);
- // ?????
- /* Based on module ID, we should remember subdev pointers
- so that we can send certain custom commands where
- needed. */
- // ?????
}