Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cd43611 authored by Emese Revfy's avatar Emese Revfy Committed by Greg Kroah-Hartman
Browse files

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: default avatarEmese Revfy <re.emese@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 985fc176
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -154,7 +154,7 @@ static int bus_uevent_filter(struct kset *kset, struct kobject *kobj)
	return 0;
	return 0;
}
}


static struct kset_uevent_ops bus_uevent_ops = {
static const struct kset_uevent_ops bus_uevent_ops = {
	.filter = bus_uevent_filter,
	.filter = bus_uevent_filter,
};
};


+1 −1
Original line number Original line Diff line number Diff line
@@ -252,7 +252,7 @@ static int dev_uevent(struct kset *kset, struct kobject *kobj,
	return retval;
	return retval;
}
}


static struct kset_uevent_ops device_uevent_ops = {
static const struct kset_uevent_ops device_uevent_ops = {
	.filter =	dev_uevent_filter,
	.filter =	dev_uevent_filter,
	.name =		dev_uevent_name,
	.name =		dev_uevent_name,
	.uevent =	dev_uevent,
	.uevent =	dev_uevent,
+1 −1
Original line number Original line Diff line number Diff line
@@ -44,7 +44,7 @@ static int memory_uevent(struct kset *kset, struct kobject *obj, struct kobj_uev
	return retval;
	return retval;
}
}


static struct kset_uevent_ops memory_uevent_ops = {
static const struct kset_uevent_ops memory_uevent_ops = {
	.name		= memory_uevent_name,
	.name		= memory_uevent_name,
	.uevent		= memory_uevent,
	.uevent		= memory_uevent,
};
};
+1 −1
Original line number Original line Diff line number Diff line
@@ -574,7 +574,7 @@ static int gfs2_uevent(struct kset *kset, struct kobject *kobj,
	return 0;
	return 0;
}
}


static struct kset_uevent_ops gfs2_uevent_ops = {
static const struct kset_uevent_ops gfs2_uevent_ops = {
	.uevent = gfs2_uevent,
	.uevent = gfs2_uevent,
};
};


+5 −5
Original line number Original line Diff line number Diff line
@@ -118,9 +118,9 @@ struct kobj_uevent_env {
};
};


struct kset_uevent_ops {
struct kset_uevent_ops {
	int (*filter)(struct kset *kset, struct kobject *kobj);
	int (* const filter)(struct kset *kset, struct kobject *kobj);
	const char *(*name)(struct kset *kset, struct kobject *kobj);
	const char *(* const name)(struct kset *kset, struct kobject *kobj);
	int (*uevent)(struct kset *kset, struct kobject *kobj,
	int (* const uevent)(struct kset *kset, struct kobject *kobj,
		      struct kobj_uevent_env *env);
		      struct kobj_uevent_env *env);
};
};


@@ -155,14 +155,14 @@ struct kset {
	struct list_head list;
	struct list_head list;
	spinlock_t list_lock;
	spinlock_t list_lock;
	struct kobject kobj;
	struct kobject kobj;
	struct kset_uevent_ops *uevent_ops;
	const struct kset_uevent_ops *uevent_ops;
};
};


extern void kset_init(struct kset *kset);
extern void kset_init(struct kset *kset);
extern int __must_check kset_register(struct kset *kset);
extern int __must_check kset_register(struct kset *kset);
extern void kset_unregister(struct kset *kset);
extern void kset_unregister(struct kset *kset);
extern struct kset * __must_check kset_create_and_add(const char *name,
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);
						struct kobject *parent_kobj);


static inline struct kset *to_kset(struct kobject *kobj)
static inline struct kset *to_kset(struct kobject *kobj)
Loading