V4L/DVB: pvrusb2: New feature to mark specific hardware support as experimental
authorMike Isely <isely@pobox.com>
Sat, 15 May 2010 03:13:35 +0000 (00:13 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Tue, 1 Jun 2010 04:19:49 +0000 (01:19 -0300)
This adds a flag in the device attribute structure which can be used
to mark support for a particular device as experimental.  Any devices
flagged in this way, when encountered at run-time, will generate a
warning message to the kernel log.

Signed-off-by: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/video/pvrusb2/pvrusb2-devattr.h
drivers/media/video/pvrusb2/pvrusb2-hdw.c

index e5b9594..273c8d4 100644 (file)
@@ -177,6 +177,11 @@ struct pvr2_device_desc {
        unsigned int flag_has_composite:1;     /* Has composite input */
        unsigned int flag_has_svideo:1;        /* Has s-video input */
        unsigned int flag_fx2_16kb:1;          /* 16KB FX2 firmware OK here */
+
+       /* If this driver is considered experimental, i.e. not all aspects
+          are working correctly and/or it is untested, mark that fact
+          with this flag. */
+       unsigned int flag_is_experimental:1;
 };
 
 extern struct usb_device_id pvr2_device_table[];
index d13232d..2c3f845 100644 (file)
@@ -2459,6 +2459,19 @@ struct pvr2_hdw *pvr2_hdw_create(struct usb_interface *intf,
                   hdw,hdw_desc->description);
        pvr2_trace(PVR2_TRACE_INFO, "Hardware description: %s",
                hdw_desc->description);
+       if (hdw_desc->flag_is_experimental) {
+               pvr2_trace(PVR2_TRACE_INFO, "**********");
+               pvr2_trace(PVR2_TRACE_INFO,
+                          "WARNING: Support for this device (%s) is"
+                          " experimental.", hdw_desc->description);
+               pvr2_trace(PVR2_TRACE_INFO,
+                          "Important functionality might not be"
+                          " entirely working.");
+               pvr2_trace(PVR2_TRACE_INFO,
+                          "Please consider contacting the driver author to"
+                          " help with further stabilization of the driver.");
+               pvr2_trace(PVR2_TRACE_INFO, "**********");
+       }
        if (!hdw) goto fail;
 
        init_timer(&hdw->quiescent_timer);