The dell-wmi-sysman and think-lmi kernel modules both have a global struct class *fw_attr_class variable, leading to the following compile errors when both are builtin: ld: drivers/platform/x86/think-lmi.o:(.bss+0x0): multiple definition of `fw_attr_class'; drivers/platform/x86/dell/dell-wmi-sysman/sysman.o:(.bss+0x0): first defined here In both cases the variable is only used in the file where it is declared. Make both declarations static to avoid the linker error. Cc: Mark Pearson <markpearson@xxxxxxxxxx> Cc: Dell.Client.Kernel@xxxxxxxx Reported-by: Nathan Chancellor <nathan@xxxxxxxxxx> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- drivers/platform/x86/dell/dell-wmi-sysman/sysman.c | 2 +- drivers/platform/x86/think-lmi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c index 1378c1878658..636bdfa83284 100644 --- a/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c +++ b/drivers/platform/x86/dell/dell-wmi-sysman/sysman.c @@ -25,7 +25,7 @@ struct wmi_sysman_priv wmi_priv = { /* reset bios to defaults */ static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"}; static int reset_option = -1; -struct class *fw_attr_class; +static struct class *fw_attr_class; /** diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c index 782d8e3fe7a1..c6413b906e4a 100644 --- a/drivers/platform/x86/think-lmi.c +++ b/drivers/platform/x86/think-lmi.c @@ -134,7 +134,7 @@ static const char * const encoding_options[] = { [TLMI_ENCODING_SCANCODE] = "scancode", }; static struct think_lmi tlmi_priv; -struct class *fw_attr_class; +static struct class *fw_attr_class; /* ------ Utility functions ------------*/ /* Convert BIOS WMI error string to suitable error code */ -- 2.31.1