media: staging: media: imx: imx7-mipi-csis: Make subdev name unique
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Fri, 25 Jun 2021 02:26:35 +0000 (04:26 +0200)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 23 Jan 2022 20:18:42 +0000 (21:18 +0100)
When multiple CSIS instances are present in a single graph, they are
currently all named "imx7-mipi-csis.0", which breaks the entity name
uniqueness requirement. Fix it by using the device name to create the
subdev name.

Fixes: 7807063b862b ("media: staging/imx7: add MIPI CSI-2 receiver subdev for i.MX7")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Rui Miguel Silva <rmfrfs@gmail.com>
Reviewed-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
Tested-by: Jerome Brunet <jbrunet@baylibre.com> # On i.MX8MP
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/imx/imx7-mipi-csis.c

index d2f6040..a8710dc 100644 (file)
@@ -32,7 +32,6 @@
 #include <media/v4l2-subdev.h>
 
 #define CSIS_DRIVER_NAME                       "imx7-mipi-csis"
-#define CSIS_SUBDEV_NAME                       CSIS_DRIVER_NAME
 
 #define CSIS_PAD_SINK                          0
 #define CSIS_PAD_SOURCE                                1
@@ -313,7 +312,6 @@ struct csi_state {
        struct reset_control *mrst;
        struct regulator *mipi_phy_regulator;
        const struct mipi_csis_info *info;
-       u8 index;
 
        struct v4l2_subdev sd;
        struct media_pad pads[CSIS_PADS_NUM];
@@ -1329,8 +1327,8 @@ static int mipi_csis_subdev_init(struct csi_state *state)
 
        v4l2_subdev_init(sd, &mipi_csis_subdev_ops);
        sd->owner = THIS_MODULE;
-       snprintf(sd->name, sizeof(sd->name), "%s.%d",
-                CSIS_SUBDEV_NAME, state->index);
+       snprintf(sd->name, sizeof(sd->name), "csis-%s",
+                dev_name(state->dev));
 
        sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
        sd->ctrl_handler = NULL;