media: atomisp: Drop intel_v4l2_subdev_type
authorHans de Goede <hdegoede@redhat.com>
Sun, 14 Apr 2024 14:25:38 +0000 (15:25 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 26 Apr 2024 10:01:24 +0000 (11:01 +0100)
intel_v4l2_subdev_type / atomisp_input_subdev.type now always is
RAW_CAMERA, drop it.

Reviewed-by: Andy Shevchenko <andy@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/atomisp/i2c/atomisp-gc2235.c
drivers/staging/media/atomisp/i2c/atomisp-mt9m114.c
drivers/staging/media/atomisp/i2c/atomisp-ov2722.c
drivers/staging/media/atomisp/include/linux/atomisp_gmin_platform.h
drivers/staging/media/atomisp/include/linux/atomisp_platform.h
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c
drivers/staging/media/atomisp/pci/atomisp_internal.h
drivers/staging/media/atomisp/pci/atomisp_ioctl.c
drivers/staging/media/atomisp/pci/atomisp_v4l2.c

index bec4c5615864091b9a88adf0ddb0cc71d2430456..994b8bceb4f5fe8997a06cc1bc30f3fb92f0d354 100644 (file)
@@ -852,7 +852,7 @@ static int gc2235_probe(struct i2c_client *client)
        if (ret)
                gc2235_remove(client);
 
-       return atomisp_register_i2c_module(&dev->sd, gcpdev, RAW_CAMERA);
+       return atomisp_register_i2c_module(&dev->sd, gcpdev);
 
 out_free:
        v4l2_device_unregister_subdev(&dev->sd);
index 20f02d18a8de14d3a911797431f548fda937ff20..03ebee976d5b42e0f10d00f775963e66ea186826 100644 (file)
@@ -1552,7 +1552,7 @@ static int mt9m114_probe(struct i2c_client *client)
                return ret;
        }
 
-       ret = atomisp_register_i2c_module(&dev->sd, pdata, RAW_CAMERA);
+       ret = atomisp_register_i2c_module(&dev->sd, pdata);
        if (ret) {
                v4l2_device_unregister_subdev(&dev->sd);
                kfree(dev);
index d60630ea16df2cbed1bb858dd238483ad93c3e4c..c31a81d64950f132191fec9da447cdcc8555f101 100644 (file)
@@ -992,7 +992,7 @@ static int ov2722_probe(struct i2c_client *client)
        if (ret)
                ov2722_remove(client);
 
-       return atomisp_register_i2c_module(&dev->sd, ovpdev, RAW_CAMERA);
+       return atomisp_register_i2c_module(&dev->sd, ovpdev);
 
 out_ctrl_handler_free:
        v4l2_ctrl_handler_free(&dev->ctrl_handler);
index 64bd54835c32f3656f6748628f54d054ad5aa253..711e8fb3464f372ed11af27dbaac00ff89dc4034 100644 (file)
@@ -19,8 +19,7 @@
 #include "atomisp_platform.h"
 
 int atomisp_register_i2c_module(struct v4l2_subdev *subdev,
-                               struct camera_sensor_platform_data *plat_data,
-                               enum intel_v4l2_subdev_type type);
+                               struct camera_sensor_platform_data *plat_data);
 int atomisp_gmin_remove_subdev(struct v4l2_subdev *sd);
 int gmin_get_var_int(struct device *dev, bool is_gmin,
                     const char *var, int def);
index 8060db0e0c5fd8b423241159b326862c0d7caffd..51e7b199e00521e101c2e08a7187cbacc334c2b3 100644 (file)
@@ -109,18 +109,7 @@ enum atomisp_input_format {
 
 #define N_ATOMISP_INPUT_FORMAT (ATOMISP_INPUT_FORMAT_USER_DEF8 + 1)
 
-enum intel_v4l2_subdev_type {
-       RAW_CAMERA = 1,
-};
-
-struct intel_v4l2_subdev_id {
-       char name[17];
-       enum intel_v4l2_subdev_type type;
-       enum atomisp_camera_port    port;
-};
-
 struct intel_v4l2_subdev_table {
-       enum intel_v4l2_subdev_type type;
        enum atomisp_camera_port port;
        unsigned int lanes;
        struct v4l2_subdev *subdev;
index a5e68b2cac50a90c0cca2575d321e62d937b23c0..aba69cf97785714ea5d3c397a1d98f927c9d7c43 100644 (file)
@@ -126,7 +126,7 @@ static DEFINE_MUTEX(gmin_regulator_mutex);
 static int gmin_v1p8_enable_count;
 static int gmin_v2p8_enable_count;
 
-/* The atomisp uses type==0 for the end-of-list marker, so leave space. */
+/* The atomisp uses subdev==NULL for the end-of-list marker, so leave space. */
 static struct intel_v4l2_subdev_table pdata_subdevs[MAX_SUBDEVS + 1];
 
 static const struct atomisp_platform_data pdata = {
@@ -145,16 +145,13 @@ const struct atomisp_platform_data *atomisp_get_platform_data(void)
 EXPORT_SYMBOL_GPL(atomisp_get_platform_data);
 
 int atomisp_register_i2c_module(struct v4l2_subdev *subdev,
-                               struct camera_sensor_platform_data *plat_data,
-                               enum intel_v4l2_subdev_type type)
+                               struct camera_sensor_platform_data *plat_data)
 {
        int i;
        struct gmin_subdev *gs;
        struct i2c_client *client = v4l2_get_subdevdata(subdev);
        struct acpi_device *adev = ACPI_COMPANION(&client->dev);
 
-       dev_info(&client->dev, "register atomisp i2c module type %d\n", type);
-
        /* The windows driver model (and thus most BIOSes by default)
         * uses ACPI runtime power management for camera devices, but
         * we don't.  Disable it, or else the rails will be needlessly
@@ -172,10 +169,10 @@ int atomisp_register_i2c_module(struct v4l2_subdev *subdev,
        adev->power.flags.power_resources = 0;
 
        for (i = 0; i < MAX_SUBDEVS; i++)
-               if (!pdata.subdevs[i].type)
+               if (!pdata.subdevs[i].subdev)
                        break;
 
-       if (pdata.subdevs[i].type)
+       if (i == MAX_SUBDEVS)
                return -ENOMEM;
 
        /* Note subtlety of initialization order: at the point where
@@ -187,7 +184,6 @@ int atomisp_register_i2c_module(struct v4l2_subdev *subdev,
        if (!gs)
                return -ENODEV;
 
-       pdata.subdevs[i].type = type;
        pdata.subdevs[i].port = gs->csi_port;
        pdata.subdevs[i].lanes = gs->csi_lanes;
        pdata.subdevs[i].subdev = subdev;
@@ -1136,7 +1132,7 @@ int atomisp_register_sensor_no_gmin(struct v4l2_subdev *subdev, u32 lanes,
        }
 
        for (i = 0; i < MAX_SUBDEVS; i++)
-               if (!pdata.subdevs[i].type)
+               if (!pdata.subdevs[i].subdev)
                        break;
 
        if (i >= MAX_SUBDEVS) {
@@ -1148,7 +1144,6 @@ int atomisp_register_sensor_no_gmin(struct v4l2_subdev *subdev, u32 lanes,
        if (ret)
                return ret;
 
-       pdata.subdevs[i].type = RAW_CAMERA;
        pdata.subdevs[i].port = port;
        pdata.subdevs[i].lanes = lanes;
        pdata.subdevs[i].subdev = subdev;
@@ -1166,7 +1161,6 @@ void atomisp_unregister_subdev(struct v4l2_subdev *subdev)
 
                camera_sensor_csi_free(subdev);
                pdata.subdevs[i].subdev = NULL;
-               pdata.subdevs[i].type = 0;
                pdata.subdevs[i].port = 0;
                break;
        }
index d021c26aacd745cbfb342bd9fbb66baa78c9fe95..9227399502b98abe2d814436343da14df1147936 100644 (file)
        round_down((2 * (n) + (d) * (step)) / (2 * (d)), (step))
 
 struct atomisp_input_subdev {
-       unsigned int type;
        enum atomisp_camera_port port;
        u32 code; /* MEDIA_BUS_FMT_* */
        bool binning_support;
index d7c842997139ddd3fd31ec9dc994750e402c3936..effc71b5a4397fb663cc242197aa8a3700568a79 100644 (file)
@@ -406,7 +406,6 @@ static int atomisp_enum_input(struct file *file, void *fh,
 
        input->type = V4L2_INPUT_TYPE_CAMERA;
        input->index = index;
-       input->reserved[0] = isp->inputs[index].type;
        input->reserved[1] = isp->inputs[index].port;
 
        return 0;
index 4c3d55301089b4d430d92f043cd131fd975bd1f2..013c5abfe1eaec3f56b8d2b6342430ab0d7fea15 100644 (file)
@@ -803,32 +803,25 @@ static int atomisp_subdev_probe(struct atomisp_device *isp)
         * converting them to standard v4l2 sensor drivers using runtime-pm +
         * ACPI for pm and v4l2_async_register_subdev_sensor() registration.
         */
-       for (subdevs = pdata->subdevs; subdevs->type; ++subdevs) {
+       for (subdevs = pdata->subdevs; subdevs->subdev; subdevs++) {
                ret = v4l2_device_register_subdev(&isp->v4l2_dev, subdevs->subdev);
                if (ret)
                        continue;
 
-               switch (subdevs->type) {
-               case RAW_CAMERA:
-                       if (subdevs->port >= ATOMISP_CAMERA_NR_PORTS) {
-                               dev_err(isp->dev, "port %d not supported\n", subdevs->port);
-                               break;
-                       }
-
-                       if (isp->sensor_subdevs[subdevs->port]) {
-                               dev_err(isp->dev, "port %d already has a sensor attached\n",
-                                       subdevs->port);
-                               break;
-                       }
+               if (subdevs->port >= ATOMISP_CAMERA_NR_PORTS) {
+                       dev_err(isp->dev, "port %d not supported\n", subdevs->port);
+                       continue;
+               }
 
-                       mipi_port = atomisp_port_to_mipi_port(isp, subdevs->port);
-                       isp->sensor_lanes[mipi_port] = subdevs->lanes;
-                       isp->sensor_subdevs[subdevs->port] = subdevs->subdev;
-                       break;
-               default:
-                       dev_dbg(isp->dev, "unknown subdev probed\n");
-                       break;
+               if (isp->sensor_subdevs[subdevs->port]) {
+                       dev_err(isp->dev, "port %d already has a sensor attached\n",
+                               subdevs->port);
+                       continue;
                }
+
+               mipi_port = atomisp_port_to_mipi_port(isp, subdevs->port);
+               isp->sensor_lanes[mipi_port] = subdevs->lanes;
+               isp->sensor_subdevs[subdevs->port] = subdevs->subdev;
        }
 
        return atomisp_csi_lane_config(isp);
@@ -1039,7 +1032,6 @@ int atomisp_register_device_nodes(struct atomisp_device *isp)
 
                input = &isp->inputs[isp->input_cnt];
 
-               input->type = RAW_CAMERA;
                input->port = i;
                input->camera = isp->sensor_subdevs[i];
                input->csi_port = &isp->csi2_port[i].subdev;