Hi Gene, Thank you for the patch! Yet something to improve: [auto build test ERROR on ljones-mfd/for-mfd-next] [also build test ERROR on v5.5-rc5 next-20200109] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Gene-Chen/mfd-mt6360-add-pmic-mt6360-driver/20200108-190516 base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git for-mfd-next config: c6x-allyesconfig (attached as .config) compiler: c6x-elf-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=c6x If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): drivers/mfd/mt6360-core.c: In function 'mt6360_pmu_probe': >> drivers/mfd/mt6360-core.c:350:12: error: 'IRQF_TRIGGER_FALLING' undeclared (first use in this function); did you mean 'IRQD_TRIGGER_MASK'? IRQF_TRIGGER_FALLING, 0, ^~~~~~~~~~~~~~~~~~~~ IRQD_TRIGGER_MASK drivers/mfd/mt6360-core.c:350:12: note: each undeclared identifier is reported only once for each function it appears in drivers/mfd/mt6360-core.c: In function 'mt6360_pmu_suspend': >> drivers/mfd/mt6360-core.c:388:3: error: implicit declaration of function 'enable_irq_wake'; did you mean 'local_irq_save'? [-Werror=implicit-function-declaration] enable_irq_wake(i2c->irq); ^~~~~~~~~~~~~~~ local_irq_save drivers/mfd/mt6360-core.c: In function 'mt6360_pmu_resume': >> drivers/mfd/mt6360-core.c:399:3: error: implicit declaration of function 'disable_irq_wake'; did you mean 'local_irq_save'? [-Werror=implicit-function-declaration] disable_irq_wake(i2c->irq); ^~~~~~~~~~~~~~~~ local_irq_save cc1: some warnings being treated as errors vim +350 drivers/mfd/mt6360-core.c 316 317 static int mt6360_pmu_probe(struct i2c_client *client) 318 { 319 struct mt6360_pmu_data *mpd; 320 unsigned int reg_data; 321 int i, ret; 322 323 mpd = devm_kzalloc(&client->dev, sizeof(*mpd), GFP_KERNEL); 324 if (!mpd) 325 return -ENOMEM; 326 327 mpd->dev = &client->dev; 328 i2c_set_clientdata(client, mpd); 329 330 mpd->regmap = devm_regmap_init_i2c(client, &mt6360_pmu_regmap_config); 331 if (IS_ERR(mpd->regmap)) { 332 dev_err(&client->dev, "Failed to register regmap\n"); 333 return PTR_ERR(mpd->regmap); 334 } 335 336 ret = regmap_read(mpd->regmap, MT6360_PMU_DEV_INFO, ®_data); 337 if (ret) { 338 dev_err(&client->dev, "Device not found\n"); 339 return ret; 340 } 341 342 mpd->chip_rev = reg_data & CHIP_REV_MASK; 343 if (mpd->chip_rev != CHIP_VEN_MT6360) { 344 dev_err(&client->dev, "Device not supported\n"); 345 return -ENODEV; 346 } 347 348 mt6360_pmu_irq_chip.irq_drv_data = mpd; 349 ret = devm_regmap_add_irq_chip(&client->dev, mpd->regmap, client->irq, > 350 IRQF_TRIGGER_FALLING, 0, 351 &mt6360_pmu_irq_chip, &mpd->irq_data); 352 if (ret) { 353 dev_err(&client->dev, "Failed to add Regmap IRQ Chip\n"); 354 return ret; 355 } 356 357 mpd->i2c[0] = client; 358 for (i = 1; i < MT6360_SLAVE_MAX; i++) { 359 mpd->i2c[i] = devm_i2c_new_dummy_device(&client->dev, 360 client->adapter, 361 mt6360_slave_addr[i]); 362 if (IS_ERR(mpd->i2c[i])) { 363 dev_err(&client->dev, 364 "Failed to get new dummy I2C device for address 0x%x", 365 mt6360_slave_addr[i]); 366 return PTR_ERR(mpd->i2c[i]); 367 } 368 i2c_set_clientdata(mpd->i2c[i], mpd); 369 } 370 371 ret = devm_mfd_add_devices(&client->dev, PLATFORM_DEVID_AUTO, 372 mt6360_devs, ARRAY_SIZE(mt6360_devs), NULL, 373 0, regmap_irq_get_domain(mpd->irq_data)); 374 if (ret) { 375 dev_err(&client->dev, 376 "Failed to register subordinate devices\n"); 377 return ret; 378 } 379 380 return 0; 381 } 382 383 static int __maybe_unused mt6360_pmu_suspend(struct device *dev) 384 { 385 struct i2c_client *i2c = to_i2c_client(dev); 386 387 if (device_may_wakeup(dev)) > 388 enable_irq_wake(i2c->irq); 389 390 return 0; 391 } 392 393 static int __maybe_unused mt6360_pmu_resume(struct device *dev) 394 { 395 396 struct i2c_client *i2c = to_i2c_client(dev); 397 398 if (device_may_wakeup(dev)) > 399 disable_irq_wake(i2c->irq); 400 401 return 0; 402 } 403 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation