Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1687503

Re: [PATCH] [media] vimc: set id_table for platform drivers

From Helen Koike <helen.koike@collabora.com>
Newsgroups linux.kernel
Subject Re: [PATCH] [media] vimc: set id_table for platform drivers
Date 2017-07-14 17:10 +0200
Message-ID <u3aoa-58i-31@gated-at.bofh.it> (permalink)
References <u34C6-Xc-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

Thanks for the patch

On 2017-07-14 05:58 AM, Javier Martinez Canillas wrote:
> The vimc platform drivers define a platform device ID table but these
> are not set to the .id_table field in the platform driver structure.
> 
> So the platform device ID table is only used to fill the aliases in
> the module but are not used for matching (works because the platform
> subsystem fallbacks to the driver's name if no .id_table is set).
> 
> But this also means that the platform device ID table isn't used if
> the driver is built-in, which leads to the following build warning:
> 
> This causes the following build warnings when the driver is built-in:
> 
> drivers/media/platform/vimc//vimc-capture.c:528:40: warning: ‘vimc_cap_driver_ids’ defined but not used [-Wunused-const-variable=]
>   static const struct platform_device_id vimc_cap_driver_ids[] = {
>                                          ^~~~~~~~~~~~~~~~~~~
> drivers/media/platform/vimc//vimc-debayer.c:588:40: warning: ‘vimc_deb_driver_ids’ defined but not used [-Wunused-const-variable=]
>   static const struct platform_device_id vimc_deb_driver_ids[] = {
>                                          ^~~~~~~~~~~~~~~~~~~
> drivers/media/platform/vimc//vimc-scaler.c:442:40: warning: ‘vimc_sca_driver_ids’ defined but not used [-Wunused-const-variable=]
>   static const struct platform_device_id vimc_sca_driver_ids[] = {
>                                          ^~~~~~~~~~~~~~~~~~~
> drivers/media/platform/vimc//vimc-sensor.c:376:40: warning: ‘vimc_sen_driver_ids’ defined but not used [-Wunused-const-variable=]
>   static const struct platform_device_id vimc_sen_driver_ids[] = {
>                                          ^~~~~~~~~~~~~~~~~~~
> 
> Reported-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
> Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
> Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>

Seems good to me.

Reviewed-by: Helen Koike <helen.koike@collabora.com>

> 
> ---
> 
>   drivers/media/platform/vimc/vimc-capture.c | 15 ++++++++-------
>   drivers/media/platform/vimc/vimc-debayer.c | 15 ++++++++-------
>   drivers/media/platform/vimc/vimc-scaler.c  | 15 ++++++++-------
>   drivers/media/platform/vimc/vimc-sensor.c  | 15 ++++++++-------
>   4 files changed, 32 insertions(+), 28 deletions(-)
> 
> diff --git a/drivers/media/platform/vimc/vimc-capture.c b/drivers/media/platform/vimc/vimc-capture.c
> index 14cb32e21130..88a1e5670c72 100644
> --- a/drivers/media/platform/vimc/vimc-capture.c
> +++ b/drivers/media/platform/vimc/vimc-capture.c
> @@ -517,21 +517,22 @@ static int vimc_cap_remove(struct platform_device *pdev)
>   	return 0;
>   }
>   
> +static const struct platform_device_id vimc_cap_driver_ids[] = {
> +	{
> +		.name           = VIMC_CAP_DRV_NAME,
> +	},
> +	{ }
> +};
> +
>   static struct platform_driver vimc_cap_pdrv = {
>   	.probe		= vimc_cap_probe,
>   	.remove		= vimc_cap_remove,
> +	.id_table	= vimc_cap_driver_ids,
>   	.driver		= {
>   		.name	= VIMC_CAP_DRV_NAME,
>   	},
>   };
>   
> -static const struct platform_device_id vimc_cap_driver_ids[] = {
> -	{
> -		.name           = VIMC_CAP_DRV_NAME,
> -	},
> -	{ }
> -};
> -
>   module_platform_driver(vimc_cap_pdrv);
>   
>   MODULE_DEVICE_TABLE(platform, vimc_cap_driver_ids);
> diff --git a/drivers/media/platform/vimc/vimc-debayer.c b/drivers/media/platform/vimc/vimc-debayer.c
> index 35b15bd4d61d..033a131f67af 100644
> --- a/drivers/media/platform/vimc/vimc-debayer.c
> +++ b/drivers/media/platform/vimc/vimc-debayer.c
> @@ -577,21 +577,22 @@ static int vimc_deb_remove(struct platform_device *pdev)
>   	return 0;
>   }
>   
> +static const struct platform_device_id vimc_deb_driver_ids[] = {
> +	{
> +		.name           = VIMC_DEB_DRV_NAME,
> +	},
> +	{ }
> +};
> +
>   static struct platform_driver vimc_deb_pdrv = {
>   	.probe		= vimc_deb_probe,
>   	.remove		= vimc_deb_remove,
> +	.id_table	= vimc_deb_driver_ids,
>   	.driver		= {
>   		.name	= VIMC_DEB_DRV_NAME,
>   	},
>   };
>   
> -static const struct platform_device_id vimc_deb_driver_ids[] = {
> -	{
> -		.name           = VIMC_DEB_DRV_NAME,
> -	},
> -	{ }
> -};
> -
>   module_platform_driver(vimc_deb_pdrv);
>   
>   MODULE_DEVICE_TABLE(platform, vimc_deb_driver_ids);
> diff --git a/drivers/media/platform/vimc/vimc-scaler.c b/drivers/media/platform/vimc/vimc-scaler.c
> index fe77505d2679..0a3e086e12f3 100644
> --- a/drivers/media/platform/vimc/vimc-scaler.c
> +++ b/drivers/media/platform/vimc/vimc-scaler.c
> @@ -431,21 +431,22 @@ static int vimc_sca_remove(struct platform_device *pdev)
>   	return 0;
>   }
>   
> +static const struct platform_device_id vimc_sca_driver_ids[] = {
> +	{
> +		.name           = VIMC_SCA_DRV_NAME,
> +	},
> +	{ }
> +};
> +
>   static struct platform_driver vimc_sca_pdrv = {
>   	.probe		= vimc_sca_probe,
>   	.remove		= vimc_sca_remove,
> +	.id_table	= vimc_sca_driver_ids,
>   	.driver		= {
>   		.name	= VIMC_SCA_DRV_NAME,
>   	},
>   };
>   
> -static const struct platform_device_id vimc_sca_driver_ids[] = {
> -	{
> -		.name           = VIMC_SCA_DRV_NAME,
> -	},
> -	{ }
> -};
> -
>   module_platform_driver(vimc_sca_pdrv);
>   
>   MODULE_DEVICE_TABLE(platform, vimc_sca_driver_ids);
> diff --git a/drivers/media/platform/vimc/vimc-sensor.c b/drivers/media/platform/vimc/vimc-sensor.c
> index ebdbbe8c05ed..615c2b18dcfc 100644
> --- a/drivers/media/platform/vimc/vimc-sensor.c
> +++ b/drivers/media/platform/vimc/vimc-sensor.c
> @@ -365,21 +365,22 @@ static int vimc_sen_remove(struct platform_device *pdev)
>   	return 0;
>   }
>   
> +static const struct platform_device_id vimc_sen_driver_ids[] = {
> +	{
> +		.name           = VIMC_SEN_DRV_NAME,
> +	},
> +	{ }
> +};
> +
>   static struct platform_driver vimc_sen_pdrv = {
>   	.probe		= vimc_sen_probe,
>   	.remove		= vimc_sen_remove,
> +	.id_table	= vimc_sen_driver_ids,
>   	.driver		= {
>   		.name	= VIMC_SEN_DRV_NAME,
>   	},
>   };
>   
> -static const struct platform_device_id vimc_sen_driver_ids[] = {
> -	{
> -		.name           = VIMC_SEN_DRV_NAME,
> -	},
> -	{ }
> -};
> -
>   module_platform_driver(vimc_sen_pdrv);
>   
>   MODULE_DEVICE_TABLE(platform, vimc_sen_driver_ids);
> 

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH] [media] vimc: set id_table for platform drivers Javier Martinez Canillas <javierm@redhat.com> - 2017-07-14 11:00 +0200
  Re: [PATCH] [media] vimc: set id_table for platform drivers Helen Koike <helen.koike@collabora.com> - 2017-07-14 17:10 +0200
  Re: [PATCH] [media] vimc: set id_table for platform drivers Sakari Ailus <sakari.ailus@iki.fi> - 2017-07-15 00:10 +0200

csiph-web