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

Reply via email to