I'm looking to enable -Wmissing-variable-declarations behind W=1. 0day bot spotted the following instance: drivers/i2c/busses/i2c-amd756.c:286:20: warning: no previous extern declaration for non-static variable 'amd756_smbus' [-Wmissing-variable-declarations] 286 | struct i2c_adapter amd756_smbus = { | ^ drivers/i2c/busses/i2c-amd756.c:286:1: note: declare 'static' if the variable is not intended to be used outside of this translation unit 286 | struct i2c_adapter amd756_smbus = { | ^ This symbol is referenced by more than one translation unit, so create then include the correct header for their declarations. Reported-by: kernel test robot <lkp@xxxxxxxxx> Closes: https://lore.kernel.org/llvm/202308081000.tTL1ElTr-lkp@xxxxxxxxx/ Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx> --- drivers/i2c/busses/i2c-amd756-s4882.c | 3 +-- drivers/i2c/busses/i2c-amd756.c | 1 + drivers/i2c/busses/i2c-amd756.h | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/i2c/busses/i2c-amd756-s4882.c b/drivers/i2c/busses/i2c-amd756-s4882.c index 063274388a75..8156cfc43df3 100644 --- a/drivers/i2c/busses/i2c-amd756-s4882.c +++ b/drivers/i2c/busses/i2c-amd756-s4882.c @@ -26,8 +26,7 @@ #include <linux/init.h> #include <linux/i2c.h> #include <linux/mutex.h> - -extern struct i2c_adapter amd756_smbus; +#include "i2c-amd756.h" static struct i2c_adapter *s4882_adapter; static struct i2c_algorithm *s4882_algo; diff --git a/drivers/i2c/busses/i2c-amd756.c b/drivers/i2c/busses/i2c-amd756.c index ef1307a258e9..af77374d2ab3 100644 --- a/drivers/i2c/busses/i2c-amd756.c +++ b/drivers/i2c/busses/i2c-amd756.c @@ -31,6 +31,7 @@ #include <linux/i2c.h> #include <linux/acpi.h> #include <linux/io.h> +#include "i2c-amd756.h" /* AMD756 SMBus address offsets */ #define SMB_ADDR_OFFSET 0xE0 diff --git a/drivers/i2c/busses/i2c-amd756.h b/drivers/i2c/busses/i2c-amd756.h new file mode 100644 index 000000000000..88698266d6d8 --- /dev/null +++ b/drivers/i2c/busses/i2c-amd756.h @@ -0,0 +1,3 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#include <linux/i2c.h> +extern struct i2c_adapter amd756_smbus; --- base-commit: 14f9643dc90adea074a0ffb7a17d337eafc6a5cc change-id: 20230808-i2c-amd_static-81e5c27a84ce Best regards, -- Nick Desaulniers <ndesaulniers@xxxxxxxxxx>