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