platform/x86: make fw_attr_class constant

[ Upstream commit 5878e5b760b6fcf7bc00dec085ba2b439a929871 ]

Since commit 43a7206b09 ("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>
This commit is contained in:
Ricardo B. Marliere
2024-03-05 15:55:04 -03:00
committed by Greg Kroah-Hartman
parent 3df1e72b7b
commit 9143d22a09
5 changed files with 6 additions and 6 deletions

View File

@@ -25,7 +25,7 @@ struct wmi_sysman_priv wmi_priv = {
/* reset bios to defaults */ /* reset bios to defaults */
static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"}; static const char * const reset_types[] = {"builtinsafe", "lastknowngood", "factory", "custom"};
static int reset_option = -1; static int reset_option = -1;
static struct class *fw_attr_class; static const struct class *fw_attr_class;
/** /**

View File

@@ -10,11 +10,11 @@
static DEFINE_MUTEX(fw_attr_lock); static DEFINE_MUTEX(fw_attr_lock);
static int fw_attr_inuse; static int fw_attr_inuse;
static struct class firmware_attributes_class = { static const struct class firmware_attributes_class = {
.name = "firmware-attributes", .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; int err;

View File

@@ -5,7 +5,7 @@
#ifndef FW_ATTR_CLASS_H #ifndef FW_ATTR_CLASS_H
#define 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); int fw_attributes_class_put(void);
#endif /* FW_ATTR_CLASS_H */ #endif /* FW_ATTR_CLASS_H */

View File

@@ -24,7 +24,7 @@ struct bioscfg_priv bioscfg_drv = {
.mutex = __MUTEX_INITIALIZER(bioscfg_drv.mutex), .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, ssize_t display_name_language_code_show(struct kobject *kobj,
struct kobj_attribute *attr, struct kobj_attribute *attr,

View File

@@ -195,7 +195,7 @@ static const char * const level_options[] = {
[TLMI_LEVEL_MASTER] = "master", [TLMI_LEVEL_MASTER] = "master",
}; };
static struct think_lmi tlmi_priv; static struct think_lmi tlmi_priv;
static struct class *fw_attr_class; static const struct class *fw_attr_class;
static DEFINE_MUTEX(tlmi_mutex); static DEFINE_MUTEX(tlmi_mutex);
/* ------ Utility functions ------------*/ /* ------ Utility functions ------------*/