Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1687154 > unrolled thread

[PATCH 0/4] constify scsi attribute_group structures.

Started byArvind Yadav <arvind.yadav.cs@gmail.com>
First post2017-07-14 10:30 +0200
Last post2017-07-14 10:30 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH 0/4] constify scsi attribute_group structures. Arvind Yadav <arvind.yadav.cs@gmail.com> - 2017-07-14 10:30 +0200
    [PATCH 2/4] scsi: iscsi_boot_sysfs: constify attribute_group structures. Arvind Yadav <arvind.yadav.cs@gmail.com> - 2017-07-14 10:30 +0200

#1687154 — [PATCH 0/4] constify scsi attribute_group structures.

FromArvind Yadav <arvind.yadav.cs@gmail.com>
Date2017-07-14 10:30 +0200
Subject[PATCH 0/4] constify scsi attribute_group structures.
Message-ID<u3493-LP-3@gated-at.bofh.it>
attribute_groups are not supposed to change at runtime.
So mark the non-const structs as const.

Arvind Yadav (4):
  [PATCH 1/4] scsi: scsi_transport_iscsi: constify attribute_group structures.
  [PATCH 2/4] scsi: iscsi_boot_sysfs: constify attribute_group structures.
  [PATCH 3/4] scsi: scsi_transport_fc: constify attribute_group structures.
  [PATCH 4/4] scsi: scsi_transport_spi: constify attribute_group structures.

 drivers/scsi/iscsi_boot_sysfs.c     | 10 +++++-----
 drivers/scsi/scsi_transport_fc.c    |  2 +-
 drivers/scsi/scsi_transport_iscsi.c | 12 ++++++------
 drivers/scsi/scsi_transport_spi.c   |  4 ++--
 include/linux/iscsi_boot_sysfs.h    |  2 +-
 5 files changed, 15 insertions(+), 15 deletions(-)

-- 
1.9.1

[toc] | [next] | [standalone]


#1687155 — [PATCH 2/4] scsi: iscsi_boot_sysfs: constify attribute_group structures.

FromArvind Yadav <arvind.yadav.cs@gmail.com>
Date2017-07-14 10:30 +0200
Subject[PATCH 2/4] scsi: iscsi_boot_sysfs: constify attribute_group structures.
Message-ID<u3494-LP-25@gated-at.bofh.it>
In reply to#1687154
attribute_groups are not supposed to change at runtime. All functions
working with attribute_groups provided by <linux/sysfs.h> work
with const attribute_group. So mark the non-const structs as const.

File size before:
   text	   data	    bss	    dec	    hex	filename
   2548	   1768	      0	   4316	   10dc	drivers/scsi/iscsi_boot_sysfs.o

File size After adding 'const':
   text	   data	    bss	    dec	    hex	filename
   2804	   1512	      0	   4316	   10dc	drivers/scsi/iscsi_boot_sysfs.o

Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
---
 drivers/scsi/iscsi_boot_sysfs.c  | 10 +++++-----
 include/linux/iscsi_boot_sysfs.h |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/scsi/iscsi_boot_sysfs.c b/drivers/scsi/iscsi_boot_sysfs.c
index d453667..9670a04 100644
--- a/drivers/scsi/iscsi_boot_sysfs.c
+++ b/drivers/scsi/iscsi_boot_sysfs.c
@@ -157,7 +157,7 @@ static umode_t iscsi_boot_tgt_attr_is_visible(struct kobject *kobj,
 	return 0;
 }
 
-static struct attribute_group iscsi_boot_target_attr_group = {
+static const struct attribute_group iscsi_boot_target_attr_group = {
 	.attrs = target_attrs,
 	.is_visible = iscsi_boot_tgt_attr_is_visible,
 };
@@ -243,7 +243,7 @@ static umode_t iscsi_boot_eth_attr_is_visible(struct kobject *kobj,
 	return 0;
 }
 
-static struct attribute_group iscsi_boot_ethernet_attr_group = {
+static const struct attribute_group iscsi_boot_ethernet_attr_group = {
 	.attrs = ethernet_attrs,
 	.is_visible = iscsi_boot_eth_attr_is_visible,
 };
@@ -301,7 +301,7 @@ static umode_t iscsi_boot_ini_attr_is_visible(struct kobject *kobj,
 	return 0;
 }
 
-static struct attribute_group iscsi_boot_initiator_attr_group = {
+static const struct attribute_group iscsi_boot_initiator_attr_group = {
 	.attrs = initiator_attrs,
 	.is_visible = iscsi_boot_ini_attr_is_visible,
 };
@@ -337,14 +337,14 @@ static umode_t iscsi_boot_acpitbl_attr_is_visible(struct kobject *kobj,
 	return 0;
 }
 
-static struct attribute_group iscsi_boot_acpitbl_attr_group = {
+static const struct attribute_group iscsi_boot_acpitbl_attr_group = {
 	.attrs = acpitbl_attrs,
 	.is_visible = iscsi_boot_acpitbl_attr_is_visible,
 };
 
 static struct iscsi_boot_kobj *
 iscsi_boot_create_kobj(struct iscsi_boot_kset *boot_kset,
-		       struct attribute_group *attr_group,
+		       const struct attribute_group *attr_group,
 		       const char *name, int index, void *data,
 		       ssize_t (*show) (void *data, int type, char *buf),
 		       umode_t (*is_visible) (void *data, int type),
diff --git a/include/linux/iscsi_boot_sysfs.h b/include/linux/iscsi_boot_sysfs.h
index 10923d7..3fb07e0 100644
--- a/include/linux/iscsi_boot_sysfs.h
+++ b/include/linux/iscsi_boot_sysfs.h
@@ -74,7 +74,7 @@ enum iscsi_boot_acpitbl_properties_enum {
 
 struct iscsi_boot_kobj {
 	struct kobject kobj;
-	struct attribute_group *attr_group;
+	const struct attribute_group *attr_group;
 	struct list_head list;
 
 	/*
-- 
1.9.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web