Lines Matching +full:0 +full:x1d6b
57 #define GFS_VENDOR_ID 0x1d6b /* Linux Foundation */
58 #define GFS_PRODUCT_ID 0x0105 /* FunctionFS Gadget */
84 module_param_array_named(functions, func_names, charp, &func_num, 0);
108 .language = 0x0409, /* en-us */
181 int ret = 0; in gfs_init()
191 f_ffs[0] = kcalloc(func_num * N_CONF, sizeof(*f_ffs), GFP_KERNEL); in gfs_init()
192 if (!f_ffs[0]) { in gfs_init()
197 f_ffs[i] = f_ffs[0] + i * func_num; in gfs_init()
205 for (i = 0; i < func_num; i++) { in gfs_init()
228 return 0; in gfs_init()
230 while (i >= 0) in gfs_init()
234 kfree(f_ffs[0]); in gfs_init()
247 kfree(f_ffs[0]); in gfs_exit()
249 for (i = 0; i < func_num; i++) in gfs_exit()
274 int ret = 0; in functionfs_ready_callback()
277 return 0; in functionfs_ready_callback()
285 if (unlikely(ret < 0)) { in functionfs_ready_callback()
384 if (unlikely(ret < 0)) in gfs_bind()
388 if (gadget_is_otg(cdev->gadget) && !gfs_otg_desc[0]) { in gfs_bind()
397 gfs_otg_desc[0] = usb_desc; in gfs_bind()
401 for (i = 0; i < ARRAY_SIZE(gfs_configurations); ++i) { in gfs_bind()
413 if (unlikely(ret < 0)) in gfs_bind()
417 return 0; in gfs_bind()
421 kfree(gfs_otg_desc[0]); in gfs_bind()
422 gfs_otg_desc[0] = NULL; in gfs_bind()
458 for (i = 0; i < N_CONF * func_num; ++i) in gfs_unbind()
459 usb_put_function(*(f_ffs[0] + i)); in gfs_unbind()
461 kfree(gfs_otg_desc[0]); in gfs_unbind()
462 gfs_otg_desc[0] = NULL; in gfs_unbind()
464 return 0; in gfs_unbind()
488 if (unlikely(ret < 0)) in gfs_do_config()
492 for (i = 0; i < func_num; i++) { in gfs_do_config()
499 if (ret < 0) { in gfs_do_config()
518 return 0; in gfs_do_config()
520 while (--i >= 0) { in gfs_do_config()
532 int status = 0; in eth_bind_config()
540 if (status < 0) in eth_bind_config()
549 if (status < 0) in eth_bind_config()
561 int status = 0; in bind_rndis_config()
568 if (status < 0) in bind_rndis_config()