Re: [PATCH] scsi: scsi_transport_fc: make the function argument as const
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
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