From: Mauro Carvalho Chehab Date: Wed, 23 Sep 2020 07:48:20 +0000 (+0200) Subject: media: atomisp: fix gcc warnings X-Git-Tag: v5.10.7~1469^2~196 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8e3d5d4baf0781974a224e284e837665c0d26f92;p=platform%2Fkernel%2Flinux-rpi.git media: atomisp: fix gcc warnings Depending on the gcc version, after changeset 72a9ff3bf7fb ("media: atomisp: get rid of -Wsuggest-attribute=format warnings"), we're now getting two warnings, which are breaking the Jenkins CI instance at https://builder.linuxtv.org: ../drivers/staging/media/atomisp/pci/atomisp_compat_css20.c: In function ‘__set_css_print_env’: ../drivers/staging/media/atomisp/pci/atomisp_compat_css20.c:860:50: error: assignment to ‘int (*)(const char *, char *)’ from incompatible pointer type ‘int (__attribute__((regparm(0))) *)(const char *, char *)’ [-Werror=incompatible-pointer-types] isp->css_env.isp_css_env.print_env.debug_print = vprintk; ^ ../drivers/staging/media/atomisp/pci/atomisp_compat_css20.c: In function ‘atomisp_css_load_firmware’: ../drivers/staging/media/atomisp/pci/atomisp_compat_css20.c:893:49: error: assignment to ‘int (*)(const char *, char *)’ from incompatible pointer type ‘int (__attribute__((regparm(0))) *)(const char *, char *)’ [-Werror=incompatible-pointer-types] isp->css_env.isp_css_env.print_env.error_print = vprintk; ^ cc1: some warnings being treated as errors So, we need to partially revert the patch. Fixes: 72a9ff3bf7fb ("media: atomisp: get rid of -Wsuggest-attribute=format warnings") Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c index 28796ec..85b39de 100644 --- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c +++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c @@ -166,6 +166,13 @@ atomisp_css2_dbg_ftrace_print(const char *fmt, va_list args) return 0; } +static int __attribute__((format (printf, 1, 0))) +atomisp_vprintk(const char *fmt, va_list args) +{ + vprintk(fmt, args); + return 0; +} + void atomisp_load_uint32(hrt_address addr, uint32_t *data) { *data = atomisp_css2_hw_load_32(addr); @@ -857,7 +864,7 @@ static inline int __set_css_print_env(struct atomisp_device *isp, int opt) isp->css_env.isp_css_env.print_env.debug_print = atomisp_css2_dbg_ftrace_print; else if (opt == 2) - isp->css_env.isp_css_env.print_env.debug_print = vprintk; + isp->css_env.isp_css_env.print_env.debug_print = atomisp_vprintk; else ret = -EINVAL; @@ -890,7 +897,7 @@ int atomisp_css_load_firmware(struct atomisp_device *isp) __set_css_print_env(isp, dbg_func); - isp->css_env.isp_css_env.print_env.error_print = vprintk; + isp->css_env.isp_css_env.print_env.error_print = atomisp_vprintk; /* load isp fw into ISP memory */ err = ia_css_load_firmware(isp->dev, &isp->css_env.isp_css_env,