Hi Mark, [auto build test WARNING on regulator/for-next] [also build test WARNING on v4.6-rc1 next-20160329] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Mark-Brown/Applied-regulator-axp20x-support-AXP809-variant-to-the-regulator-tree/20160330-005751 base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next config: x86_64-randconfig-n0-03300206 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All warnings (new ones prefixed by >>): ^ drivers/regulator/axp20x-regulator.c:272:14: error: 'AXP809_LDO_IO0' undeclared here (not in a function) AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:272:14: error: array index in initializer not of integer type AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:272:14: note: (near initialization for 'axp809_regulators') AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:275:14: error: 'AXP809_LDO_IO1' undeclared here (not in a function) AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:275:14: error: array index in initializer not of integer type AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:275:14: note: (near initialization for 'axp809_regulators') AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3300, 100, ^ drivers/regulator/axp20x-regulator.c:41:3: note: in definition of macro 'AXP_DESC_IO' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:278:17: error: 'AXP809_RTC_LDO' undeclared here (not in a function) AXP_DESC_FIXED(AXP809, RTC_LDO, "rtc_ldo", "ips", 1800), ^ drivers/regulator/axp20x-regulator.c:96:3: note: in definition of macro 'AXP_DESC_FIXED' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:278:17: error: array index in initializer not of integer type AXP_DESC_FIXED(AXP809, RTC_LDO, "rtc_ldo", "ips", 1800), ^ drivers/regulator/axp20x-regulator.c:96:3: note: in definition of macro 'AXP_DESC_FIXED' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:278:17: note: (near initialization for 'axp809_regulators') AXP_DESC_FIXED(AXP809, RTC_LDO, "rtc_ldo", "ips", 1800), ^ drivers/regulator/axp20x-regulator.c:96:3: note: in definition of macro 'AXP_DESC_FIXED' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:279:14: error: 'AXP809_SW' undeclared here (not in a function) AXP_DESC_SW(AXP809, SW, "sw", "swin", AXP22X_PWR_OUT_CTRL2, BIT(6)), ^ drivers/regulator/axp20x-regulator.c:82:3: note: in definition of macro 'AXP_DESC_SW' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:279:14: error: array index in initializer not of integer type AXP_DESC_SW(AXP809, SW, "sw", "swin", AXP22X_PWR_OUT_CTRL2, BIT(6)), ^ drivers/regulator/axp20x-regulator.c:82:3: note: in definition of macro 'AXP_DESC_SW' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c:279:14: note: (near initialization for 'axp809_regulators') AXP_DESC_SW(AXP809, SW, "sw", "swin", AXP22X_PWR_OUT_CTRL2, BIT(6)), ^ drivers/regulator/axp20x-regulator.c:82:3: note: in definition of macro 'AXP_DESC_SW' [_family##_##_id] = { \ ^ drivers/regulator/axp20x-regulator.c: In function 'axp20x_set_dcdc_freq': drivers/regulator/axp20x-regulator.c:297:7: error: 'AXP809_ID' undeclared (first use in this function) case AXP809_ID: ^ drivers/regulator/axp20x-regulator.c:297:7: note: each undeclared identifier is reported only once for each function it appears in drivers/regulator/axp20x-regulator.c: In function 'axp20x_set_dcdc_workmode': drivers/regulator/axp20x-regulator.c:377:7: error: 'AXP809_ID' undeclared (first use in this function) case AXP809_ID: ^ drivers/regulator/axp20x-regulator.c: In function 'axp20x_regulator_probe': drivers/regulator/axp20x-regulator.c:420:7: error: 'AXP809_ID' undeclared (first use in this function) case AXP809_ID: ^ drivers/regulator/axp20x-regulator.c:422:17: error: 'AXP809_REG_ID_MAX' undeclared (first use in this function) nregulators = AXP809_REG_ID_MAX; ^ drivers/regulator/axp20x-regulator.c:422:15: warning: assignment makes integer from pointer without a cast [-Wint-conversion] nregulators = AXP809_REG_ID_MAX; ^ In file included from include/linux/err.h:4:0, from drivers/regulator/axp20x-regulator.c:16: drivers/regulator/axp20x-regulator.c:447:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC1SW)) { ^ include/linux/compiler.h:151:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ >> drivers/regulator/axp20x-regulator.c:446:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC1SW) || ^ drivers/regulator/axp20x-regulator.c:447:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC1SW)) { ^ include/linux/compiler.h:151:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ >> drivers/regulator/axp20x-regulator.c:446:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC1SW) || ^ drivers/regulator/axp20x-regulator.c:447:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC1SW)) { ^ include/linux/compiler.h:162:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^ >> drivers/regulator/axp20x-regulator.c:446:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC1SW) || ^ drivers/regulator/axp20x-regulator.c:456:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC5LDO)) { ^ include/linux/compiler.h:151:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:455:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC5LDO) || ^ drivers/regulator/axp20x-regulator.c:456:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC5LDO)) { ^ include/linux/compiler.h:151:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:455:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC5LDO) || ^ drivers/regulator/axp20x-regulator.c:456:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DC5LDO)) { ^ include/linux/compiler.h:162:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^ drivers/regulator/axp20x-regulator.c:455:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DC5LDO) || ^ drivers/regulator/axp20x-regulator.c:485:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC1)) ^ include/linux/compiler.h:151:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:484:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC1) || ^ drivers/regulator/axp20x-regulator.c:485:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC1)) ^ include/linux/compiler.h:151:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:484:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC1) || ^ drivers/regulator/axp20x-regulator.c:485:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC1)) ^ include/linux/compiler.h:162:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^ drivers/regulator/axp20x-regulator.c:484:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC1) || ^ drivers/regulator/axp20x-regulator.c:491:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC5)) ^ include/linux/compiler.h:151:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:490:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC5) || ^ drivers/regulator/axp20x-regulator.c:491:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC5)) ^ include/linux/compiler.h:151:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ drivers/regulator/axp20x-regulator.c:490:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC5) || ^ drivers/regulator/axp20x-regulator.c:491:45: warning: comparison between pointer and integer (regulators == axp809_regulators && i == AXP809_DCDC5)) ^ include/linux/compiler.h:162:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^ drivers/regulator/axp20x-regulator.c:490:3: note: in expansion of macro 'if' if ((regulators == axp22x_regulators && i == AXP22X_DCDC5) || ^ vim +/if +446 drivers/regulator/axp20x-regulator.c 430 /* This only sets the dcdc freq. Ignore any errors */ 431 axp20x_regulator_parse_dt(pdev); 432 433 for (i = 0; i < nregulators; i++) { 434 const struct regulator_desc *desc = ®ulators[i]; 435 struct regulator_desc *new_desc; 436 437 /* 438 * Regulators DC1SW and DC5LDO are connected internally, 439 * so we have to handle their supply names separately. 440 * 441 * We always register the regulators in proper sequence, 442 * so the supply names are correctly read. See the last 443 * part of this loop to see where we save the DT defined 444 * name. 445 */ > 446 if ((regulators == axp22x_regulators && i == AXP22X_DC1SW) || 447 (regulators == axp809_regulators && i == AXP809_DC1SW)) { 448 new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), 449 GFP_KERNEL); 450 *new_desc = regulators[i]; 451 new_desc->supply_name = dcdc1_name; 452 desc = new_desc; 453 } 454 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation