tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   ba4dbdedd3edc2798659bcd8b1a184ea8bdd04dc
commit: ce08eaeb6388e78daf35a5ce2e72a19026def8a7 staging: typec: rt1711h typec 
chip driver
date:   8 weeks ago
config: x86_64-randconfig-s4-06200335 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
        git checkout ce08eaeb6388e78daf35a5ce2e72a19026def8a7
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/staging/typec/tcpci.o: In function `tcpci_probe':
>> drivers/staging/typec/tcpci.c:536: undefined reference to 
>> `__devm_regmap_init_i2c'
   drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_init':
>> drivers/staging/typec/tcpci.c:593: undefined reference to 
>> `i2c_register_driver'
   drivers/staging/typec/tcpci.o: In function `tcpci_i2c_driver_exit':
>> drivers/staging/typec/tcpci.c:593: undefined reference to `i2c_del_driver'
   drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_check_revision':
>> drivers/staging/typec/tcpci_rt1711h.c:218: undefined reference to 
>> `i2c_smbus_read_word_data'
   drivers/staging/typec/tcpci_rt1711h.c:225: undefined reference to 
`i2c_smbus_read_word_data'
   drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_probe':
>> drivers/staging/typec/tcpci_rt1711h.c:251: undefined reference to 
>> `__devm_regmap_init_i2c'
   drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_init':
>> drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to 
>> `i2c_register_driver'
   drivers/staging/typec/tcpci_rt1711h.o: In function `rt1711h_i2c_driver_exit':
>> drivers/staging/typec/tcpci_rt1711h.c:308: undefined reference to 
>> `i2c_del_driver'

vim +218 drivers/staging/typec/tcpci_rt1711h.c

   213  
   214  static int rt1711h_check_revision(struct i2c_client *i2c)
   215  {
   216          int ret;
   217  
 > 218          ret = i2c_smbus_read_word_data(i2c, TCPC_VENDOR_ID);
   219          if (ret < 0)
   220                  return ret;
   221          if (ret != RT1711H_VID) {
   222                  dev_err(&i2c->dev, "vid is not correct, 0x%04x\n", ret);
   223                  return -ENODEV;
   224          }
   225          ret = i2c_smbus_read_word_data(i2c, TCPC_PRODUCT_ID);
   226          if (ret < 0)
   227                  return ret;
   228          if (ret != RT1711H_PID) {
   229                  dev_err(&i2c->dev, "pid is not correct, 0x%04x\n", ret);
   230                  return -ENODEV;
   231          }
   232          return 0;
   233  }
   234  
   235  static int rt1711h_probe(struct i2c_client *client,
   236                           const struct i2c_device_id *i2c_id)
   237  {
   238          int ret;
   239          struct rt1711h_chip *chip;
   240  
   241          ret = rt1711h_check_revision(client);
   242          if (ret < 0) {
   243                  dev_err(&client->dev, "check vid/pid fail\n");
   244                  return ret;
   245          }
   246  
   247          chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
   248          if (!chip)
   249                  return -ENOMEM;
   250  
 > 251          chip->data.regmap = devm_regmap_init_i2c(client,
   252                                                   
&rt1711h_regmap_config);
   253          if (IS_ERR(chip->data.regmap))
   254                  return PTR_ERR(chip->data.regmap);
   255  
   256          chip->dev = &client->dev;
   257          i2c_set_clientdata(client, chip);
   258  
   259          ret = rt1711h_sw_reset(chip);
   260          if (ret < 0)
   261                  return ret;
   262  
   263          ret = rt1711h_init_alert(chip, client);
   264          if (ret < 0)
   265                  return ret;
   266  
   267          chip->data.init = rt1711h_init;
   268          chip->data.set_vconn = rt1711h_set_vconn;
   269          chip->data.start_drp_toggling = rt1711h_start_drp_toggling;
   270          chip->tcpci = tcpci_register_port(chip->dev, &chip->data);
   271          if (IS_ERR_OR_NULL(chip->tcpci))
   272                  return PTR_ERR(chip->tcpci);
   273  
   274          return 0;
   275  }
   276  
   277  static int rt1711h_remove(struct i2c_client *client)
   278  {
   279          struct rt1711h_chip *chip = i2c_get_clientdata(client);
   280  
   281          tcpci_unregister_port(chip->tcpci);
   282          return 0;
   283  }
   284  
   285  static const struct i2c_device_id rt1711h_id[] = {
   286          { "rt1711h", 0 },
   287          { }
   288  };
   289  MODULE_DEVICE_TABLE(i2c, rt1711h_id);
   290  
   291  #ifdef CONFIG_OF
   292  static const struct of_device_id rt1711h_of_match[] = {
   293          { .compatible = "richtek,rt1711h", },
   294          {},
   295  };
   296  MODULE_DEVICE_TABLE(of, rt1711h_of_match);
   297  #endif
   298  
   299  static struct i2c_driver rt1711h_i2c_driver = {
   300          .driver = {
   301                  .name = "rt1711h",
   302                  .of_match_table = of_match_ptr(rt1711h_of_match),
   303          },
   304          .probe = rt1711h_probe,
   305          .remove = rt1711h_remove,
   306          .id_table = rt1711h_id,
   307  };
 > 308  module_i2c_driver(rt1711h_i2c_driver);
   309  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to