* [robh:for-next 57/58] drivers/hwmon/pmbus/max20730.c:321:13: warning: cast to smaller integer type 'enum chips' from 'const void *'
@ 2020-03-20 16:15 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-03-20 16:15 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 10917 bytes --]
Hi Rob,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
head: ac5fe2e6d8244c4d366f7f28400d891502e84481
commit: d047cd8a2760f58d17b8ade21d2f15b818575abc [57/58] scripts/dtc: Update to upstream version v1.6.0-2-g87a656ae5ff9
config: x86_64-randconfig-c002-20200320 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 6e0aaafbc782bdd2852a48c87a3f6cc8fa667bee)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout d047cd8a2760f58d17b8ade21d2f15b818575abc
# save the attached .config to linux build tree
COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> drivers/hwmon/pmbus/max20730.c:321:13: warning: cast to smaller integer type 'enum chips' from 'const void *' [-Wvoid-pointer-to-enum-cast]
chip_id = (enum chips)of_device_get_match_data(dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/media/platform/mtk-mdp/mtk_mdp_core.c:139:15: warning: cast to smaller integer type 'enum mtk_mdp_comp_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
comp_type = (enum mtk_mdp_comp_type)of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/i2c/busses/i2c-pxa.c:1227:15: warning: cast to smaller integer type 'enum pxa_i2c_types' from 'const void *' [-Wvoid-pointer-to-enum-cast]
*i2c_types = (enum pxa_i2c_types)(of_id->data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/phy/broadcom/phy-brcm-sata.c:767:19: warning: cast to smaller integer type 'enum brcm_sata_phy_version' from 'const void *' [-Wvoid-pointer-to-enum-cast]
priv->version = (enum brcm_sata_phy_version)of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/dma/mmp_tdma.c:640:10: warning: cast to smaller integer type 'enum mmp_tdma_type' from 'const void *' [-Wvoid-pointer-to-enum-cast]
type = (enum mmp_tdma_type) of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/phy/marvell/phy-pxa-usb.c:300:26: warning: cast to smaller integer type 'enum pxa_usb_phy_version' from 'const void *' [-Wvoid-pointer-to-enum-cast]
pxa_usb_phy->version = (enum pxa_usb_phy_version)of_id->data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/regulator/lp872x.c:876:5: warning: cast to smaller integer type 'enum lp872x_regulator_id' from 'void *' [-Wvoid-pointer-to-enum-cast]
(enum lp872x_regulator_id)match[i].driver_data;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/hwmon/ad7418.c:255:16: warning: cast to smaller integer type 'enum chips' from 'const void *' [-Wvoid-pointer-to-enum-cast]
data->type = (enum chips)of_device_get_match_data(dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/hwmon/ads7828.c:141:10: warning: cast to smaller integer type 'enum ads7828_chips' from 'const void *' [-Wvoid-pointer-to-enum-cast]
chip = (enum ads7828_chips)
^~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/hwmon/ina2xx.c:445:10: warning: cast to smaller integer type 'enum ina2xx_ids' from 'const void *' [-Wvoid-pointer-to-enum-cast]
chip = (enum ina2xx_ids)of_device_get_match_data(&client->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
--
>> drivers/hwmon/lm63.c:1107:16: warning: cast to smaller integer type 'enum chips' from 'const void *' [-Wvoid-pointer-to-enum-cast]
data->kind = (enum chips)of_device_get_match_data(&client->dev);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
..
vim +321 drivers/hwmon/pmbus/max20730.c
cce209581a61d0 Guenter Roeck 2019-12-05 261
cce209581a61d0 Guenter Roeck 2019-12-05 262 static int max20730_probe(struct i2c_client *client,
cce209581a61d0 Guenter Roeck 2019-12-05 263 const struct i2c_device_id *id)
cce209581a61d0 Guenter Roeck 2019-12-05 264 {
cce209581a61d0 Guenter Roeck 2019-12-05 265 struct device *dev = &client->dev;
cce209581a61d0 Guenter Roeck 2019-12-05 266 u8 buf[I2C_SMBUS_BLOCK_MAX + 1];
cce209581a61d0 Guenter Roeck 2019-12-05 267 struct max20730_data *data;
cce209581a61d0 Guenter Roeck 2019-12-05 268 enum chips chip_id;
cce209581a61d0 Guenter Roeck 2019-12-05 269 int ret;
cce209581a61d0 Guenter Roeck 2019-12-05 270
cce209581a61d0 Guenter Roeck 2019-12-05 271 if (!i2c_check_functionality(client->adapter,
cce209581a61d0 Guenter Roeck 2019-12-05 272 I2C_FUNC_SMBUS_READ_BYTE_DATA |
cce209581a61d0 Guenter Roeck 2019-12-05 273 I2C_FUNC_SMBUS_READ_WORD_DATA |
cce209581a61d0 Guenter Roeck 2019-12-05 274 I2C_FUNC_SMBUS_BLOCK_DATA))
cce209581a61d0 Guenter Roeck 2019-12-05 275 return -ENODEV;
cce209581a61d0 Guenter Roeck 2019-12-05 276
cce209581a61d0 Guenter Roeck 2019-12-05 277 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_ID, buf);
cce209581a61d0 Guenter Roeck 2019-12-05 278 if (ret < 0) {
cce209581a61d0 Guenter Roeck 2019-12-05 279 dev_err(&client->dev, "Failed to read Manufacturer ID\n");
cce209581a61d0 Guenter Roeck 2019-12-05 280 return ret;
cce209581a61d0 Guenter Roeck 2019-12-05 281 }
cce209581a61d0 Guenter Roeck 2019-12-05 282 if (ret != 5 || strncmp(buf, "MAXIM", 5)) {
cce209581a61d0 Guenter Roeck 2019-12-05 283 buf[ret] = '\0';
cce209581a61d0 Guenter Roeck 2019-12-05 284 dev_err(dev, "Unsupported Manufacturer ID '%s'\n", buf);
cce209581a61d0 Guenter Roeck 2019-12-05 285 return -ENODEV;
cce209581a61d0 Guenter Roeck 2019-12-05 286 }
cce209581a61d0 Guenter Roeck 2019-12-05 287
cce209581a61d0 Guenter Roeck 2019-12-05 288 /*
cce209581a61d0 Guenter Roeck 2019-12-05 289 * The chips support reading PMBUS_MFR_MODEL. On both MAX20730
cce209581a61d0 Guenter Roeck 2019-12-05 290 * and MAX20734, reading it returns M20743. Presumably that is
cce209581a61d0 Guenter Roeck 2019-12-05 291 * the reason why the command is not documented. Unfortunately,
cce209581a61d0 Guenter Roeck 2019-12-05 292 * that means that there is no reliable means to detect the chip.
cce209581a61d0 Guenter Roeck 2019-12-05 293 * However, we can at least detect the chip series. Compare
cce209581a61d0 Guenter Roeck 2019-12-05 294 * the returned value against 'M20743' and bail out if there is
cce209581a61d0 Guenter Roeck 2019-12-05 295 * a mismatch. If that doesn't work for all chips, we may have
cce209581a61d0 Guenter Roeck 2019-12-05 296 * to remove this check.
cce209581a61d0 Guenter Roeck 2019-12-05 297 */
cce209581a61d0 Guenter Roeck 2019-12-05 298 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_MODEL, buf);
cce209581a61d0 Guenter Roeck 2019-12-05 299 if (ret < 0) {
cce209581a61d0 Guenter Roeck 2019-12-05 300 dev_err(dev, "Failed to read Manufacturer Model\n");
cce209581a61d0 Guenter Roeck 2019-12-05 301 return ret;
cce209581a61d0 Guenter Roeck 2019-12-05 302 }
cce209581a61d0 Guenter Roeck 2019-12-05 303 if (ret != 6 || strncmp(buf, "M20743", 6)) {
cce209581a61d0 Guenter Roeck 2019-12-05 304 buf[ret] = '\0';
cce209581a61d0 Guenter Roeck 2019-12-05 305 dev_err(dev, "Unsupported Manufacturer Model '%s'\n", buf);
cce209581a61d0 Guenter Roeck 2019-12-05 306 return -ENODEV;
cce209581a61d0 Guenter Roeck 2019-12-05 307 }
cce209581a61d0 Guenter Roeck 2019-12-05 308
cce209581a61d0 Guenter Roeck 2019-12-05 309 ret = i2c_smbus_read_block_data(client, PMBUS_MFR_REVISION, buf);
cce209581a61d0 Guenter Roeck 2019-12-05 310 if (ret < 0) {
cce209581a61d0 Guenter Roeck 2019-12-05 311 dev_err(dev, "Failed to read Manufacturer Revision\n");
cce209581a61d0 Guenter Roeck 2019-12-05 312 return ret;
cce209581a61d0 Guenter Roeck 2019-12-05 313 }
cce209581a61d0 Guenter Roeck 2019-12-05 314 if (ret != 1 || buf[0] != 'F') {
cce209581a61d0 Guenter Roeck 2019-12-05 315 buf[ret] = '\0';
cce209581a61d0 Guenter Roeck 2019-12-05 316 dev_err(dev, "Unsupported Manufacturer Revision '%s'\n", buf);
cce209581a61d0 Guenter Roeck 2019-12-05 317 return -ENODEV;
cce209581a61d0 Guenter Roeck 2019-12-05 318 }
cce209581a61d0 Guenter Roeck 2019-12-05 319
cce209581a61d0 Guenter Roeck 2019-12-05 320 if (client->dev.of_node)
cce209581a61d0 Guenter Roeck 2019-12-05 @321 chip_id = (enum chips)of_device_get_match_data(dev);
cce209581a61d0 Guenter Roeck 2019-12-05 322 else
cce209581a61d0 Guenter Roeck 2019-12-05 323 chip_id = id->driver_data;
cce209581a61d0 Guenter Roeck 2019-12-05 324
cce209581a61d0 Guenter Roeck 2019-12-05 325 data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
cce209581a61d0 Guenter Roeck 2019-12-05 326 if (!data)
cce209581a61d0 Guenter Roeck 2019-12-05 327 return -ENOMEM;
cce209581a61d0 Guenter Roeck 2019-12-05 328 data->id = chip_id;
cce209581a61d0 Guenter Roeck 2019-12-05 329 mutex_init(&data->lock);
cce209581a61d0 Guenter Roeck 2019-12-05 330 memcpy(&data->info, &max20730_info[chip_id], sizeof(data->info));
cce209581a61d0 Guenter Roeck 2019-12-05 331
cce209581a61d0 Guenter Roeck 2019-12-05 332 ret = i2c_smbus_read_word_data(client, MAX20730_MFR_DEVSET1);
cce209581a61d0 Guenter Roeck 2019-12-05 333 if (ret < 0)
cce209581a61d0 Guenter Roeck 2019-12-05 334 return ret;
cce209581a61d0 Guenter Roeck 2019-12-05 335 data->mfr_devset1 = ret;
cce209581a61d0 Guenter Roeck 2019-12-05 336
cce209581a61d0 Guenter Roeck 2019-12-05 337 return pmbus_do_probe(client, id, &data->info);
cce209581a61d0 Guenter Roeck 2019-12-05 338 }
cce209581a61d0 Guenter Roeck 2019-12-05 339
:::::: The code at line 321 was first introduced by commit
:::::: cce209581a61d01f2b7309bed68d22fd8af34ee4 hwmon: (pmbus) Driver for MAX20730, MAX20734, and MAX20743
:::::: TO: Guenter Roeck <linux@roeck-us.net>
:::::: CC: Guenter Roeck <linux@roeck-us.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 42033 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-03-20 16:15 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20 16:15 [robh:for-next 57/58] drivers/hwmon/pmbus/max20730.c:321:13: warning: cast to smaller integer type 'enum chips' from 'const void *' kbuild test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.