V4L/DVB (12626): gspca_mr97310a: Allow overriding of detected sensor type
[pandora-kernel.git] / drivers / media / video / gspca / mr97310a.c
index 8190a1d..169cdb6 100644 (file)
@@ -57,6 +57,11 @@ MODULE_AUTHOR("Kyle Guinn <elyk03@gmail.com>,"
 MODULE_DESCRIPTION("GSPCA/Mars-Semi MR97310A USB Camera Driver");
 MODULE_LICENSE("GPL");
 
+/* global parameters */
+int force_sensor_type = -1;
+module_param(force_sensor_type, int, 0644);
+MODULE_PARM_DESC(force_sensor_type, "Force sensor type (-1 (auto), 0 or 1)");
+
 /* specific webcam descriptor */
 struct sd {
        struct gspca_dev gspca_dev;  /* !! must be the first item */
@@ -401,6 +406,12 @@ static int sd_config(struct gspca_dev *gspca_dev,
                PDEBUG(D_PROBE, "MR97310A CIF camera detected, sensor: %d",
                       sd->sensor_type);
 
+               if (force_sensor_type != -1) {
+                       sd->sensor_type = !! force_sensor_type;
+                       PDEBUG(D_PROBE, "Forcing sensor type to: %d",
+                              sd->sensor_type);
+               }
+
                if (sd->sensor_type == 0)
                        gspca_dev->ctrl_dis = (1 << BRIGHTNESS_IDX);
        } else {
@@ -606,6 +617,12 @@ static int start_vga_cam(struct gspca_dev *gspca_dev)
                msleep(200);
        }
 
+       if (force_sensor_type != -1) {
+               sd->sensor_type = !! force_sensor_type;
+               PDEBUG(D_PROBE, "Forcing sensor type to: %d",
+                      sd->sensor_type);
+       }
+
        /*
         * Known VGA cameras.
         * This test is only run if the previous test returned 0x30, but