[PATCH] drm/plane: Fix sparse warnings

Matt Roper matthew.d.roper at intel.com
Tue May 13 07:28:01 PDT 2014


On Tue, May 13, 2014 at 12:47:42PM +0200, Thierry Reding wrote:
> From: Thierry Reding <treding at nvidia.com>
> 
> Include the drm_plane_helper.h header file to fix the following sparse
> warnings:
> 
> 	  CHECK   drivers/gpu/drm/drm_plane_helper.c
> 	drivers/gpu/drm/drm_plane_helper.c:102:5: warning: symbol 'drm_primary_helper_update' was not declared. Should it be static?
> 	drivers/gpu/drm/drm_plane_helper.c:219:5: warning: symbol 'drm_primary_helper_disable' was not declared. Should it be static?
> 	drivers/gpu/drm/drm_plane_helper.c:233:6: warning: symbol 'drm_primary_helper_destroy' was not declared. Should it be static?
> 	drivers/gpu/drm/drm_plane_helper.c:241:30: warning: symbol 'drm_primary_helper_funcs' was not declared. Should it be static?
> 	drivers/gpu/drm/drm_plane_helper.c:259:18: warning: symbol 'drm_primary_helper_create_plane' was not declared. Should it be static?
> 
> Doing that makes gcc complain as follows:
> 
> 	  CC      drivers/gpu/drm/drm_plane_helper.o
> 	drivers/gpu/drm/drm_plane_helper.c:260:19: error: conflicting types for 'drm_primary_helper_create_plane'
> 	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
> 	                   ^
> 	In file included from drivers/gpu/drm/drm_plane_helper.c:29:0:
> 	include/drm/drm_plane_helper.h:42:19: note: previous declaration of 'drm_primary_helper_create_plane' was here
> 	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
> 	                   ^
> 	drivers/gpu/drm/drm_plane_helper.c: In function 'drm_primary_helper_create_plane':
> 	drivers/gpu/drm/drm_plane_helper.c:274:11: warning: assignment discards 'const' qualifier from pointer target type
> 	   formats = safe_modeset_formats;
> 	           ^
> 	In file included from include/linux/linkage.h:6:0,
> 	                 from include/linux/kernel.h:6,
> 	                 from include/drm/drmP.h:45,
> 	                 from drivers/gpu/drm/drm_plane_helper.c:27:
> 	drivers/gpu/drm/drm_plane_helper.c: At top level:
> 	drivers/gpu/drm/drm_plane_helper.c:289:15: error: conflicting types for 'drm_primary_helper_create_plane'
> 	 EXPORT_SYMBOL(drm_primary_helper_create_plane);
> 	               ^
> 	include/linux/export.h:57:21: note: in definition of macro '__EXPORT_SYMBOL'
> 	  extern typeof(sym) sym;     \
> 	                     ^
> 	drivers/gpu/drm/drm_plane_helper.c:289:1: note: in expansion of macro 'EXPORT_SYMBOL'
> 	 EXPORT_SYMBOL(drm_primary_helper_create_plane);
> 	 ^
> 	In file included from drivers/gpu/drm/drm_plane_helper.c:29:0:
> 	include/drm/drm_plane_helper.h:42:19: note: previous declaration of 'drm_primary_helper_create_plane' was here
> 	 struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
> 	                   ^
> 
> Which can easily be fixed by making the signatures of the implementation
> and the prototype match.
> 
> Signed-off-by: Thierry Reding <treding at nvidia.com>

Reviewed-by: Matt Roper <matthew.d.roper at intel.com>

> ---
>  drivers/gpu/drm/drm_plane_helper.c | 1 +
>  include/drm/drm_plane_helper.h     | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/drm_plane_helper.c b/drivers/gpu/drm/drm_plane_helper.c
> index d2b1c03b3d71..63192420bab7 100644
> --- a/drivers/gpu/drm/drm_plane_helper.c
> +++ b/drivers/gpu/drm/drm_plane_helper.c
> @@ -26,6 +26,7 @@
>  #include <linux/list.h>
>  #include <drm/drmP.h>
>  #include <drm/drm_rect.h>
> +#include <drm/drm_plane_helper.h>
>  
>  #define SUBPIXEL_MASK 0xffff
>  
> diff --git a/include/drm/drm_plane_helper.h b/include/drm/drm_plane_helper.h
> index 09824becee3e..c5e7ab9503c8 100644
> --- a/include/drm/drm_plane_helper.h
> +++ b/include/drm/drm_plane_helper.h
> @@ -42,7 +42,7 @@ extern int drm_primary_helper_disable(struct drm_plane *plane);
>  extern void drm_primary_helper_destroy(struct drm_plane *plane);
>  extern const struct drm_plane_funcs drm_primary_helper_funcs;
>  extern struct drm_plane *drm_primary_helper_create_plane(struct drm_device *dev,
> -							 uint32_t *formats,
> +							 const uint32_t *formats,
>  							 int num_formats);
>  
>  
> -- 
> 1.9.2
> 

-- 
Matt Roper
Graphics Software Engineer
IoTG Platform Enabling & Development
Intel Corporation
(916) 356-2795


More information about the dri-devel mailing list