[PATCH] i2c/busses: fix -Wmissing-variable-declarations

From: Nick Desaulniers
Date: Tue Aug 08 2023 - 15:50:33 EST


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>