ir-usb.c (4d68c05ce11f4cdf6a6392f3a18dc6a985b4d0c4) | ir-usb.c (7dbe2460989b10644651e779b17b683627feea48) |
---|---|
1/* 2 * USB IR Dongle driver 3 * 4 * Copyright (C) 2001-2002 Greg Kroah-Hartman (greg@kroah.com) 5 * Copyright (C) 2002 Gary Brubaker (xavyer@ix.netcom.com) 6 * Copyright (C) 2010 Johan Hovold (jhovold@gmail.com) 7 * 8 * This program is free software; you can redistribute it and/or modify --- 68 unchanged lines hidden (view full) --- 77 78MODULE_DEVICE_TABLE(usb, ir_id_table); 79 80static struct usb_driver ir_driver = { 81 .name = "ir-usb", 82 .probe = usb_serial_probe, 83 .disconnect = usb_serial_disconnect, 84 .id_table = ir_id_table, | 1/* 2 * USB IR Dongle driver 3 * 4 * Copyright (C) 2001-2002 Greg Kroah-Hartman (greg@kroah.com) 5 * Copyright (C) 2002 Gary Brubaker (xavyer@ix.netcom.com) 6 * Copyright (C) 2010 Johan Hovold (jhovold@gmail.com) 7 * 8 * This program is free software; you can redistribute it and/or modify --- 68 unchanged lines hidden (view full) --- 77 78MODULE_DEVICE_TABLE(usb, ir_id_table); 79 80static struct usb_driver ir_driver = { 81 .name = "ir-usb", 82 .probe = usb_serial_probe, 83 .disconnect = usb_serial_disconnect, 84 .id_table = ir_id_table, |
85 .no_dynamic_id = 1, | |
86}; 87 88static struct usb_serial_driver ir_device = { 89 .driver = { 90 .owner = THIS_MODULE, 91 .name = "ir-usb", 92 }, 93 .description = "IR Dongle", | 85}; 86 87static struct usb_serial_driver ir_device = { 88 .driver = { 89 .owner = THIS_MODULE, 90 .name = "ir-usb", 91 }, 92 .description = "IR Dongle", |
94 .usb_driver = &ir_driver, | |
95 .id_table = ir_id_table, 96 .num_ports = 1, 97 .set_termios = ir_set_termios, 98 .attach = ir_startup, 99 .open = ir_open, 100 .prepare_write_buffer = ir_prepare_write_buffer, 101 .process_read_urb = ir_process_read_urb, 102}; 103 | 93 .id_table = ir_id_table, 94 .num_ports = 1, 95 .set_termios = ir_set_termios, 96 .attach = ir_startup, 97 .open = ir_open, 98 .prepare_write_buffer = ir_prepare_write_buffer, 99 .process_read_urb = ir_process_read_urb, 100}; 101 |
102static struct usb_serial_driver * const serial_drivers[] = { 103 &ir_device, NULL 104}; 105 |
|
104static inline void irda_usb_dump_class_desc(struct usb_irda_cs_descriptor *desc) 105{ 106 dbg("bLength=%x", desc->bLength); 107 dbg("bDescriptorType=%x", desc->bDescriptorType); 108 dbg("bcdSpecRevision=%x", __le16_to_cpu(desc->bcdSpecRevision)); 109 dbg("bmDataSize=%x", desc->bmDataSize); 110 dbg("bmWindowSize=%x", desc->bmWindowSize); 111 dbg("bmMinTurnaroundTime=%d", desc->bmMinTurnaroundTime); --- 328 unchanged lines hidden (view full) --- 440{ 441 int retval; 442 443 if (buffer_size) { 444 ir_device.bulk_in_size = buffer_size; 445 ir_device.bulk_out_size = buffer_size; 446 } 447 | 106static inline void irda_usb_dump_class_desc(struct usb_irda_cs_descriptor *desc) 107{ 108 dbg("bLength=%x", desc->bLength); 109 dbg("bDescriptorType=%x", desc->bDescriptorType); 110 dbg("bcdSpecRevision=%x", __le16_to_cpu(desc->bcdSpecRevision)); 111 dbg("bmDataSize=%x", desc->bmDataSize); 112 dbg("bmWindowSize=%x", desc->bmWindowSize); 113 dbg("bmMinTurnaroundTime=%d", desc->bmMinTurnaroundTime); --- 328 unchanged lines hidden (view full) --- 442{ 443 int retval; 444 445 if (buffer_size) { 446 ir_device.bulk_in_size = buffer_size; 447 ir_device.bulk_out_size = buffer_size; 448 } 449 |
448 retval = usb_serial_register(&ir_device); 449 if (retval) 450 goto failed_usb_serial_register; 451 452 retval = usb_register(&ir_driver); 453 if (retval) 454 goto failed_usb_register; 455 456 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 457 DRIVER_DESC "\n"); 458 459 return 0; 460 461failed_usb_register: 462 usb_serial_deregister(&ir_device); 463 464failed_usb_serial_register: | 450 retval = usb_serial_register_drivers(&ir_driver, serial_drivers); 451 if (retval == 0) 452 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 453 DRIVER_DESC "\n"); |
465 return retval; 466} 467 468static void __exit ir_exit(void) 469{ | 454 return retval; 455} 456 457static void __exit ir_exit(void) 458{ |
470 usb_deregister(&ir_driver); 471 usb_serial_deregister(&ir_device); | 459 usb_serial_deregister_drivers(&ir_driver, serial_drivers); |
472} 473 474 475module_init(ir_init); 476module_exit(ir_exit); 477 478MODULE_AUTHOR(DRIVER_AUTHOR); 479MODULE_DESCRIPTION(DRIVER_DESC); 480MODULE_LICENSE("GPL"); 481 482module_param(debug, bool, S_IRUGO | S_IWUSR); 483MODULE_PARM_DESC(debug, "Debug enabled or not"); 484module_param(xbof, int, 0); 485MODULE_PARM_DESC(xbof, "Force specific number of XBOFs"); 486module_param(buffer_size, int, 0); 487MODULE_PARM_DESC(buffer_size, "Size of the transfer buffers"); 488 | 460} 461 462 463module_init(ir_init); 464module_exit(ir_exit); 465 466MODULE_AUTHOR(DRIVER_AUTHOR); 467MODULE_DESCRIPTION(DRIVER_DESC); 468MODULE_LICENSE("GPL"); 469 470module_param(debug, bool, S_IRUGO | S_IWUSR); 471MODULE_PARM_DESC(debug, "Debug enabled or not"); 472module_param(xbof, int, 0); 473MODULE_PARM_DESC(xbof, "Force specific number of XBOFs"); 474module_param(buffer_size, int, 0); 475MODULE_PARM_DESC(buffer_size, "Size of the transfer buffers"); 476 |