Re: [PATCH 4/7] mfd: ds90ux9xx: add TI DS90Ux9xx de-/serializer MFD driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Vladimir,

I love your patch! Perhaps something to improve:

[auto build test WARNING on ljones-mfd/for-mfd-next]
[also build test WARNING on v4.19-rc7 next-20181008]
[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/Vladimir-Zapolskiy/mfd-pinctrl-add-initial-support-of-TI-DS90Ux9xx-ICs/20181009-090135
base:   https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

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 >>):

   drivers/mfd/ds90ux9xx-core.c: In function 'ds90ux9xx_probe':
>> drivers/mfd/ds90ux9xx-core.c:789:4: warning: 'id_code' may be used uninitialized in this function [-Wmaybe-uninitialized]
       dev_err(ds90ux9xx->dev,
       ^~~~~~~~~~~~~~~~~~~~~~~                                                                                       
   drivers/mfd/ds90ux9xx-core.c:755:14: note: 'id_code' was declared here
     const char *id_code;
                 ^~~~~~~

vim +/id_code +789 drivers/mfd/ds90ux9xx-core.c

   749	
   750	static int ds90ux9xx_read_ic_type(struct i2c_client *client,
   751					  struct ds90ux9xx *ds90ux9xx)
   752	{
   753		u8 device_id[DEVICE_ID_LEN + 1] = { 0 };
   754		const struct i2c_device_id *id;
   755		const char *id_code;
   756		unsigned int i;
   757		int ret;
   758	
   759		ret = regmap_raw_read(ds90ux9xx->regmap, SER_DES_DEVICE_ID_REG,
   760				      device_id, DEVICE_ID_LEN);
   761		if (ret < 0) {
   762			dev_err(ds90ux9xx->dev, "Failed to read device id: %d\n", ret);
   763			return ret;
   764		}
   765	
   766		id = i2c_match_id(ds90ux9xx_ids, client);
   767		if (id) {
   768			id_code = ds90ux9xx_devices[id->driver_data].id;
   769			if (!strncmp(device_id, id_code, DEVICE_ID_LEN)) {
   770				ds90ux9xx->dev_id = id->driver_data;
   771				return 0;
   772			}
   773		}
   774	
   775		/* DS90UH925 device quirk */
   776		if (!memcmp(device_id, "\0\0\0\0\0\0", DEVICE_ID_LEN)) {
   777			if (id && id->driver_data != TI_DS90UH925)
   778				dev_err(ds90ux9xx->dev,
   779					"Device ID returned all zeroes, assuming device is DS90UH925\n");
   780			ds90ux9xx->dev_id = TI_DS90UH925;
   781			return 0;
   782		}
   783	
   784		for (i = 0; i < ARRAY_SIZE(ds90ux9xx_devices); i++) {
   785			if (strncmp(device_id, ds90ux9xx_devices[i].id, DEVICE_ID_LEN))
   786				continue;
   787	
   788			if (id)
 > 789				dev_err(ds90ux9xx->dev,
   790					"Mismatch between probed device ID [%s] and HW device ID [%s]\n",
   791					id_code, device_id);
   792	
   793			ds90ux9xx->dev_id = i;
   794			return 0;
   795		}
   796	
   797		dev_err(ds90ux9xx->dev, "Device ID [%s] is not supported\n", device_id);
   798	
   799		return -ENODEV;
   800	}
   801	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux SPI]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]

  Powered by Linux