media: ccs: Apply module manufacturer hack on non-CCS devices only
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 6 Apr 2023 16:41:03 +0000 (19:41 +0300)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Tue, 11 Apr 2023 16:54:02 +0000 (18:54 +0200)
Some modules don't have any model identification information in the
register address space. The driver as a SMIA++ driver attempted to use
sensor information in this case. This workaround is definitely not for CCS
devices.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/ccs/ccs-core.c

index 4adb2da..20c3974 100644 (file)
@@ -2894,19 +2894,18 @@ static int ccs_identify_module(struct ccs_sensor *sensor)
                        "smia version %2.2d smiapp version %2.2d\n",
                        minfo->smia_version, minfo->smiapp_version);
                minfo->name = SMIAPP_NAME;
-       }
-
-       /*
-        * Some modules have bad data in the lvalues below. Hope the
-        * rvalues have better stuff. The lvalues are module
-        * parameters whereas the rvalues are sensor parameters.
-        */
-       if (minfo->sensor_smia_manufacturer_id &&
-           !minfo->smia_manufacturer_id && !minfo->model_id) {
-               minfo->smia_manufacturer_id =
-                       minfo->sensor_smia_manufacturer_id;
-               minfo->model_id = minfo->sensor_model_id;
-               minfo->revision_number = minfo->sensor_revision_number;
+               /*
+                * Some modules have bad data in the lvalues below. Hope the
+                * rvalues have better stuff. The lvalues are module
+                * parameters whereas the rvalues are sensor parameters.
+                */
+               if (minfo->sensor_smia_manufacturer_id &&
+                   !minfo->smia_manufacturer_id && !minfo->model_id) {
+                       minfo->smia_manufacturer_id =
+                               minfo->sensor_smia_manufacturer_id;
+                       minfo->model_id = minfo->sensor_model_id;
+                       minfo->revision_number = minfo->sensor_revision_number;
+               }
        }
 
        for (i = 0; i < ARRAY_SIZE(ccs_module_idents); i++) {