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