Bladeren bron

V4L/DVB (12626): gspca_mr97310a: Allow overriding of detected sensor type

gspca_mr97310a: Allow overriding of detected sensor type

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Hans de Goede 16 jaren geleden
bovenliggende
commit
780287061b
1 gewijzigde bestanden met toevoegingen van 17 en 0 verwijderingen
  1. 17 0
      drivers/media/video/gspca/mr97310a.c

+ 17 - 0
drivers/media/video/gspca/mr97310a.c

@@ -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