Hi Evan, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mkp-scsi/for-next] [also build test WARNING on next-20180615] [cannot apply to scsi/for-next v4.17] [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/Evan-Green/Enable-UFS-provisioning-via-Linux/20180616-050548 base: https://git.kernel.org/pub/scm/linux/kernel/git/mkp/scsi.git for-next config: x86_64-randconfig-x016-201823 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): include/linux/huge_mm.h:230:34: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/mm.h:533:24: sparse: constant 0xffffc90000000000 is so big it is unsigned long include/linux/mm.h:533:48: sparse: constant 0xffffc90000000000 is so big it is unsigned long include/linux/mm.h:624:29: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/mm.h:1098:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/mm.h:1796:27: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/mm.h:1888:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/scatterlist.h:151:25: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/scatterlist.h:236:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/scatterlist.h:387:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/scatterlist.h:387:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/dma-mapping.h:235:35: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/dma-mapping.h:238:33: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/highmem.h:51:16: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/blkdev.h:1721:14: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/blkdev.h:1721:14: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/blkdev.h:1723:14: sparse: constant 0xffffea0000000000 is so big it is unsigned long include/linux/blkdev.h:1723:14: sparse: constant 0xffffea0000000000 is so big it is unsigned long drivers/scsi/ufs/ufs-sysfs.c:897:1: sparse: symbol 'dev_attr_current_power_mode' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c:900:1: sparse: symbol 'dev_attr_bkops_status' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c:901:1: sparse: symbol 'dev_attr_purge_status' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c:909:1: sparse: symbol 'dev_attr_ffu_status' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c:910:1: sparse: symbol 'dev_attr_psa_state' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c:911:1: sparse: symbol 'dev_attr_psa_data_size' was not declared. Should it be static? drivers/scsi/ufs/ufs-sysfs.c: In function 'ufs_cfg_attr_store': >> drivers/scsi/ufs/ufs-sysfs.c:296:6: warning: 'valueptr' may be used uninitialized in this function [-Wmaybe-uninitialized] ret = ufshcd_rw_desc_param(hba, UPIU_QUERY_OPCODE_WRITE_DESC, desc_id, ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ desc_index, param_offset, ~~~~~~~~~~~~~~~~~~~~~~~~~ valueptr, width); ~~~~~~~~~~~~~~~~ drivers/scsi/ufs/ufs-sysfs.c:269:6: note: 'valueptr' was declared here u8 *valueptr; ^~~~~~~~ vim +/valueptr +296 drivers/scsi/ufs/ufs-sysfs.c 254 255 static ssize_t ufs_sysfs_write_desc_param(struct ufs_hba *hba, 256 enum desc_idn desc_id, 257 u8 desc_index, 258 u8 param_offset, 259 const char *buf, 260 ssize_t buf_size, 261 u8 width) 262 { 263 int ret; 264 unsigned long long value; 265 u8 value8; 266 __be16 value16; 267 __be32 value32; 268 __be64 value64; 269 u8 *valueptr; 270 271 if (kstrtoull(buf, 0, &value)) 272 return -EINVAL; 273 274 switch (width) { 275 case 1: 276 value8 = (u8)value; 277 valueptr = &value8; 278 break; 279 280 case 2: 281 value16 = cpu_to_be16(value); 282 valueptr = (u8 *)&value16; 283 break; 284 285 case 4: 286 value32 = cpu_to_be32(value); 287 valueptr = (u8 *)&value32; 288 break; 289 290 case 8: 291 value64 = cpu_to_be64(value); 292 valueptr = (u8 *)&value64; 293 break; 294 } 295 > 296 ret = ufshcd_rw_desc_param(hba, UPIU_QUERY_OPCODE_WRITE_DESC, desc_id, 297 desc_index, param_offset, 298 valueptr, width); 299 if (ret) 300 return -EINVAL; 301 302 return buf_size; 303 } 304 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip