Driver core: Constify struct sysfs_ops in struct kobj_type
Constify struct sysfs_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> Acked-by: David Teigland <teigland@redhat.com> Acked-by: Matt Domsch <Matt_Domsch@dell.com> Acked-by: Maciej Sosnowski <maciej.sosnowski@intel.com> Acked-by: Hans J. Koch <hjk@linutronix.de> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Acked-by: Jens Axboe <jens.axboe@oracle.com> Acked-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
6c1733aca0
commit
52cf25d0ab
@@ -53,7 +53,7 @@ struct sysfs_buffer {
|
||||
size_t count;
|
||||
loff_t pos;
|
||||
char * page;
|
||||
struct sysfs_ops * ops;
|
||||
const struct sysfs_ops * ops;
|
||||
struct mutex mutex;
|
||||
int needs_read_fill;
|
||||
int event;
|
||||
@@ -75,7 +75,7 @@ static int fill_read_buffer(struct dentry * dentry, struct sysfs_buffer * buffer
|
||||
{
|
||||
struct sysfs_dirent *attr_sd = dentry->d_fsdata;
|
||||
struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
|
||||
struct sysfs_ops * ops = buffer->ops;
|
||||
const struct sysfs_ops * ops = buffer->ops;
|
||||
int ret = 0;
|
||||
ssize_t count;
|
||||
|
||||
@@ -199,7 +199,7 @@ flush_write_buffer(struct dentry * dentry, struct sysfs_buffer * buffer, size_t
|
||||
{
|
||||
struct sysfs_dirent *attr_sd = dentry->d_fsdata;
|
||||
struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
|
||||
struct sysfs_ops * ops = buffer->ops;
|
||||
const struct sysfs_ops * ops = buffer->ops;
|
||||
int rc;
|
||||
|
||||
/* need attr_sd for attr and ops, its parent for kobj */
|
||||
@@ -335,7 +335,7 @@ static int sysfs_open_file(struct inode *inode, struct file *file)
|
||||
struct sysfs_dirent *attr_sd = file->f_path.dentry->d_fsdata;
|
||||
struct kobject *kobj = attr_sd->s_parent->s_dir.kobj;
|
||||
struct sysfs_buffer *buffer;
|
||||
struct sysfs_ops *ops;
|
||||
const struct sysfs_ops *ops;
|
||||
int error = -EACCES;
|
||||
char *p;
|
||||
|
||||
|
Reference in New Issue
Block a user