Hi Li, Thank you for the patch! Yet something to improve: [auto build test ERROR on usb/usb-testing] [also build test ERROR on v4.17-rc7 next-20180529] [cannot apply to staging/staging-testing] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Li-Jun/staging-typec-tcpci-move-out-of-staging/20180530-110011 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing config: i386-randconfig-s1-201821 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): In file included from include/linux/linkage.h:7:0, from include/linux/kernel.h:7, from include/linux/list.h:9, from include/linux/kobject.h:19, from include/linux/device.h:16, from drivers/usb//typec/class.c:9: >> drivers/usb//typec/class.c:1274:19: error: 'typec_find_power_type' undeclared here (not in a function) EXPORT_SYMBOL_GPL(typec_find_power_type); ^ include/linux/export.h:65:16: note: in definition of macro '___EXPORT_SYMBOL' extern typeof(sym) sym; \ ^~~ drivers/usb//typec/class.c:1274:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' EXPORT_SYMBOL_GPL(typec_find_power_type); ^~~~~~~~~~~~~~~~~ >> drivers/usb//typec/class.c:1288:19: error: 'typec_find_preferred_role' undeclared here (not in a function) EXPORT_SYMBOL_GPL(typec_find_preferred_role); ^ include/linux/export.h:65:16: note: in definition of macro '___EXPORT_SYMBOL' extern typeof(sym) sym; \ ^~~ drivers/usb//typec/class.c:1288:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' EXPORT_SYMBOL_GPL(typec_find_preferred_role); ^~~~~~~~~~~~~~~~~ >> drivers/usb//typec/class.c:1303:19: error: 'typec_find_data_type' undeclared here (not in a function) EXPORT_SYMBOL_GPL(typec_find_data_type); ^ include/linux/export.h:65:16: note: in definition of macro '___EXPORT_SYMBOL' extern typeof(sym) sym; \ ^~~ drivers/usb//typec/class.c:1303:1: note: in expansion of macro 'EXPORT_SYMBOL_GPL' EXPORT_SYMBOL_GPL(typec_find_data_type); ^~~~~~~~~~~~~~~~~ vim +/typec_find_power_type +1274 drivers/usb//typec/class.c 1260 1261 /** 1262 * typec_find_port_power_role - Get the typec port power capability 1263 * @name: port power capability string 1264 * 1265 * This routine is used to find the typec_port_type by its string name. 1266 * 1267 * Returns typec_port_type if success, otherwise negative error code. 1268 */ 1269 int typec_find_port_power_role(const char *name) 1270 { 1271 return match_string(typec_port_types, ARRAY_SIZE(typec_port_types), 1272 name); 1273 } > 1274 EXPORT_SYMBOL_GPL(typec_find_power_type); 1275 1276 /** 1277 * typec_find_power_role - Find the typec one specific power role 1278 * @name: power role string 1279 * 1280 * This routine is used to find the typec_role by its string name. 1281 * 1282 * Returns typec_role if success, otherwise negative error code. 1283 */ 1284 int typec_find_power_role(const char *name) 1285 { 1286 return match_string(typec_roles, ARRAY_SIZE(typec_roles), name); 1287 } > 1288 EXPORT_SYMBOL_GPL(typec_find_preferred_role); 1289 1290 /** 1291 * typec_find_port_data_role - Get the typec port data capability 1292 * @name: port data capability string 1293 * 1294 * This routine is used to find the typec_port_data by its string name. 1295 * 1296 * Returns typec_port_data if success, otherwise negative error code. 1297 */ 1298 int typec_find_port_data_role(const char *name) 1299 { 1300 return match_string(typec_data_caps, ARRAY_SIZE(typec_data_caps), 1301 name); 1302 } > 1303 EXPORT_SYMBOL_GPL(typec_find_data_type); 1304 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation