diff mbox series

[PATCHv2,13/23] media: use sizeof() instead of V4L2_SUBDEV_NAME_SIZE

Message ID 20230923152107.283289-14-hverkuil-cisco@xs4all.nl (mailing list archive)
State New, archived
Headers show
Series media: fix all string truncate warnings | expand

Commit Message

Hans Verkuil Sept. 23, 2023, 3:20 p.m. UTC
Don't rely on a define, let the compiler use the actual
field size.

Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
drop the define itself.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Cc: Sowjanya Komatineni <skomatineni@nvidia.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 drivers/media/i2c/msp3400-driver.c                  | 2 +-
 drivers/media/platform/cadence/cdns-csi2rx.c        | 4 ++--
 drivers/media/platform/cadence/cdns-csi2tx.c        | 4 ++--
 drivers/media/platform/renesas/rcar-isp.c           | 2 +-
 drivers/media/platform/renesas/rcar-vin/rcar-csi2.c | 2 +-
 drivers/media/platform/ti/omap3isp/ispstat.c        | 2 +-
 drivers/staging/media/tegra-video/csi.c             | 4 ++--
 drivers/staging/media/tegra-video/vip.c             | 2 +-
 include/media/v4l2-subdev.h                         | 4 +---
 9 files changed, 12 insertions(+), 14 deletions(-)

Comments

Laurent Pinchart Sept. 23, 2023, 6:06 p.m. UTC | #1
Hi Hans,

Thank you for the patch.

On Sat, Sep 23, 2023 at 05:20:57PM +0200, Hans Verkuil wrote:
> Don't rely on a define, let the compiler use the actual
> field size.
> 
> Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
> drop the define itself.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Cc: Sowjanya Komatineni <skomatineni@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

> ---
>  drivers/media/i2c/msp3400-driver.c                  | 2 +-
>  drivers/media/platform/cadence/cdns-csi2rx.c        | 4 ++--
>  drivers/media/platform/cadence/cdns-csi2tx.c        | 4 ++--
>  drivers/media/platform/renesas/rcar-isp.c           | 2 +-
>  drivers/media/platform/renesas/rcar-vin/rcar-csi2.c | 2 +-
>  drivers/media/platform/ti/omap3isp/ispstat.c        | 2 +-
>  drivers/staging/media/tegra-video/csi.c             | 4 ++--
>  drivers/staging/media/tegra-video/vip.c             | 2 +-
>  include/media/v4l2-subdev.h                         | 4 +---
>  9 files changed, 12 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/media/i2c/msp3400-driver.c b/drivers/media/i2c/msp3400-driver.c
> index bec76801487a..0ed8561edfee 100644
> --- a/drivers/media/i2c/msp3400-driver.c
> +++ b/drivers/media/i2c/msp3400-driver.c
> @@ -561,7 +561,7 @@ static int msp_log_status(struct v4l2_subdev *sd)
>  	struct msp_state *state = to_state(sd);
>  	struct i2c_client *client = v4l2_get_subdevdata(sd);
>  	const char *p;
> -	char prefix[V4L2_SUBDEV_NAME_SIZE + 20];
> +	char prefix[sizeof(sd->name) + 20];
>  
>  	if (state->opmode == OPMODE_AUTOSELECT)
>  		msp_detect_stereo(client);
> diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
> index 0d879d71d818..b9d9058e2ce3 100644
> --- a/drivers/media/platform/cadence/cdns-csi2rx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2rx.c
> @@ -516,8 +516,8 @@ static int csi2rx_probe(struct platform_device *pdev)
>  	csi2rx->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&csi2rx->subdev, &csi2rx_subdev_ops);
>  	v4l2_set_subdevdata(&csi2rx->subdev, &pdev->dev);
> -	snprintf(csi2rx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
> -		 KBUILD_MODNAME, dev_name(&pdev->dev));
> +	snprintf(csi2rx->subdev.name, sizeof(csi2rx->subdev.name),
> +		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
>  
>  	/* Create our media pads */
>  	csi2rx->subdev.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
> diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
> index cbbb77520112..c115742f347f 100644
> --- a/drivers/media/platform/cadence/cdns-csi2tx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2tx.c
> @@ -592,8 +592,8 @@ static int csi2tx_probe(struct platform_device *pdev)
>  	csi2tx->subdev.owner = THIS_MODULE;
>  	csi2tx->subdev.dev = &pdev->dev;
>  	csi2tx->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
> -	snprintf(csi2tx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
> -		 KBUILD_MODNAME, dev_name(&pdev->dev));
> +	snprintf(csi2tx->subdev.name, sizeof(csi2tx->subdev.name),
> +		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
>  
>  	ret = csi2tx_check_lanes(csi2tx);
>  	if (ret)
> diff --git a/drivers/media/platform/renesas/rcar-isp.c b/drivers/media/platform/renesas/rcar-isp.c
> index 7360cf3863f2..19a005d83733 100644
> --- a/drivers/media/platform/renesas/rcar-isp.c
> +++ b/drivers/media/platform/renesas/rcar-isp.c
> @@ -467,7 +467,7 @@ static int risp_probe(struct platform_device *pdev)
>  	isp->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&isp->subdev, &rcar_isp_subdev_ops);
>  	v4l2_set_subdevdata(&isp->subdev, &pdev->dev);
> -	snprintf(isp->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
> +	snprintf(isp->subdev.name, sizeof(isp->subdev.name), "%s %s",
>  		 KBUILD_MODNAME, dev_name(&pdev->dev));
>  	isp->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
>  
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> index f6326df0b09b..66fe553a00e7 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> @@ -1889,7 +1889,7 @@ static int rcsi2_probe(struct platform_device *pdev)
>  	priv->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&priv->subdev, &rcar_csi2_subdev_ops);
>  	v4l2_set_subdevdata(&priv->subdev, &pdev->dev);
> -	snprintf(priv->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
> +	snprintf(priv->subdev.name, sizeof(priv->subdev.name), "%s %s",
>  		 KBUILD_MODNAME, dev_name(&pdev->dev));
>  	priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
>  
> diff --git a/drivers/media/platform/ti/omap3isp/ispstat.c b/drivers/media/platform/ti/omap3isp/ispstat.c
> index 68cf68dbcace..359a846205b0 100644
> --- a/drivers/media/platform/ti/omap3isp/ispstat.c
> +++ b/drivers/media/platform/ti/omap3isp/ispstat.c
> @@ -1039,7 +1039,7 @@ static int isp_stat_init_entities(struct ispstat *stat, const char *name,
>  	struct media_entity *me = &subdev->entity;
>  
>  	v4l2_subdev_init(subdev, sd_ops);
> -	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "OMAP3 ISP %s", name);
> +	snprintf(subdev->name, sizeof(subdev->name), "OMAP3 ISP %s", name);
>  	subdev->grp_id = BIT(16);	/* group ID for isp subdevs */
>  	subdev->flags |= V4L2_SUBDEV_FL_HAS_EVENTS | V4L2_SUBDEV_FL_HAS_DEVNODE;
>  	v4l2_set_subdevdata(subdev, stat);
> diff --git a/drivers/staging/media/tegra-video/csi.c b/drivers/staging/media/tegra-video/csi.c
> index e79657920dc8..9aa72863c213 100644
> --- a/drivers/staging/media/tegra-video/csi.c
> +++ b/drivers/staging/media/tegra-video/csi.c
> @@ -607,10 +607,10 @@ static int tegra_csi_channel_init(struct tegra_csi_channel *chan)
>  	v4l2_subdev_init(subdev, &tegra_csi_ops);
>  	subdev->dev = csi->dev;
>  	if (IS_ENABLED(CONFIG_VIDEO_TEGRA_TPG))
> -		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s-%d", "tpg",
> +		snprintf(subdev->name, sizeof(subdev->name), "%s-%d", "tpg",
>  			 chan->csi_port_nums[0]);
>  	else
> -		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
> +		snprintf(subdev->name, sizeof(subdev->name), "%s",
>  			 kbasename(chan->of_node->full_name));
>  
>  	v4l2_set_subdevdata(subdev, chan);
> diff --git a/drivers/staging/media/tegra-video/vip.c b/drivers/staging/media/tegra-video/vip.c
> index 191ecd19a6a7..e95cc7bb190e 100644
> --- a/drivers/staging/media/tegra-video/vip.c
> +++ b/drivers/staging/media/tegra-video/vip.c
> @@ -163,7 +163,7 @@ static int tegra_vip_channel_init(struct tegra_vip *vip)
>  	subdev = &vip->chan.subdev;
>  	v4l2_subdev_init(subdev, &tegra_vip_ops);
>  	subdev->dev = vip->dev;
> -	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
> +	snprintf(subdev->name, sizeof(subdev->name), "%s",
>  		 kbasename(vip->chan.of_node->full_name));
>  
>  	v4l2_set_subdevdata(subdev, &vip->chan);
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index 5711354056b9..c1f90c1223a7 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -951,8 +951,6 @@ struct v4l2_subdev_internal_ops {
>  	void (*release)(struct v4l2_subdev *sd);
>  };
>  
> -#define V4L2_SUBDEV_NAME_SIZE 52
> -
>  /* Set this flag if this subdev is a i2c device. */
>  #define V4L2_SUBDEV_FL_IS_I2C			(1U << 0)
>  /* Set this flag if this subdev is a spi device. */
> @@ -1062,7 +1060,7 @@ struct v4l2_subdev {
>  	const struct v4l2_subdev_ops *ops;
>  	const struct v4l2_subdev_internal_ops *internal_ops;
>  	struct v4l2_ctrl_handler *ctrl_handler;
> -	char name[V4L2_SUBDEV_NAME_SIZE];
> +	char name[52];
>  	u32 grp_id;
>  	void *dev_priv;
>  	void *host_priv;
Niklas Söderlund Sept. 23, 2023, 7:33 p.m. UTC | #2
Hello Hans,

Thanks for your work.

On 2023-09-23 17:20:57 +0200, Hans Verkuil wrote:
> Don't rely on a define, let the compiler use the actual
> field size.
> 
> Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
> drop the define itself.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Cc: Sowjanya Komatineni <skomatineni@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>

> ---
>  drivers/media/i2c/msp3400-driver.c                  | 2 +-
>  drivers/media/platform/cadence/cdns-csi2rx.c        | 4 ++--
>  drivers/media/platform/cadence/cdns-csi2tx.c        | 4 ++--
>  drivers/media/platform/renesas/rcar-isp.c           | 2 +-
>  drivers/media/platform/renesas/rcar-vin/rcar-csi2.c | 2 +-
>  drivers/media/platform/ti/omap3isp/ispstat.c        | 2 +-
>  drivers/staging/media/tegra-video/csi.c             | 4 ++--
>  drivers/staging/media/tegra-video/vip.c             | 2 +-
>  include/media/v4l2-subdev.h                         | 4 +---
>  9 files changed, 12 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/media/i2c/msp3400-driver.c b/drivers/media/i2c/msp3400-driver.c
> index bec76801487a..0ed8561edfee 100644
> --- a/drivers/media/i2c/msp3400-driver.c
> +++ b/drivers/media/i2c/msp3400-driver.c
> @@ -561,7 +561,7 @@ static int msp_log_status(struct v4l2_subdev *sd)
>  	struct msp_state *state = to_state(sd);
>  	struct i2c_client *client = v4l2_get_subdevdata(sd);
>  	const char *p;
> -	char prefix[V4L2_SUBDEV_NAME_SIZE + 20];
> +	char prefix[sizeof(sd->name) + 20];
>  
>  	if (state->opmode == OPMODE_AUTOSELECT)
>  		msp_detect_stereo(client);
> diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
> index 0d879d71d818..b9d9058e2ce3 100644
> --- a/drivers/media/platform/cadence/cdns-csi2rx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2rx.c
> @@ -516,8 +516,8 @@ static int csi2rx_probe(struct platform_device *pdev)
>  	csi2rx->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&csi2rx->subdev, &csi2rx_subdev_ops);
>  	v4l2_set_subdevdata(&csi2rx->subdev, &pdev->dev);
> -	snprintf(csi2rx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
> -		 KBUILD_MODNAME, dev_name(&pdev->dev));
> +	snprintf(csi2rx->subdev.name, sizeof(csi2rx->subdev.name),
> +		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
>  
>  	/* Create our media pads */
>  	csi2rx->subdev.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
> diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
> index cbbb77520112..c115742f347f 100644
> --- a/drivers/media/platform/cadence/cdns-csi2tx.c
> +++ b/drivers/media/platform/cadence/cdns-csi2tx.c
> @@ -592,8 +592,8 @@ static int csi2tx_probe(struct platform_device *pdev)
>  	csi2tx->subdev.owner = THIS_MODULE;
>  	csi2tx->subdev.dev = &pdev->dev;
>  	csi2tx->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
> -	snprintf(csi2tx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
> -		 KBUILD_MODNAME, dev_name(&pdev->dev));
> +	snprintf(csi2tx->subdev.name, sizeof(csi2tx->subdev.name),
> +		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
>  
>  	ret = csi2tx_check_lanes(csi2tx);
>  	if (ret)
> diff --git a/drivers/media/platform/renesas/rcar-isp.c b/drivers/media/platform/renesas/rcar-isp.c
> index 7360cf3863f2..19a005d83733 100644
> --- a/drivers/media/platform/renesas/rcar-isp.c
> +++ b/drivers/media/platform/renesas/rcar-isp.c
> @@ -467,7 +467,7 @@ static int risp_probe(struct platform_device *pdev)
>  	isp->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&isp->subdev, &rcar_isp_subdev_ops);
>  	v4l2_set_subdevdata(&isp->subdev, &pdev->dev);
> -	snprintf(isp->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
> +	snprintf(isp->subdev.name, sizeof(isp->subdev.name), "%s %s",
>  		 KBUILD_MODNAME, dev_name(&pdev->dev));
>  	isp->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
>  
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> index f6326df0b09b..66fe553a00e7 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
> @@ -1889,7 +1889,7 @@ static int rcsi2_probe(struct platform_device *pdev)
>  	priv->subdev.dev = &pdev->dev;
>  	v4l2_subdev_init(&priv->subdev, &rcar_csi2_subdev_ops);
>  	v4l2_set_subdevdata(&priv->subdev, &pdev->dev);
> -	snprintf(priv->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
> +	snprintf(priv->subdev.name, sizeof(priv->subdev.name), "%s %s",
>  		 KBUILD_MODNAME, dev_name(&pdev->dev));
>  	priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
>  
> diff --git a/drivers/media/platform/ti/omap3isp/ispstat.c b/drivers/media/platform/ti/omap3isp/ispstat.c
> index 68cf68dbcace..359a846205b0 100644
> --- a/drivers/media/platform/ti/omap3isp/ispstat.c
> +++ b/drivers/media/platform/ti/omap3isp/ispstat.c
> @@ -1039,7 +1039,7 @@ static int isp_stat_init_entities(struct ispstat *stat, const char *name,
>  	struct media_entity *me = &subdev->entity;
>  
>  	v4l2_subdev_init(subdev, sd_ops);
> -	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "OMAP3 ISP %s", name);
> +	snprintf(subdev->name, sizeof(subdev->name), "OMAP3 ISP %s", name);
>  	subdev->grp_id = BIT(16);	/* group ID for isp subdevs */
>  	subdev->flags |= V4L2_SUBDEV_FL_HAS_EVENTS | V4L2_SUBDEV_FL_HAS_DEVNODE;
>  	v4l2_set_subdevdata(subdev, stat);
> diff --git a/drivers/staging/media/tegra-video/csi.c b/drivers/staging/media/tegra-video/csi.c
> index e79657920dc8..9aa72863c213 100644
> --- a/drivers/staging/media/tegra-video/csi.c
> +++ b/drivers/staging/media/tegra-video/csi.c
> @@ -607,10 +607,10 @@ static int tegra_csi_channel_init(struct tegra_csi_channel *chan)
>  	v4l2_subdev_init(subdev, &tegra_csi_ops);
>  	subdev->dev = csi->dev;
>  	if (IS_ENABLED(CONFIG_VIDEO_TEGRA_TPG))
> -		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s-%d", "tpg",
> +		snprintf(subdev->name, sizeof(subdev->name), "%s-%d", "tpg",
>  			 chan->csi_port_nums[0]);
>  	else
> -		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
> +		snprintf(subdev->name, sizeof(subdev->name), "%s",
>  			 kbasename(chan->of_node->full_name));
>  
>  	v4l2_set_subdevdata(subdev, chan);
> diff --git a/drivers/staging/media/tegra-video/vip.c b/drivers/staging/media/tegra-video/vip.c
> index 191ecd19a6a7..e95cc7bb190e 100644
> --- a/drivers/staging/media/tegra-video/vip.c
> +++ b/drivers/staging/media/tegra-video/vip.c
> @@ -163,7 +163,7 @@ static int tegra_vip_channel_init(struct tegra_vip *vip)
>  	subdev = &vip->chan.subdev;
>  	v4l2_subdev_init(subdev, &tegra_vip_ops);
>  	subdev->dev = vip->dev;
> -	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
> +	snprintf(subdev->name, sizeof(subdev->name), "%s",
>  		 kbasename(vip->chan.of_node->full_name));
>  
>  	v4l2_set_subdevdata(subdev, &vip->chan);
> diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
> index 5711354056b9..c1f90c1223a7 100644
> --- a/include/media/v4l2-subdev.h
> +++ b/include/media/v4l2-subdev.h
> @@ -951,8 +951,6 @@ struct v4l2_subdev_internal_ops {
>  	void (*release)(struct v4l2_subdev *sd);
>  };
>  
> -#define V4L2_SUBDEV_NAME_SIZE 52
> -
>  /* Set this flag if this subdev is a i2c device. */
>  #define V4L2_SUBDEV_FL_IS_I2C			(1U << 0)
>  /* Set this flag if this subdev is a spi device. */
> @@ -1062,7 +1060,7 @@ struct v4l2_subdev {
>  	const struct v4l2_subdev_ops *ops;
>  	const struct v4l2_subdev_internal_ops *internal_ops;
>  	struct v4l2_ctrl_handler *ctrl_handler;
> -	char name[V4L2_SUBDEV_NAME_SIZE];
> +	char name[52];
>  	u32 grp_id;
>  	void *dev_priv;
>  	void *host_priv;
> -- 
> 2.40.1
>
Maxime Ripard Sept. 25, 2023, 7:42 a.m. UTC | #3
On Sat, 23 Sep 2023 17:20:57 +0200, Hans Verkuil wrote:
> Don't rely on a define, let the compiler use the actual
> field size.
> 
> Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
> drop the define itself.
> 
> [ ... ]

Reviewed-by: Maxime Ripard <mripard@kernel.org>

Thanks!
Maxime
Luca Ceresoli Sept. 25, 2023, 4:51 p.m. UTC | #4
Hi Hans,

On Sat, 23 Sep 2023 17:20:57 +0200
Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:

> Don't rely on a define, let the compiler use the actual
> field size.
> 
> Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
> drop the define itself.
> 
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> Cc: Sowjanya Komatineni <skomatineni@nvidia.com>
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
>  drivers/media/i2c/msp3400-driver.c                  | 2 +-
>  drivers/media/platform/cadence/cdns-csi2rx.c        | 4 ++--
>  drivers/media/platform/cadence/cdns-csi2tx.c        | 4 ++--
>  drivers/media/platform/renesas/rcar-isp.c           | 2 +-
>  drivers/media/platform/renesas/rcar-vin/rcar-csi2.c | 2 +-
>  drivers/media/platform/ti/omap3isp/ispstat.c        | 2 +-
>  drivers/staging/media/tegra-video/csi.c             | 4 ++--
>  drivers/staging/media/tegra-video/vip.c             | 2 +-

For tegra-video:
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

I wanted to test it to be extra safe but discovered a regression that
broke probing of the VI driver, so I am now investigating that.

Luca
Luca Ceresoli Sept. 26, 2023, 10:29 a.m. UTC | #5
On Mon, 25 Sep 2023 18:51:57 +0200
Luca Ceresoli <luca.ceresoli@bootlin.com> wrote:

> Hi Hans,
> 
> On Sat, 23 Sep 2023 17:20:57 +0200
> Hans Verkuil <hverkuil-cisco@xs4all.nl> wrote:
> 
> > Don't rely on a define, let the compiler use the actual
> > field size.
> > 
> > Remove all uses of the V4L2_SUBDEV_NAME_SIZE define and also
> > drop the define itself.
> > 
> > Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
> > Cc: Luca Ceresoli <luca.ceresoli@bootlin.com>
> > Cc: Maxime Ripard <mripard@kernel.org>
> > Cc: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
> > Cc: Sowjanya Komatineni <skomatineni@nvidia.com>
> > Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> > ---
> >  drivers/media/i2c/msp3400-driver.c                  | 2 +-
> >  drivers/media/platform/cadence/cdns-csi2rx.c        | 4 ++--
> >  drivers/media/platform/cadence/cdns-csi2tx.c        | 4 ++--
> >  drivers/media/platform/renesas/rcar-isp.c           | 2 +-
> >  drivers/media/platform/renesas/rcar-vin/rcar-csi2.c | 2 +-
> >  drivers/media/platform/ti/omap3isp/ispstat.c        | 2 +-
> >  drivers/staging/media/tegra-video/csi.c             | 4 ++--
> >  drivers/staging/media/tegra-video/vip.c             | 2 +-  
> 
> For tegra-video:
> Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>

And now also (for patches 11 and 12 as well):
Tested-by: Luca Ceresoli <luca.ceresoli@bootlin.com> # tegra-video VIP

Luca
diff mbox series

Patch

diff --git a/drivers/media/i2c/msp3400-driver.c b/drivers/media/i2c/msp3400-driver.c
index bec76801487a..0ed8561edfee 100644
--- a/drivers/media/i2c/msp3400-driver.c
+++ b/drivers/media/i2c/msp3400-driver.c
@@ -561,7 +561,7 @@  static int msp_log_status(struct v4l2_subdev *sd)
 	struct msp_state *state = to_state(sd);
 	struct i2c_client *client = v4l2_get_subdevdata(sd);
 	const char *p;
-	char prefix[V4L2_SUBDEV_NAME_SIZE + 20];
+	char prefix[sizeof(sd->name) + 20];
 
 	if (state->opmode == OPMODE_AUTOSELECT)
 		msp_detect_stereo(client);
diff --git a/drivers/media/platform/cadence/cdns-csi2rx.c b/drivers/media/platform/cadence/cdns-csi2rx.c
index 0d879d71d818..b9d9058e2ce3 100644
--- a/drivers/media/platform/cadence/cdns-csi2rx.c
+++ b/drivers/media/platform/cadence/cdns-csi2rx.c
@@ -516,8 +516,8 @@  static int csi2rx_probe(struct platform_device *pdev)
 	csi2rx->subdev.dev = &pdev->dev;
 	v4l2_subdev_init(&csi2rx->subdev, &csi2rx_subdev_ops);
 	v4l2_set_subdevdata(&csi2rx->subdev, &pdev->dev);
-	snprintf(csi2rx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
-		 KBUILD_MODNAME, dev_name(&pdev->dev));
+	snprintf(csi2rx->subdev.name, sizeof(csi2rx->subdev.name),
+		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
 
 	/* Create our media pads */
 	csi2rx->subdev.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
diff --git a/drivers/media/platform/cadence/cdns-csi2tx.c b/drivers/media/platform/cadence/cdns-csi2tx.c
index cbbb77520112..c115742f347f 100644
--- a/drivers/media/platform/cadence/cdns-csi2tx.c
+++ b/drivers/media/platform/cadence/cdns-csi2tx.c
@@ -592,8 +592,8 @@  static int csi2tx_probe(struct platform_device *pdev)
 	csi2tx->subdev.owner = THIS_MODULE;
 	csi2tx->subdev.dev = &pdev->dev;
 	csi2tx->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
-	snprintf(csi2tx->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s.%s",
-		 KBUILD_MODNAME, dev_name(&pdev->dev));
+	snprintf(csi2tx->subdev.name, sizeof(csi2tx->subdev.name),
+		 "%s.%s", KBUILD_MODNAME, dev_name(&pdev->dev));
 
 	ret = csi2tx_check_lanes(csi2tx);
 	if (ret)
diff --git a/drivers/media/platform/renesas/rcar-isp.c b/drivers/media/platform/renesas/rcar-isp.c
index 7360cf3863f2..19a005d83733 100644
--- a/drivers/media/platform/renesas/rcar-isp.c
+++ b/drivers/media/platform/renesas/rcar-isp.c
@@ -467,7 +467,7 @@  static int risp_probe(struct platform_device *pdev)
 	isp->subdev.dev = &pdev->dev;
 	v4l2_subdev_init(&isp->subdev, &rcar_isp_subdev_ops);
 	v4l2_set_subdevdata(&isp->subdev, &pdev->dev);
-	snprintf(isp->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
+	snprintf(isp->subdev.name, sizeof(isp->subdev.name), "%s %s",
 		 KBUILD_MODNAME, dev_name(&pdev->dev));
 	isp->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
 
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
index f6326df0b09b..66fe553a00e7 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-csi2.c
@@ -1889,7 +1889,7 @@  static int rcsi2_probe(struct platform_device *pdev)
 	priv->subdev.dev = &pdev->dev;
 	v4l2_subdev_init(&priv->subdev, &rcar_csi2_subdev_ops);
 	v4l2_set_subdevdata(&priv->subdev, &pdev->dev);
-	snprintf(priv->subdev.name, V4L2_SUBDEV_NAME_SIZE, "%s %s",
+	snprintf(priv->subdev.name, sizeof(priv->subdev.name), "%s %s",
 		 KBUILD_MODNAME, dev_name(&pdev->dev));
 	priv->subdev.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
 
diff --git a/drivers/media/platform/ti/omap3isp/ispstat.c b/drivers/media/platform/ti/omap3isp/ispstat.c
index 68cf68dbcace..359a846205b0 100644
--- a/drivers/media/platform/ti/omap3isp/ispstat.c
+++ b/drivers/media/platform/ti/omap3isp/ispstat.c
@@ -1039,7 +1039,7 @@  static int isp_stat_init_entities(struct ispstat *stat, const char *name,
 	struct media_entity *me = &subdev->entity;
 
 	v4l2_subdev_init(subdev, sd_ops);
-	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "OMAP3 ISP %s", name);
+	snprintf(subdev->name, sizeof(subdev->name), "OMAP3 ISP %s", name);
 	subdev->grp_id = BIT(16);	/* group ID for isp subdevs */
 	subdev->flags |= V4L2_SUBDEV_FL_HAS_EVENTS | V4L2_SUBDEV_FL_HAS_DEVNODE;
 	v4l2_set_subdevdata(subdev, stat);
diff --git a/drivers/staging/media/tegra-video/csi.c b/drivers/staging/media/tegra-video/csi.c
index e79657920dc8..9aa72863c213 100644
--- a/drivers/staging/media/tegra-video/csi.c
+++ b/drivers/staging/media/tegra-video/csi.c
@@ -607,10 +607,10 @@  static int tegra_csi_channel_init(struct tegra_csi_channel *chan)
 	v4l2_subdev_init(subdev, &tegra_csi_ops);
 	subdev->dev = csi->dev;
 	if (IS_ENABLED(CONFIG_VIDEO_TEGRA_TPG))
-		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s-%d", "tpg",
+		snprintf(subdev->name, sizeof(subdev->name), "%s-%d", "tpg",
 			 chan->csi_port_nums[0]);
 	else
-		snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
+		snprintf(subdev->name, sizeof(subdev->name), "%s",
 			 kbasename(chan->of_node->full_name));
 
 	v4l2_set_subdevdata(subdev, chan);
diff --git a/drivers/staging/media/tegra-video/vip.c b/drivers/staging/media/tegra-video/vip.c
index 191ecd19a6a7..e95cc7bb190e 100644
--- a/drivers/staging/media/tegra-video/vip.c
+++ b/drivers/staging/media/tegra-video/vip.c
@@ -163,7 +163,7 @@  static int tegra_vip_channel_init(struct tegra_vip *vip)
 	subdev = &vip->chan.subdev;
 	v4l2_subdev_init(subdev, &tegra_vip_ops);
 	subdev->dev = vip->dev;
-	snprintf(subdev->name, V4L2_SUBDEV_NAME_SIZE, "%s",
+	snprintf(subdev->name, sizeof(subdev->name), "%s",
 		 kbasename(vip->chan.of_node->full_name));
 
 	v4l2_set_subdevdata(subdev, &vip->chan);
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h
index 5711354056b9..c1f90c1223a7 100644
--- a/include/media/v4l2-subdev.h
+++ b/include/media/v4l2-subdev.h
@@ -951,8 +951,6 @@  struct v4l2_subdev_internal_ops {
 	void (*release)(struct v4l2_subdev *sd);
 };
 
-#define V4L2_SUBDEV_NAME_SIZE 52
-
 /* Set this flag if this subdev is a i2c device. */
 #define V4L2_SUBDEV_FL_IS_I2C			(1U << 0)
 /* Set this flag if this subdev is a spi device. */
@@ -1062,7 +1060,7 @@  struct v4l2_subdev {
 	const struct v4l2_subdev_ops *ops;
 	const struct v4l2_subdev_internal_ops *internal_ops;
 	struct v4l2_ctrl_handler *ctrl_handler;
-	char name[V4L2_SUBDEV_NAME_SIZE];
+	char name[52];
 	u32 grp_id;
 	void *dev_priv;
 	void *host_priv;