[chenxing:mstar_v6_5_reorder 533/700] drivers/mfd/ip6xxx.c:82:26: error: 'i2c_device_id' undeclared here (not in a function)

kernel test robot <[email protected]> Mon, 03 Aug 2026 16:39:15 +0800
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
tree:   https://github.com/linux-chenxing/linux.git mstar_v6_5_reorder
head:   1a5c60e65ea399670a5384b869c4958338af2799
commit: 2b98b69c0553e63ab0a875f2a14b7f2e1cd10c5e [533/700] regulator: basic driver for the injoinic ip6303
config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20260803/[email protected]/config)
compiler: nios2-linux-gcc (GCC) 11.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260803/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All error/warnings (new ones prefixed by >>):

   In file included from drivers/mfd/ip6xxx.c:9:
>> drivers/mfd/ip6xxx.c:82:26: error: 'i2c_device_id' undeclared here (not in a function)
      82 | MODULE_DEVICE_TABLE(i2c, i2c_device_id);
         |                          ^~~~~~~~~~~~~
   include/linux/module.h:244:15: note: in definition of macro 'MODULE_DEVICE_TABLE'
     244 | extern typeof(name) __mod_##type##__##name##_device_table               \
         |               ^~~~
>> include/linux/module.h:244:21: error: '__mod_i2c__i2c_device_id_device_table' aliased to undefined symbol 'i2c_device_id'
     244 | extern typeof(name) __mod_##type##__##name##_device_table               \
         |                     ^~~~~~
   drivers/mfd/ip6xxx.c:82:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
      82 | MODULE_DEVICE_TABLE(i2c, i2c_device_id);
         | ^~~~~~~~~~~~~~~~~~~
   In file included from drivers/mfd/ip6xxx.c:16:
>> include/linux/mfd/ip6xxx.h:119:31: warning: 'ip6303_io8_mfp' defined but not used [-Wunused-const-variable=]
     119 | static const struct reg_field ip6303_io8_mfp = {
         |                               ^~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:113:31: warning: 'ip6303_chg_en' defined but not used [-Wunused-const-variable=]
     113 | static const struct reg_field ip6303_chg_en = {
         |                               ^~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:107:31: warning: 'ip6303_batext_ok' defined but not used [-Wunused-const-variable=]
     107 | static const struct reg_field ip6303_batext_ok = {
         |                               ^~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:101:31: warning: 'ip6303_charge_state' defined but not used [-Wunused-const-variable=]
     101 | static const struct reg_field ip6303_charge_state = {
         |                               ^~~~~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:95:31: warning: 'ip6303_r_chgis' defined but not used [-Wunused-const-variable=]
      95 | static const struct reg_field ip6303_r_chgis = {
         |                               ^~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:89:31: warning: 'ip6303_adc_data_vbat' defined but not used [-Wunused-const-variable=]
      89 | static const struct reg_field ip6303_adc_data_vbat = {
         |                               ^~~~~~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:83:31: warning: 'ip6303_ichg_adc_en' defined but not used [-Wunused-const-variable=]
      83 | static const struct reg_field ip6303_ichg_adc_en = {
         |                               ^~~~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:77:31: warning: 'ip6303_ibat_adc_en' defined but not used [-Wunused-const-variable=]
      77 | static const struct reg_field ip6303_ibat_adc_en = {
         |                               ^~~~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:71:31: warning: 'ip6303_vbat_adc_en' defined but not used [-Wunused-const-variable=]
      71 | static const struct reg_field ip6303_vbat_adc_en = {
         |                               ^~~~~~~~~~~~~~~~~~
--
   drivers/power/supply/ip6xxx-charger.c: In function 'ip6xxx_charger_get_property':
>> drivers/power/supply/ip6xxx-charger.c:41:33: error: 'struct ip6xxx' has no member named 'chg_en'
      41 |         regmap_field_read(ip6xxx->chg_en, &chg_en);
         |                                 ^~
>> drivers/power/supply/ip6xxx-charger.c:42:33: error: 'struct ip6xxx' has no member named 'batext_ok'
      42 |         regmap_field_read(ip6xxx->batext_ok, &batext_ok);
         |                                 ^~
>> drivers/power/supply/ip6xxx-charger.c:43:33: error: 'struct ip6xxx' has no member named 'vbat_adc_en'
      43 |         regmap_field_read(ip6xxx->vbat_adc_en, &vbat_adc_en);
         |                                 ^~
>> drivers/power/supply/ip6xxx-charger.c:48:33: error: 'struct ip6xxx' has no member named 'adc_data_vbat'
      48 |         regmap_field_read(ip6xxx->adc_data_vbat, &vbat);
         |                                 ^~
>> drivers/power/supply/ip6xxx-charger.c:54:41: error: 'struct ip6xxx' has no member named 'charge_state'
      54 |                 regmap_field_read(ip6xxx->charge_state, &regval);
         |                                         ^~
   drivers/power/supply/ip6xxx-charger.c:72:41: error: 'struct ip6xxx' has no member named 'charge_state'
      72 |                 regmap_field_read(ip6xxx->charge_state, &regval);
         |                                         ^~
>> drivers/power/supply/ip6xxx-charger.c:86:41: error: 'struct ip6xxx' has no member named 'r_chgis'
      86 |                 regmap_field_read(ip6xxx->r_chgis, &regval);
         |                                         ^~
   drivers/power/supply/ip6xxx-charger.c: In function 'ip6xxx_charger_probe':
>> drivers/power/supply/ip6xxx-charger.c:111:15: error: 'struct ip6xxx' has no member named 'charger_desc'
     111 |         ip6xxx->charger_desc.properties = ip6xxx_charger_properties;
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:112:15: error: 'struct ip6xxx' has no member named 'charger_desc'
     112 |         ip6xxx->charger_desc.num_properties = ARRAY_SIZE(ip6xxx_charger_properties);
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:113:15: error: 'struct ip6xxx' has no member named 'charger_desc'
     113 |         ip6xxx->charger_desc.get_property = ip6xxx_charger_get_property;
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:114:15: error: 'struct ip6xxx' has no member named 'charger_desc'
     114 |         ip6xxx->charger_desc.name = pdev->dev.parent->of_node->name;
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:115:15: error: 'struct ip6xxx' has no member named 'charger_desc'
     115 |         ip6xxx->charger_desc.type = 0;
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:120:15: error: 'struct ip6xxx' has no member named 'vbat_adc_en'
     120 |         ip6xxx->vbat_adc_en = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:123:15: error: 'struct ip6xxx' has no member named 'adc_data_vbat'
     123 |         ip6xxx->adc_data_vbat = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:126:15: error: 'struct ip6xxx' has no member named 'r_chgis'
     126 |         ip6xxx->r_chgis = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:129:15: error: 'struct ip6xxx' has no member named 'charge_state'
     129 |         ip6xxx->charge_state = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:132:15: error: 'struct ip6xxx' has no member named 'batext_ok'
     132 |         ip6xxx->batext_ok = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:135:15: error: 'struct ip6xxx' has no member named 'chg_en'
     135 |         ip6xxx->chg_en = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
>> drivers/power/supply/ip6xxx-charger.c:138:15: error: 'struct ip6xxx' has no member named 'io8_mfp'
     138 |         ip6xxx->io8_mfp = devm_regmap_field_alloc(pdev->dev.parent,
         |               ^~
>> drivers/power/supply/ip6xxx-charger.c:141:15: error: 'struct ip6xxx' has no member named 'charger'
     141 |         ip6xxx->charger = devm_power_supply_register(pdev->dev.parent,
         |               ^~
   drivers/power/supply/ip6xxx-charger.c:142:32: error: 'struct ip6xxx' has no member named 'charger_desc'
     142 |                         &ip6xxx->charger_desc, &psy_cfg);
         |                                ^~
   drivers/power/supply/ip6xxx-charger.c:144:34: error: 'struct ip6xxx' has no member named 'r_chgis'
     144 |         regmap_field_write(ip6xxx->r_chgis, 0x8);
         |                                  ^~
   drivers/power/supply/ip6xxx-charger.c:145:34: error: 'struct ip6xxx' has no member named 'chg_en'
     145 |         regmap_field_write(ip6xxx->chg_en, 0x1);
         |                                  ^~
   drivers/power/supply/ip6xxx-charger.c:146:34: error: 'struct ip6xxx' has no member named 'vbat_adc_en'
     146 |         regmap_field_write(ip6xxx->vbat_adc_en, 0x1);
         |                                  ^~
   drivers/power/supply/ip6xxx-charger.c:147:34: error: 'struct ip6xxx' has no member named 'io8_mfp'
     147 |         regmap_field_write(ip6xxx->io8_mfp, 0x2);
         |                                  ^~
   drivers/power/supply/ip6xxx-charger.c:149:26: error: 'struct ip6xxx' has no member named 'charger'
     149 |         if (IS_ERR(ip6xxx->charger)) {
         |                          ^~
   drivers/power/supply/ip6xxx-charger.c:150:37: error: 'struct ip6xxx' has no member named 'charger'
     150 |                 ret = PTR_ERR(ip6xxx->charger);
         |                                     ^~
>> drivers/power/supply/ip6xxx-charger.c:106:43: warning: unused variable 'charger_data' [-Wunused-variable]
     106 |         const struct ip6xxx_charger_data *charger_data =
         |                                           ^~~~~~~~~~~~
   In file included from drivers/power/supply/ip6xxx-charger.c:13:
   At top level:
>> include/linux/mfd/ip6xxx.h:83:31: warning: 'ip6303_ichg_adc_en' defined but not used [-Wunused-const-variable=]
      83 | static const struct reg_field ip6303_ichg_adc_en = {
         |                               ^~~~~~~~~~~~~~~~~~
>> include/linux/mfd/ip6xxx.h:77:31: warning: 'ip6303_ibat_adc_en' defined but not used [-Wunused-const-variable=]
      77 | static const struct reg_field ip6303_ibat_adc_en = {
         |                               ^~~~~~~~~~~~~~~~~~


vim +/i2c_device_id +82 drivers/mfd/ip6xxx.c

    77	
    78	static const struct i2c_device_id ip6xxx_i2c_id[] = {
    79		{ "ip6303", 0 },
    80		{ },
    81	};
  > 82	MODULE_DEVICE_TABLE(i2c, i2c_device_id);
    83	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki