Re: [PATCH] scsi: scsi_transport_fc: make the function argument as const

2017-10-15 Thread kbuild test robot
Hi Bhumika,

[auto build test WARNING on mkp-scsi/for-next]
[also build test WARNING on v4.14-rc4 next-20171013]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:
https://github.com/0day-ci/linux/commits/Bhumika-Goyal/scsi-scsi_transport_fc-make-the-function-argument-as-const/20171016-040132
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next
config: x86_64-randconfig-x015-201742 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64 

All warnings (new ones prefixed by >>):

   drivers/scsi/scsi_transport_fc.c: In function 'fc_attach_transport':
>> drivers/scsi/scsi_transport_fc.c:2198:7: warning: assignment discards 
>> 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
 i->f = ft;
  ^

vim +/const +2198 drivers/scsi/scsi_transport_fc.c

5c44cd2af james.sm...@emulex.com 2005-06-10  2163  
^1da177e4 Linus Torvalds 2005-04-16  2164  struct 
scsi_transport_template *
b38779136 Bhumika Goyal  2017-10-13  2165  fc_attach_transport(const 
struct fc_function_template *ft)
^1da177e4 Linus Torvalds 2005-04-16  2166  {
^1da177e4 Linus Torvalds 2005-04-16  2167   int count;
24669f75a Jes Sorensen   2006-01-16  2168   struct fc_internal *i = 
kzalloc(sizeof(struct fc_internal),
24669f75a Jes Sorensen   2006-01-16  2169   
GFP_KERNEL);
^1da177e4 Linus Torvalds 2005-04-16  2170  
^1da177e4 Linus Torvalds 2005-04-16  2171   if (unlikely(!i))
^1da177e4 Linus Torvalds 2005-04-16  2172   return NULL;
^1da177e4 Linus Torvalds 2005-04-16  2173  
^1da177e4 Linus Torvalds 2005-04-16  2174   
i->t.target_attrs.ac.attrs = &i->starget_attrs[0];
^1da177e4 Linus Torvalds 2005-04-16  2175   
i->t.target_attrs.ac.class = &fc_transport_class.class;
^1da177e4 Linus Torvalds 2005-04-16  2176   
i->t.target_attrs.ac.match = fc_target_match;
^1da177e4 Linus Torvalds 2005-04-16  2177   i->t.target_size = 
sizeof(struct fc_starget_attrs);
^1da177e4 Linus Torvalds 2005-04-16  2178   
transport_container_register(&i->t.target_attrs);
^1da177e4 Linus Torvalds 2005-04-16  2179  
^1da177e4 Linus Torvalds 2005-04-16  2180   
i->t.host_attrs.ac.attrs = &i->host_attrs[0];
^1da177e4 Linus Torvalds 2005-04-16  2181   
i->t.host_attrs.ac.class = &fc_host_class.class;
^1da177e4 Linus Torvalds 2005-04-16  2182   
i->t.host_attrs.ac.match = fc_host_match;
^1da177e4 Linus Torvalds 2005-04-16  2183   i->t.host_size = 
sizeof(struct fc_host_attrs);
^1da177e4 Linus Torvalds 2005-04-16  2184   if 
(ft->get_fc_host_stats)
^1da177e4 Linus Torvalds 2005-04-16  2185   
i->t.host_attrs.statistics = &fc_statistics_group;
^1da177e4 Linus Torvalds 2005-04-16  2186   
transport_container_register(&i->t.host_attrs);
^1da177e4 Linus Torvalds 2005-04-16  2187  
^1da177e4 Linus Torvalds 2005-04-16  2188   
i->rport_attr_cont.ac.attrs = &i->rport_attrs[0];
^1da177e4 Linus Torvalds 2005-04-16  2189   
i->rport_attr_cont.ac.class = &fc_rport_class.class;
^1da177e4 Linus Torvalds 2005-04-16  2190   
i->rport_attr_cont.ac.match = fc_rport_match;
^1da177e4 Linus Torvalds 2005-04-16  2191   
transport_container_register(&i->rport_attr_cont);
^1da177e4 Linus Torvalds 2005-04-16  2192  
a53eb5e06 James Smart2007-04-27  2193   
i->vport_attr_cont.ac.attrs = &i->vport_attrs[0];
a53eb5e06 James Smart2007-04-27  2194   
i->vport_attr_cont.ac.class = &fc_vport_class.class;
a53eb5e06 James Smart2007-04-27  2195   
i->vport_attr_cont.ac.match = fc_vport_match;
a53eb5e06 James Smart2007-04-27  2196   
transport_container_register(&i->vport_attr_cont);
a53eb5e06 James Smart2007-04-27  2197  
^1da177e4 Linus Torvalds 2005-04-16 @2198   i->f = ft;
^1da177e4 Linus Torvalds 2005-04-16  2199  
^1da177e4 Linus Torvalds 2005-04-16  2200   /* Transport uses the 
shost workq for scsi scanning */
^1da177e4 Linus Torvalds 2005-04-16  2201   i->t.create_work_queue 
= 1;
^1da177e4 Linus Torvalds 2005-04-16  2202  
e02f3f592 Christoph Hellwig  2006-01-13  2203   i->t.user_scan = 
fc_user_scan;
5c44cd2af james.sm...@emulex.com 2005-06-10  2204  
^1da177e4 Linus Torvalds 2005-04-16  2205   /*
^1da177e4 Linus Torvalds 2005-04-16  2206* Setup SCSI Target 
Attributes.
^1da177e4 Linus Torvalds 2005-04-16  2207*/
^1da177e4 Linus Torvalds 2005-04-16  2208   count = 0;
^1da177e4 Linus Torvalds 2005-04-16  2209   
SETUP_STARGET_ATTRIBUTE

[PATCH] scsi: scsi_transport_fc: make the function argument as const

2017-10-13 Thread Bhumika Goyal
This is a followup patch for: https://lkml.org/lkml/2017/10/13/476

Make the function argument of fc_attach_transport as const as it is
only stored in the const field 'f' (made const in the patch in the link)
of a fc_internal structure.

Signed-off-by: Bhumika Goyal 
---
This change allows some fc_function_template structures to be const.
I will send the patches for structure constification after this gets 
applied.

 drivers/scsi/scsi_transport_fc.c | 2 +-
 include/scsi/scsi_transport_fc.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index 8c46a6d..fb30ede 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -2162,7 +2162,7 @@ enum blk_eh_timer_return
 }
 
 struct scsi_transport_template *
-fc_attach_transport(struct fc_function_template *ft)
+fc_attach_transport(const struct fc_function_template *ft)
 {
int count;
struct fc_internal *i = kzalloc(sizeof(struct fc_internal),
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index e8644ee..60fff05 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -784,7 +784,7 @@ static inline void u64_to_wwn(u64 inm, u8 *wwn)
 }
 
 struct scsi_transport_template *fc_attach_transport(
-   struct fc_function_template *);
+   const struct fc_function_template *);
 void fc_release_transport(struct scsi_transport_template *);
 void fc_remove_host(struct Scsi_Host *);
 struct fc_rport *fc_remote_port_add(struct Scsi_Host *shost,
-- 
1.9.1