]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
platform/x86: make fw_attr_class constant
authorRicardo B. Marliere <ricardo@marliere.net>
Tue, 5 Mar 2024 18:55:04 +0000 (15:55 -0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:03:09 +0000 (16:03 +0200)
[ Upstream commit 5878e5b760b6fcf7bc00dec085ba2b439a929871 ]

Since commit 43a7206b0963 ("driver core: class: make class_register() take
a const *"), the driver core allows for struct class to be in read-only
memory, so move the fw_attr_class structure to be declared at build time
placing it into read-only memory, instead of having to be dynamically
allocated at boot time.

Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Suggested-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: "Ricardo B. Marliere" <ricardo@marliere.net>
Link: https://lore.kernel.org/r/20240305-class_cleanup-platform-v1-1-9085c97b9355@marliere.net
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Stable-dep-of: 5ff1fbb30597 ("platform/x86: think-lmi: Fix class device unregistration")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/platform/x86/dell/dell-wmi-sysman/sysman.c
drivers/platform/x86/firmware_attributes_class.c
drivers/platform/x86/firmware_attributes_class.h
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c
drivers/platform/x86/think-lmi.c

index f567d37a64a33c3bd36c5120af6b35eacbcfbc8c..decb3b997d86a835ec962dc04456ecd07b55309a 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;
-static struct class *fw_attr_class;
+static const struct class *fw_attr_class;
 
 
 /**
index fafe8eaf6e3e4e164c325584302f9389bfc4f737..dd8240009565dde6381c6103a93110f181463b68 100644 (file)
 static DEFINE_MUTEX(fw_attr_lock);
 static int fw_attr_inuse;
 
-static struct class firmware_attributes_class = {
+static const struct class firmware_attributes_class = {
        .name = "firmware-attributes",
 };
 
-int fw_attributes_class_get(struct class **fw_attr_class)
+int fw_attributes_class_get(const struct class **fw_attr_class)
 {
        int err;
 
index 486485cb1f54e3f5f89cb48ad0e65345d58b22a0..363c75f1ac1b89df879a8689b070e6b11d3bb7fd 100644 (file)
@@ -5,7 +5,7 @@
 #ifndef FW_ATTR_CLASS_H
 #define FW_ATTR_CLASS_H
 
-int fw_attributes_class_get(struct class **fw_attr_class);
+int fw_attributes_class_get(const struct class **fw_attr_class);
 int fw_attributes_class_put(void);
 
 #endif /* FW_ATTR_CLASS_H */
index 6ddca857cc4d1a02ca4664cb70865fc6df7d6e57..b8bac35ebd42ba02dc96019c79bb1ac167fb7639 100644 (file)
@@ -24,7 +24,7 @@ struct bioscfg_priv bioscfg_drv = {
        .mutex = __MUTEX_INITIALIZER(bioscfg_drv.mutex),
 };
 
-static struct class *fw_attr_class;
+static const struct class *fw_attr_class;
 
 ssize_t display_name_language_code_show(struct kobject *kobj,
                                        struct kobj_attribute *attr,
index 2396decdb3cb3f4d65e1188313ab83d8882ea5e0..3a496c615ce6bda26b1c6d2624c4b8d0d6c5329e 100644 (file)
@@ -195,7 +195,7 @@ static const char * const level_options[] = {
        [TLMI_LEVEL_MASTER] = "master",
 };
 static struct think_lmi tlmi_priv;
-static struct class *fw_attr_class;
+static const struct class *fw_attr_class;
 static DEFINE_MUTEX(tlmi_mutex);
 
 /* ------ Utility functions ------------*/