platform/x86: dell-wmi-sysman/think-lmi: Make fw_attr_class global static
authorHans de Goede <hdegoede@redhat.com>
Wed, 9 Jun 2021 14:59:52 +0000 (16:59 +0200)
committerHans de Goede <hdegoede@redhat.com>
Wed, 16 Jun 2021 15:47:55 +0000 (17:47 +0200)
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@lenovo.com>
Cc: Dell.Client.Kernel@dell.com
Reported-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20210609145952.113393-1-hdegoede@redhat.com
drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
drivers/platform/x86/think-lmi.c

index 1378c1878658259c777d4e7e80e261501abfd5f6..636bdfa83284d50acc239f88b01c76359d75f920 100644 (file)
@@ -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;
 
 
 /**
index 782d8e3fe7a1ee5b604d2bfeecd2947c3a735ce5..c6413b906e4a39ddca9c5db2049e7318f35f096d 100644 (file)
@@ -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 */