mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 06:01:57 +00:00
kobject: Constify struct kset_uevent_ops
Constify struct kset_uevent_ops. This is part of the ops structure constification effort started by Arjan van de Ven et al. Benefits of this constification: * prevents modification of data that is shared (referenced) by many other structure instances at runtime * detects/prevents accidental (but not intentional) modification attempts on archs that enforce read-only kernel data at runtime * potentially better optimized code as the compiler can assume that the const data cannot be changed * the compiler/linker move const data into .rodata and therefore exclude them from false sharing Signed-off-by: Emese Revfy <re.emese@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
985fc176a6
commit
9cd43611cc
@ -154,7 +154,7 @@ static int bus_uevent_filter(struct kset *kset, struct kobject *kobj)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct kset_uevent_ops bus_uevent_ops = {
|
||||
static const struct kset_uevent_ops bus_uevent_ops = {
|
||||
.filter = bus_uevent_filter,
|
||||
};
|
||||
|
||||
|
@ -252,7 +252,7 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
|
||||
return retval;
|
||||
}
|
||||
|
||||
static struct kset_uevent_ops device_uevent_ops = {
|
||||
static const struct kset_uevent_ops device_uevent_ops = {
|
||||
.filter = dev_uevent_filter,
|
||||
.name = dev_uevent_name,
|
||||
.uevent = dev_uevent,
|
||||
|
@ -44,7 +44,7 @@ static int memory_uevent(struct kset *kset, struct kobject *obj, struct kobj_uev
|
||||
return retval;
|
||||
}
|
||||
|
||||
static struct kset_uevent_ops memory_uevent_ops = {
|
||||
static const struct kset_uevent_ops memory_uevent_ops = {
|
||||
.name = memory_uevent_name,
|
||||
.uevent = memory_uevent,
|
||||
};
|
||||
|
@ -574,7 +574,7 @@ static int gfs2_uevent(struct kset *kset, struct kobject *kobj,
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct kset_uevent_ops gfs2_uevent_ops = {
|
||||
static const struct kset_uevent_ops gfs2_uevent_ops = {
|
||||
.uevent = gfs2_uevent,
|
||||
};
|
||||
|
||||
|
@ -118,9 +118,9 @@ struct kobj_uevent_env {
|
||||
};
|
||||
|
||||
struct kset_uevent_ops {
|
||||
int (*filter)(struct kset *kset, struct kobject *kobj);
|
||||
const char *(*name)(struct kset *kset, struct kobject *kobj);
|
||||
int (*uevent)(struct kset *kset, struct kobject *kobj,
|
||||
int (* const filter)(struct kset *kset, struct kobject *kobj);
|
||||
const char *(* const name)(struct kset *kset, struct kobject *kobj);
|
||||
int (* const uevent)(struct kset *kset, struct kobject *kobj,
|
||||
struct kobj_uevent_env *env);
|
||||
};
|
||||
|
||||
@ -155,14 +155,14 @@ struct kset {
|
||||
struct list_head list;
|
||||
spinlock_t list_lock;
|
||||
struct kobject kobj;
|
||||
struct kset_uevent_ops *uevent_ops;
|
||||
const struct kset_uevent_ops *uevent_ops;
|
||||
};
|
||||
|
||||
extern void kset_init(struct kset *kset);
|
||||
extern int __must_check kset_register(struct kset *kset);
|
||||
extern void kset_unregister(struct kset *kset);
|
||||
extern struct kset * __must_check kset_create_and_add(const char *name,
|
||||
struct kset_uevent_ops *u,
|
||||
const struct kset_uevent_ops *u,
|
||||
struct kobject *parent_kobj);
|
||||
|
||||
static inline struct kset *to_kset(struct kobject *kobj)
|
||||
|
@ -736,7 +736,7 @@ static int uevent_filter(struct kset *kset, struct kobject *kobj)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct kset_uevent_ops module_uevent_ops = {
|
||||
static const struct kset_uevent_ops module_uevent_ops = {
|
||||
.filter = uevent_filter,
|
||||
};
|
||||
|
||||
|
@ -789,7 +789,7 @@ static struct kobj_type kset_ktype = {
|
||||
* If the kset was not able to be created, NULL will be returned.
|
||||
*/
|
||||
static struct kset *kset_create(const char *name,
|
||||
struct kset_uevent_ops *uevent_ops,
|
||||
const struct kset_uevent_ops *uevent_ops,
|
||||
struct kobject *parent_kobj)
|
||||
{
|
||||
struct kset *kset;
|
||||
@ -832,7 +832,7 @@ static struct kset *kset_create(const char *name,
|
||||
* If the kset was not able to be created, NULL will be returned.
|
||||
*/
|
||||
struct kset *kset_create_and_add(const char *name,
|
||||
struct kset_uevent_ops *uevent_ops,
|
||||
const struct kset_uevent_ops *uevent_ops,
|
||||
struct kobject *parent_kobj)
|
||||
{
|
||||
struct kset *kset;
|
||||
|
@ -95,7 +95,7 @@ int kobject_uevent_env(struct kobject *kobj, enum kobject_action action,
|
||||
const char *subsystem;
|
||||
struct kobject *top_kobj;
|
||||
struct kset *kset;
|
||||
struct kset_uevent_ops *uevent_ops;
|
||||
const struct kset_uevent_ops *uevent_ops;
|
||||
u64 seq;
|
||||
int i = 0;
|
||||
int retval = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user