[U-Boot] [PATCH] video: ipu_disp: squash clang warning
Jeroen Hofstee
jeroen at myspectrum.nl
Mon Jun 16 22:37:55 CEST 2014
On ma, 2014-06-16 at 12:52 -0700, Troy Kisky wrote:
> On 6/16/2014 12:41 PM, Jeroen Hofstee wrote:
> > Since &rgb2ycbcr_coeff and friends are declared const, but
> > assigned to a void pointer, clang will warn that the const
> > is implicity casted away. Add const to indicate the pointer
> > points to const data to get rid of these warnings.
> >
> > Cc: Stefano Babic <sbabic at denx.de>
> > Signed-off-by: Jeroen Hofstee <jeroen at myspectrum.nl>
> > ---
> > drivers/video/ipu_disp.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/video/ipu_disp.c b/drivers/video/ipu_disp.c
> > index cefd2dc..31b5a10 100644
> > --- a/drivers/video/ipu_disp.c
> > +++ b/drivers/video/ipu_disp.c
> > @@ -33,7 +33,7 @@ enum csc_type_t {
> >
> > struct dp_csc_param_t {
> > int mode;
> > - void *coeff;
> > + void * const coeff;
> > };
> >
> > #define SYNC_WAVE 0
> >
>
> Doesn't this says the pointer is constant, not that it points to constant data?
> So, commit log needs updated or
> const void *coeff;
The reason I wrongly changed it from void const * to void * const was to
circumvent gcc complaining with:
drivers/video/ipu_disp.c: In function ‘ipu_dp_csc_setup’:
drivers/video/ipu_disp.c:393:8: warning: assignment discards ‘const’
qualifier from pointer target type [enabled by default]
This can be solved with:
@@ -390,7 +390,7 @@ void ipu_dp_csc_setup(int dp, struct dp_csc_param_t
dp_csc_param,
__raw_writel(reg, DP_COM_CONF());
}
- coeff = dp_csc_param.coeff;
+ coeff = (const int (*)[5][3]) dp_csc_param.coeff;
if (coeff) {
__raw_writel(mask_a((*coeff)[0][0]) |
But I am not too happy with that. Happen to know a better way?
Regards,
Jeroen
More information about the U-Boot
mailing list