* [PATCH 1/2] media: atomisp: fix gcc warnings
@ 2020-09-23 8:21 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2020-09-23 8:21 UTC (permalink / raw)
To: Linux Media Mailing List
Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
Gustavo A. R. Silva, Andy Shevchenko, Greg Kroah-Hartman,
Mauro Carvalho Chehab, Sakari Ailus, devel, linux-kernel
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 <mchehab+huawei@kernel.org>
---
.../staging/media/atomisp/pci/atomisp_compat_css20.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
index 28796ec177e3..85b39de7bc28 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,
--
2.26.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 1/2] media: atomisp: fix gcc warnings
@ 2020-09-23 8:21 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2020-09-23 8:21 UTC (permalink / raw)
To: Linux Media Mailing List
Cc: devel, Mauro Carvalho Chehab, Mauro Carvalho Chehab,
Greg Kroah-Hartman, linuxarm, Gustavo A. R. Silva, Sakari Ailus,
mauro.chehab, Andy Shevchenko, linux-kernel
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 <mchehab+huawei@kernel.org>
---
.../staging/media/atomisp/pci/atomisp_compat_css20.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
index 28796ec177e3..85b39de7bc28 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,
--
2.26.2
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] media: atomisp: cleanup __printf() atributes on printk messages
2020-09-23 8:21 ` Mauro Carvalho Chehab
@ 2020-09-23 8:22 ` Mauro Carvalho Chehab
-1 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2020-09-23 8:22 UTC (permalink / raw)
To: Linux Media Mailing List
Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
Gustavo A. R. Silva, Andy Shevchenko, Greg Kroah-Hartman,
Mauro Carvalho Chehab, Sakari Ailus, devel, linux-kernel
There are still some warnings produced by -Wsuggest-attribute=format,
like this one:
drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c: In function ‘dtrace_dot’:
drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c:2466:2: warning: function ‘dtrace_dot’ might be a candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
2466 | ia_css_debug_vdtrace(IA_CSS_DEBUG_INFO, fmt, ap);
| ^~~~~~~~~~~~~~~~~~~~
Also, on some places, is is using __atribute, while on others it
is using the __printf() macro.
Uniform those to always use the __printf() macro, placing it
before the function, and fix the logic in order to cleanup
all such warnings.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/staging/media/atomisp/pci/atomisp_compat_css20.c | 7 +++----
.../atomisp/pci/hive_isp_css_include/print_support.h | 3 +--
drivers/staging/media/atomisp/pci/ia_css_env.h | 4 ++--
.../atomisp/pci/runtime/debug/interface/ia_css_debug.h | 9 +++++----
.../media/atomisp/pci/runtime/debug/src/ia_css_debug.c | 3 +--
drivers/staging/media/atomisp/pci/sh_css.c | 2 +-
drivers/staging/media/atomisp/pci/sh_css_internal.h | 8 +++-----
7 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
index 85b39de7bc28..faa0935e536a 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
@@ -159,15 +159,14 @@ static void atomisp_css2_hw_load(hrt_address addr, void *to, uint32_t n)
spin_unlock_irqrestore(&mmio_lock, flags);
}
-static int __attribute__((format (printf, 1, 0)))
-atomisp_css2_dbg_ftrace_print(const char *fmt, va_list args)
+static int __printf(1, 0) atomisp_css2_dbg_ftrace_print(const char *fmt,
+ va_list args)
{
ftrace_vprintk(fmt, args);
return 0;
}
-static int __attribute__((format (printf, 1, 0)))
-atomisp_vprintk(const char *fmt, va_list args)
+static int __printf(1, 0) atomisp_vprintk(const char *fmt, va_list args)
{
vprintk(fmt, args);
return 0;
diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
index 749f5c3725bd..540b405cc0f7 100644
--- a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
+++ b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
@@ -20,8 +20,7 @@
extern int (*sh_css_printf)(const char *fmt, va_list args);
/* depends on host supplied print function in ia_css_init() */
-static inline __attribute__((format (printf, 1, 0)))
-void ia_css_print(const char *fmt, ...)
+static inline __printf(1, 2) void ia_css_print(const char *fmt, ...)
{
va_list ap;
diff --git a/drivers/staging/media/atomisp/pci/ia_css_env.h b/drivers/staging/media/atomisp/pci/ia_css_env.h
index 9808ff9e0492..6b38723b27cd 100644
--- a/drivers/staging/media/atomisp/pci/ia_css_env.h
+++ b/drivers/staging/media/atomisp/pci/ia_css_env.h
@@ -75,9 +75,9 @@ struct ia_css_hw_access_env {
/* Environment with function pointers to print error and debug messages.
*/
struct ia_css_print_env {
- int (*debug_print)(const char *fmt, va_list args) __attribute__((format (printf, 1, 0)));
+ int __printf(1, 0) (*debug_print)(const char *fmt, va_list args);
/** Print a debug message. */
- int (*error_print)(const char *fmt, va_list args) __attribute__((format (printf, 1, 0)));
+ int __printf(1, 0) (*error_print)(const char *fmt, va_list args);
/** Print an error message.*/
};
diff --git a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
index 0f9b7eb17647..5e6e7447ae00 100644
--- a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
+++ b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
@@ -129,15 +129,16 @@ enum ia_css_debug_enable_param_dump {
* @param[in] fmt printf like format string
* @param[in] args arguments for the format string
*/
-static inline void
-ia_css_debug_vdtrace(unsigned int level, const char *fmt, va_list args)
+static inline void __printf(2, 0) ia_css_debug_vdtrace(unsigned int level,
+ const char *fmt,
+ va_list args)
{
if (dbg_level >= level)
sh_css_vprint(fmt, args);
}
-__printf(2, 3)
-void ia_css_debug_dtrace(unsigned int level, const char *fmt, ...);
+__printf(2, 3) void ia_css_debug_dtrace(unsigned int level,
+ const char *fmt, ...);
/*! @brief Dump sp thread's stack contents
* SP thread's stack contents are set to 0xcafecafe. This function dumps the
diff --git a/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c b/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
index 4f637e7219a6..05ce0f73f5ae 100644
--- a/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
+++ b/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
@@ -2454,8 +2454,7 @@ ia_css_debug_mode_enable_dma_channel(int dma_id,
return rc;
}
-static
-void dtrace_dot(const char *fmt, ...)
+static void __printf(1, 2) dtrace_dot(const char *fmt, ...)
{
va_list ap;
diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c
index c50b5fba7b86..e8c5caf3dfe6 100644
--- a/drivers/staging/media/atomisp/pci/sh_css.c
+++ b/drivers/staging/media/atomisp/pci/sh_css.c
@@ -111,7 +111,7 @@ static int thread_alive;
struct sh_css my_css;
-int (*sh_css_printf)(const char *fmt, va_list args) = NULL;
+int __printf(1, 0) (*sh_css_printf)(const char *fmt, va_list args) = NULL;
/* modes of work: stream_create and stream_destroy will update the save/restore data
only when in working mode, not suspend/resume
diff --git a/drivers/staging/media/atomisp/pci/sh_css_internal.h b/drivers/staging/media/atomisp/pci/sh_css_internal.h
index 415353ceb7f6..3c669ec79b68 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_internal.h
+++ b/drivers/staging/media/atomisp/pci/sh_css_internal.h
@@ -907,10 +907,9 @@ struct host_sp_queues {
#define SIZE_OF_HOST_SP_QUEUES_STRUCT \
(SIZE_OF_QUEUES_ELEMS + SIZE_OF_QUEUES_DESC)
-extern int (*sh_css_printf)(const char *fmt, va_list args);
+extern int __printf(1, 0) (*sh_css_printf)(const char *fmt, va_list args);
-static inline void
-sh_css_print(const char *fmt, ...)
+static inline void __printf(1, 2) sh_css_print(const char *fmt, ...)
{
va_list ap;
@@ -921,8 +920,7 @@ sh_css_print(const char *fmt, ...)
}
}
-static inline void
-sh_css_vprint(const char *fmt, va_list args)
+static inline void __printf(1, 0) sh_css_vprint(const char *fmt, va_list args)
{
if (sh_css_printf)
sh_css_printf(fmt, args);
--
2.26.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] media: atomisp: cleanup __printf() atributes on printk messages
@ 2020-09-23 8:22 ` Mauro Carvalho Chehab
0 siblings, 0 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2020-09-23 8:22 UTC (permalink / raw)
To: Linux Media Mailing List
Cc: devel, Mauro Carvalho Chehab, Mauro Carvalho Chehab,
Greg Kroah-Hartman, linuxarm, Gustavo A. R. Silva, Sakari Ailus,
mauro.chehab, Andy Shevchenko, linux-kernel
There are still some warnings produced by -Wsuggest-attribute=format,
like this one:
drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c: In function ‘dtrace_dot’:
drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c:2466:2: warning: function ‘dtrace_dot’ might be a candidate for ‘gnu_printf’ format attribute [-Wsuggest-attribute=format]
2466 | ia_css_debug_vdtrace(IA_CSS_DEBUG_INFO, fmt, ap);
| ^~~~~~~~~~~~~~~~~~~~
Also, on some places, is is using __atribute, while on others it
is using the __printf() macro.
Uniform those to always use the __printf() macro, placing it
before the function, and fix the logic in order to cleanup
all such warnings.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
drivers/staging/media/atomisp/pci/atomisp_compat_css20.c | 7 +++----
.../atomisp/pci/hive_isp_css_include/print_support.h | 3 +--
drivers/staging/media/atomisp/pci/ia_css_env.h | 4 ++--
.../atomisp/pci/runtime/debug/interface/ia_css_debug.h | 9 +++++----
.../media/atomisp/pci/runtime/debug/src/ia_css_debug.c | 3 +--
drivers/staging/media/atomisp/pci/sh_css.c | 2 +-
drivers/staging/media/atomisp/pci/sh_css_internal.h | 8 +++-----
7 files changed, 16 insertions(+), 20 deletions(-)
diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
index 85b39de7bc28..faa0935e536a 100644
--- a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
+++ b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
@@ -159,15 +159,14 @@ static void atomisp_css2_hw_load(hrt_address addr, void *to, uint32_t n)
spin_unlock_irqrestore(&mmio_lock, flags);
}
-static int __attribute__((format (printf, 1, 0)))
-atomisp_css2_dbg_ftrace_print(const char *fmt, va_list args)
+static int __printf(1, 0) atomisp_css2_dbg_ftrace_print(const char *fmt,
+ va_list args)
{
ftrace_vprintk(fmt, args);
return 0;
}
-static int __attribute__((format (printf, 1, 0)))
-atomisp_vprintk(const char *fmt, va_list args)
+static int __printf(1, 0) atomisp_vprintk(const char *fmt, va_list args)
{
vprintk(fmt, args);
return 0;
diff --git a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
index 749f5c3725bd..540b405cc0f7 100644
--- a/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
+++ b/drivers/staging/media/atomisp/pci/hive_isp_css_include/print_support.h
@@ -20,8 +20,7 @@
extern int (*sh_css_printf)(const char *fmt, va_list args);
/* depends on host supplied print function in ia_css_init() */
-static inline __attribute__((format (printf, 1, 0)))
-void ia_css_print(const char *fmt, ...)
+static inline __printf(1, 2) void ia_css_print(const char *fmt, ...)
{
va_list ap;
diff --git a/drivers/staging/media/atomisp/pci/ia_css_env.h b/drivers/staging/media/atomisp/pci/ia_css_env.h
index 9808ff9e0492..6b38723b27cd 100644
--- a/drivers/staging/media/atomisp/pci/ia_css_env.h
+++ b/drivers/staging/media/atomisp/pci/ia_css_env.h
@@ -75,9 +75,9 @@ struct ia_css_hw_access_env {
/* Environment with function pointers to print error and debug messages.
*/
struct ia_css_print_env {
- int (*debug_print)(const char *fmt, va_list args) __attribute__((format (printf, 1, 0)));
+ int __printf(1, 0) (*debug_print)(const char *fmt, va_list args);
/** Print a debug message. */
- int (*error_print)(const char *fmt, va_list args) __attribute__((format (printf, 1, 0)));
+ int __printf(1, 0) (*error_print)(const char *fmt, va_list args);
/** Print an error message.*/
};
diff --git a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
index 0f9b7eb17647..5e6e7447ae00 100644
--- a/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
+++ b/drivers/staging/media/atomisp/pci/runtime/debug/interface/ia_css_debug.h
@@ -129,15 +129,16 @@ enum ia_css_debug_enable_param_dump {
* @param[in] fmt printf like format string
* @param[in] args arguments for the format string
*/
-static inline void
-ia_css_debug_vdtrace(unsigned int level, const char *fmt, va_list args)
+static inline void __printf(2, 0) ia_css_debug_vdtrace(unsigned int level,
+ const char *fmt,
+ va_list args)
{
if (dbg_level >= level)
sh_css_vprint(fmt, args);
}
-__printf(2, 3)
-void ia_css_debug_dtrace(unsigned int level, const char *fmt, ...);
+__printf(2, 3) void ia_css_debug_dtrace(unsigned int level,
+ const char *fmt, ...);
/*! @brief Dump sp thread's stack contents
* SP thread's stack contents are set to 0xcafecafe. This function dumps the
diff --git a/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c b/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
index 4f637e7219a6..05ce0f73f5ae 100644
--- a/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
+++ b/drivers/staging/media/atomisp/pci/runtime/debug/src/ia_css_debug.c
@@ -2454,8 +2454,7 @@ ia_css_debug_mode_enable_dma_channel(int dma_id,
return rc;
}
-static
-void dtrace_dot(const char *fmt, ...)
+static void __printf(1, 2) dtrace_dot(const char *fmt, ...)
{
va_list ap;
diff --git a/drivers/staging/media/atomisp/pci/sh_css.c b/drivers/staging/media/atomisp/pci/sh_css.c
index c50b5fba7b86..e8c5caf3dfe6 100644
--- a/drivers/staging/media/atomisp/pci/sh_css.c
+++ b/drivers/staging/media/atomisp/pci/sh_css.c
@@ -111,7 +111,7 @@ static int thread_alive;
struct sh_css my_css;
-int (*sh_css_printf)(const char *fmt, va_list args) = NULL;
+int __printf(1, 0) (*sh_css_printf)(const char *fmt, va_list args) = NULL;
/* modes of work: stream_create and stream_destroy will update the save/restore data
only when in working mode, not suspend/resume
diff --git a/drivers/staging/media/atomisp/pci/sh_css_internal.h b/drivers/staging/media/atomisp/pci/sh_css_internal.h
index 415353ceb7f6..3c669ec79b68 100644
--- a/drivers/staging/media/atomisp/pci/sh_css_internal.h
+++ b/drivers/staging/media/atomisp/pci/sh_css_internal.h
@@ -907,10 +907,9 @@ struct host_sp_queues {
#define SIZE_OF_HOST_SP_QUEUES_STRUCT \
(SIZE_OF_QUEUES_ELEMS + SIZE_OF_QUEUES_DESC)
-extern int (*sh_css_printf)(const char *fmt, va_list args);
+extern int __printf(1, 0) (*sh_css_printf)(const char *fmt, va_list args);
-static inline void
-sh_css_print(const char *fmt, ...)
+static inline void __printf(1, 2) sh_css_print(const char *fmt, ...)
{
va_list ap;
@@ -921,8 +920,7 @@ sh_css_print(const char *fmt, ...)
}
}
-static inline void
-sh_css_vprint(const char *fmt, va_list args)
+static inline void __printf(1, 0) sh_css_vprint(const char *fmt, va_list args)
{
if (sh_css_printf)
sh_css_printf(fmt, args);
--
2.26.2
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply related [flat|nested] 6+ messages in thread
* RE: [PATCH 1/2] media: atomisp: fix gcc warnings
2020-09-23 8:21 ` Mauro Carvalho Chehab
@ 2020-09-23 8:33 ` David Laight
-1 siblings, 0 replies; 6+ messages in thread
From: David Laight @ 2020-09-23 8:33 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Linux Media Mailing List
Cc: linuxarm, mauro.chehab, Gustavo A. R. Silva, Andy Shevchenko,
Greg Kroah-Hartman, Mauro Carvalho Chehab, Sakari Ailus, devel,
linux-kernel
From: Mauro Carvalho Chehab
> Sent: 23 September 2020 09:22
>
> 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.
That looks like completely the wrong commit message.
From the error message it looks like vprintk() is using a non-standard
calling convention '__attribute__((regparm(0)))' so can't be assigned
to 'debug_print' - which expects the normal convention.
The fix is correct though.
David
>
> Fixes: 72a9ff3bf7fb ("media: atomisp: get rid of -Wsuggest-attribute=format warnings")
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> .../staging/media/atomisp/pci/atomisp_compat_css20.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
> b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
> index 28796ec177e3..85b39de7bc28 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,
> --
> 2.26.2
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH 1/2] media: atomisp: fix gcc warnings
@ 2020-09-23 8:33 ` David Laight
0 siblings, 0 replies; 6+ messages in thread
From: David Laight @ 2020-09-23 8:33 UTC (permalink / raw)
To: 'Mauro Carvalho Chehab', Linux Media Mailing List
Cc: devel, Andy Shevchenko, Greg Kroah-Hartman, linuxarm,
Gustavo A. R. Silva, Sakari Ailus, mauro.chehab,
Mauro Carvalho Chehab, linux-kernel
From: Mauro Carvalho Chehab
> Sent: 23 September 2020 09:22
>
> 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.
That looks like completely the wrong commit message.
From the error message it looks like vprintk() is using a non-standard
calling convention '__attribute__((regparm(0)))' so can't be assigned
to 'debug_print' - which expects the normal convention.
The fix is correct though.
David
>
> Fixes: 72a9ff3bf7fb ("media: atomisp: get rid of -Wsuggest-attribute=format warnings")
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> .../staging/media/atomisp/pci/atomisp_compat_css20.c | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
> b/drivers/staging/media/atomisp/pci/atomisp_compat_css20.c
> index 28796ec177e3..85b39de7bc28 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,
> --
> 2.26.2
-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)
_______________________________________________
devel mailing list
devel@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-09-23 8:33 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-23 8:21 [PATCH 1/2] media: atomisp: fix gcc warnings Mauro Carvalho Chehab
2020-09-23 8:21 ` Mauro Carvalho Chehab
2020-09-23 8:22 ` [PATCH 2/2] media: atomisp: cleanup __printf() atributes on printk messages Mauro Carvalho Chehab
2020-09-23 8:22 ` Mauro Carvalho Chehab
2020-09-23 8:33 ` [PATCH 1/2] media: atomisp: fix gcc warnings David Laight
2020-09-23 8:33 ` David Laight
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.