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:
committed by
Greg Kroah-Hartman
parent
3df1e72b7b
commit
9143d22a09
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -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;
|
||||||
|
|
||||||
|
@@ -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 */
|
||||||
|
@@ -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,
|
||||||
|
@@ -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 ------------*/
|
||||||
|
Reference in New Issue
Block a user