From patchwork Wed Sep 23 08:21:59 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 11794275 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 814416CA for ; Wed, 23 Sep 2020 08:22:09 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5B8BF2388B for ; Wed, 23 Sep 2020 08:22:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600849329; bh=DmXoYTsrp+5X+VdcYTdixz0bMYx13NlME21W5hL9F0k=; h=From:To:Cc:Subject:Date:List-ID:From; b=gzXIFaoZmXkW3akidb0Kwg3yBnj0n4gbrAUSvZ5o2s4giJp1JRez6lymVIn1ReBhM Cu9Nctu0x8iSrg92AFiO714wLsSU8/5O5cAvbTzO+0R/kZFMbYjOisK+Uf6kcWNYPT uTK7Gyc/1/HaWymFJcxGAzCoTyhAjNMLRmtsJuQk= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726566AbgIWIWG (ORCPT ); Wed, 23 Sep 2020 04:22:06 -0400 Received: from mail.kernel.org ([198.145.29.99]:33744 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726267AbgIWIWG (ORCPT ); Wed, 23 Sep 2020 04:22:06 -0400 Received: from mail.kernel.org (ip5f5ad5c8.dynamic.kabel-deutschland.de [95.90.213.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id C567A238A1; Wed, 23 Sep 2020 08:22:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600849325; bh=DmXoYTsrp+5X+VdcYTdixz0bMYx13NlME21W5hL9F0k=; h=From:To:Cc:Subject:Date:From; b=P5z88MhpNjVgVXiObYz3irhiottc6m/gxZCLppZ9IO1aU3TmCojaGwmOcVEXe+GTS HLKacSOzaqgbHwxfCeK2W32r0Dc0roB+V0a9yLUKL+18JNvpUnkBjfBA4bn3kyzS5P nQ/9A7ZS+ZRIKMqlxdVnksyasjb/yC4GOKkgZGmk= Received: from mchehab by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1kL02L-001F20-7o; Wed, 23 Sep 2020 10:22:01 +0200 From: Mauro Carvalho Chehab To: Linux Media Mailing List Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , "Gustavo A. R. Silva" , Andy Shevchenko , Greg Kroah-Hartman , Mauro Carvalho Chehab , Sakari Ailus , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/2] media: atomisp: fix gcc warnings Date: Wed, 23 Sep 2020 10:21:59 +0200 Message-Id: <8e3d5d4baf0781974a224e284e837665c0d26f92.1600849288.git.mchehab+huawei@kernel.org> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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 --- .../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, From patchwork Wed Sep 23 08:22:00 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mauro Carvalho Chehab X-Patchwork-Id: 11794277 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 31C041668 for ; Wed, 23 Sep 2020 08:22:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 14E2D23899 for ; Wed, 23 Sep 2020 08:22:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600849333; bh=jLE0auYGkt+7QEDu1/gRGx9UABSeW0dI/eNeyaaSz88=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=B0dMJRRuyW/DCk31lXqJxgkOGA9oM5QcfUMJRPonFiUbxGvqq00SfzauUt9i2OUSh fkuBghoOYn/7FE6F8wB4NzZYD/ZzFm2Q/u9A7C2wcABymUj98ZWsyV/DdwDN+bYeU3 nlX9pWiDsqBINGcdzgUhlFij+dY5UJZDd5GWNX6s= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726360AbgIWIWF (ORCPT ); Wed, 23 Sep 2020 04:22:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:33688 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726178AbgIWIWF (ORCPT ); Wed, 23 Sep 2020 04:22:05 -0400 Received: from mail.kernel.org (ip5f5ad5c8.dynamic.kabel-deutschland.de [95.90.213.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 0406E235FC; Wed, 23 Sep 2020 08:22:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1600849324; bh=jLE0auYGkt+7QEDu1/gRGx9UABSeW0dI/eNeyaaSz88=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=g3jvSufxvkEVJHt2kCMIYZ8ZFbP+NR8TpIuCsdUaI5rTHLLiJRyEVEFfNXvCjWk07 tMuz5h+5LNMYi1p2vwFPQE0M34dFZeruUMyIOH6C1H6262Df7SO2iTjoVjSfYh5cX2 YCGC0gcWRj1sHLPpSlDRYMyRu0Tg/h5koCNetC+I= Received: from mchehab by mail.kernel.org with local (Exim 4.94) (envelope-from ) id 1kL02L-001F22-92; Wed, 23 Sep 2020 10:22:01 +0200 From: Mauro Carvalho Chehab To: Linux Media Mailing List Cc: linuxarm@huawei.com, mauro.chehab@huawei.com, Mauro Carvalho Chehab , "Gustavo A. R. Silva" , Andy Shevchenko , Greg Kroah-Hartman , Mauro Carvalho Chehab , Sakari Ailus , devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] media: atomisp: cleanup __printf() atributes on printk messages Date: Wed, 23 Sep 2020 10:22:00 +0200 Message-Id: <01cc2ec6ea044731e939e5e47f7e115b86f49465.1600849288.git.mchehab+huawei@kernel.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <8e3d5d4baf0781974a224e284e837665c0d26f92.1600849288.git.mchehab+huawei@kernel.org> References: <8e3d5d4baf0781974a224e284e837665c0d26f92.1600849288.git.mchehab+huawei@kernel.org> MIME-Version: 1.0 Sender: Mauro Carvalho Chehab Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org 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 --- 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);