diff options
| author | Emese Revfy <re.emese@gmail.com> | 2010-01-18 20:58:23 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-07 20:04:49 -0500 |
| commit | 52cf25d0ab7f78eeecc59ac652ed5090f69b619e (patch) | |
| tree | 031d1ffb3890bd69c0260c864c512e0be62ac05c /drivers/base/sys.c | |
| parent | 6c1733aca0b48db4d0e660d54976a1cca25b5eaf (diff) | |
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>
Diffstat (limited to 'drivers/base/sys.c')
| -rw-r--r-- | drivers/base/sys.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/base/sys.c b/drivers/base/sys.c index 747c99e0568b..8980feec5d14 100644 --- a/drivers/base/sys.c +++ b/drivers/base/sys.c | |||
| @@ -54,7 +54,7 @@ sysdev_store(struct kobject *kobj, struct attribute *attr, | |||
| 54 | return -EIO; | 54 | return -EIO; |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | static struct sysfs_ops sysfs_ops = { | 57 | static const struct sysfs_ops sysfs_ops = { |
| 58 | .show = sysdev_show, | 58 | .show = sysdev_show, |
| 59 | .store = sysdev_store, | 59 | .store = sysdev_store, |
| 60 | }; | 60 | }; |
| @@ -104,7 +104,7 @@ static ssize_t sysdev_class_store(struct kobject *kobj, struct attribute *attr, | |||
| 104 | return -EIO; | 104 | return -EIO; |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | static struct sysfs_ops sysfs_class_ops = { | 107 | static const struct sysfs_ops sysfs_class_ops = { |
| 108 | .show = sysdev_class_show, | 108 | .show = sysdev_class_show, |
| 109 | .store = sysdev_class_store, | 109 | .store = sysdev_class_store, |
| 110 | }; | 110 | }; |
