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 /block | |
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 'block')
-rw-r--r-- | block/blk-integrity.c | 2 | ||||
-rw-r--r-- | block/blk-sysfs.c | 2 | ||||
-rw-r--r-- | block/elevator.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/block/blk-integrity.c b/block/blk-integrity.c index 15c630813b1c..96e83c2bdb94 100644 --- a/block/blk-integrity.c +++ b/block/blk-integrity.c | |||
@@ -278,7 +278,7 @@ static struct attribute *integrity_attrs[] = { | |||
278 | NULL, | 278 | NULL, |
279 | }; | 279 | }; |
280 | 280 | ||
281 | static struct sysfs_ops integrity_ops = { | 281 | static const struct sysfs_ops integrity_ops = { |
282 | .show = &integrity_attr_show, | 282 | .show = &integrity_attr_show, |
283 | .store = &integrity_attr_store, | 283 | .store = &integrity_attr_store, |
284 | }; | 284 | }; |
diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c index e85442415db3..2ae2cb3f362f 100644 --- a/block/blk-sysfs.c +++ b/block/blk-sysfs.c | |||
@@ -450,7 +450,7 @@ static void blk_release_queue(struct kobject *kobj) | |||
450 | kmem_cache_free(blk_requestq_cachep, q); | 450 | kmem_cache_free(blk_requestq_cachep, q); |
451 | } | 451 | } |
452 | 452 | ||
453 | static struct sysfs_ops queue_sysfs_ops = { | 453 | static const struct sysfs_ops queue_sysfs_ops = { |
454 | .show = queue_attr_show, | 454 | .show = queue_attr_show, |
455 | .store = queue_attr_store, | 455 | .store = queue_attr_store, |
456 | }; | 456 | }; |
diff --git a/block/elevator.c b/block/elevator.c index ee3a883840f2..df75676f6671 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -892,7 +892,7 @@ elv_attr_store(struct kobject *kobj, struct attribute *attr, | |||
892 | return error; | 892 | return error; |
893 | } | 893 | } |
894 | 894 | ||
895 | static struct sysfs_ops elv_sysfs_ops = { | 895 | static const struct sysfs_ops elv_sysfs_ops = { |
896 | .show = elv_attr_show, | 896 | .show = elv_attr_show, |
897 | .store = elv_attr_store, | 897 | .store = elv_attr_store, |
898 | }; | 898 | }; |