| .. | .. |
|---|
| 105 | 105 | |
|---|
| 106 | 106 | static int msg_do_config(struct usb_configuration *c) |
|---|
| 107 | 107 | { |
|---|
| 108 | | - struct fsg_opts *opts; |
|---|
| 109 | 108 | int ret; |
|---|
| 110 | 109 | |
|---|
| 111 | 110 | if (gadget_is_otg(c->cdev->gadget)) { |
|---|
| 112 | 111 | c->descriptors = otg_desc; |
|---|
| 113 | 112 | c->bmAttributes |= USB_CONFIG_ATT_WAKEUP; |
|---|
| 114 | 113 | } |
|---|
| 115 | | - |
|---|
| 116 | | - opts = fsg_opts_from_func_inst(fi_msg); |
|---|
| 117 | 114 | |
|---|
| 118 | 115 | f_msg = usb_get_function(fi_msg); |
|---|
| 119 | 116 | if (IS_ERR(f_msg)) |
|---|
| .. | .. |
|---|
| 232 | 229 | .unbind = msg_unbind, |
|---|
| 233 | 230 | }; |
|---|
| 234 | 231 | |
|---|
| 232 | +module_usb_composite_driver(msg_driver); |
|---|
| 233 | + |
|---|
| 235 | 234 | MODULE_DESCRIPTION(DRIVER_DESC); |
|---|
| 236 | 235 | MODULE_AUTHOR("Michal Nazarewicz"); |
|---|
| 237 | 236 | MODULE_LICENSE("GPL"); |
|---|
| 238 | | - |
|---|
| 239 | | -static int __init msg_init(void) |
|---|
| 240 | | -{ |
|---|
| 241 | | - return usb_composite_probe(&msg_driver); |
|---|
| 242 | | -} |
|---|
| 243 | | -module_init(msg_init); |
|---|
| 244 | | - |
|---|
| 245 | | -static void __exit msg_cleanup(void) |
|---|
| 246 | | -{ |
|---|
| 247 | | - usb_composite_unregister(&msg_driver); |
|---|
| 248 | | -} |
|---|
| 249 | | -module_exit(msg_cleanup); |
|---|