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