| công cụ tìm kiếm bảng dữ liệu linh kiện điện tử |
|
UM0851 bảng dữ liệu(PDF) 73 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0851 bảng dữ liệu(HTML) 73 Page - STMicroelectronics |
|
73 / 245 page ![]() UM0851 Communication device drivers Doc ID 16604 Rev 2 73/245 Registering to composite device /* usb composite gadget need to fill following structure */ static struct usb_composite_driver zero_driver = { .name = "zero"; .dev = &device_desc; .strings = dev_strings; .bind = zero_bind; /* callback called on successful registration */ }; /* Following are the APIs for register/un-register */ usb_composite_register(&zero_driver); usb_composite_unregister(&zero_driver); Adding configuration Any composite device can have multiple configurations with multiple interfaces, each interface (or a group of interface) representing a unique function. You can use the following API to add a configuration. static struct usb_configuration sourcesink_driver = { .label = "source/sink", .strings = sourcesink_strings, .bind= sourcesink_bind_config, /* callback called during registration to finish other configurations */ .setup = sourcesink_setup, /* callback to handle control requests */ .bConfigurationValue = 3, .bmAttributes = USB_CONFIG_ATT_SELFPOWER, .bMaxPower = 1,/* 2 mA, minimal */ }; /* following function registered earlier, is called during registration */ static int __init zero_bind(struct usb_composite_dev *cdev) { ... usb_add_config(cdev, &sourcesink_driver); ... } Adding function After adding configurations, you also need to define functions supported in each configuration. We can add several functions as per our composite device design. You can use the following mechanism to add functions to configurations. /* Following function registered earlier is called during registration */ static int sourcesink_bind_config(struct usb_configuration *c) { struct f_sourcesink*ss; int status; ss = kzalloc(sizeof *ss, GFP_KERNEL); if (!ss) return -ENOMEM; ss->function.name = "source/sink"; ss->function.descriptors = fs_source_sink_descs; ss->function.bind = sourcesink_bind; ss->function.unbind = sourcesink_unbind; ss->function.set_alt = sourcesink_set_alt; |
|
Link URL |
| Cho đến nay ALLDATASHEET có giúp ích cho doanh nghiệp của bạn hay không? [ DONATE ] |
Alldatasheet là | Quảng cáo | Liên lạc với chúng tôi | Chính sách bảo mật | Liên kết đến bảng dữ liệu | Trao đổi link | Tìm kiếm theo nhà sản xuất All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |