kl5kusb105.c (4d68c05ce11f4cdf6a6392f3a18dc6a985b4d0c4) | kl5kusb105.c (4d2a7aff1062048ea59214b49ca1d915586d6d6d) |
---|---|
1/* 2 * KLSI KL5KUSB105 chip RS232 converter driver 3 * 4 * Copyright (C) 2010 Johan Hovold <jhovold@gmail.com> 5 * Copyright (C) 2001 Utz-Uwe Haus <haus@uuhaus.de> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by --- 77 unchanged lines hidden (view full) --- 86 87MODULE_DEVICE_TABLE(usb, id_table); 88 89static struct usb_driver kl5kusb105d_driver = { 90 .name = "kl5kusb105d", 91 .probe = usb_serial_probe, 92 .disconnect = usb_serial_disconnect, 93 .id_table = id_table, | 1/* 2 * KLSI KL5KUSB105 chip RS232 converter driver 3 * 4 * Copyright (C) 2010 Johan Hovold <jhovold@gmail.com> 5 * Copyright (C) 2001 Utz-Uwe Haus <haus@uuhaus.de> 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by --- 77 unchanged lines hidden (view full) --- 86 87MODULE_DEVICE_TABLE(usb, id_table); 88 89static struct usb_driver kl5kusb105d_driver = { 90 .name = "kl5kusb105d", 91 .probe = usb_serial_probe, 92 .disconnect = usb_serial_disconnect, 93 .id_table = id_table, |
94 .no_dynamic_id = 1, | |
95}; 96 97static struct usb_serial_driver kl5kusb105d_device = { 98 .driver = { 99 .owner = THIS_MODULE, 100 .name = "kl5kusb105d", 101 }, 102 .description = "KL5KUSB105D / PalmConnect", | 94}; 95 96static struct usb_serial_driver kl5kusb105d_device = { 97 .driver = { 98 .owner = THIS_MODULE, 99 .name = "kl5kusb105d", 100 }, 101 .description = "KL5KUSB105D / PalmConnect", |
103 .usb_driver = &kl5kusb105d_driver, | |
104 .id_table = id_table, 105 .num_ports = 1, 106 .bulk_out_size = 64, 107 .open = klsi_105_open, 108 .close = klsi_105_close, 109 .set_termios = klsi_105_set_termios, 110 /*.break_ctl = klsi_105_break_ctl,*/ 111 .tiocmget = klsi_105_tiocmget, 112 .tiocmset = klsi_105_tiocmset, 113 .attach = klsi_105_startup, 114 .release = klsi_105_release, 115 .throttle = usb_serial_generic_throttle, 116 .unthrottle = usb_serial_generic_unthrottle, 117 .process_read_urb = klsi_105_process_read_urb, 118 .prepare_write_buffer = klsi_105_prepare_write_buffer, 119}; 120 | 102 .id_table = id_table, 103 .num_ports = 1, 104 .bulk_out_size = 64, 105 .open = klsi_105_open, 106 .close = klsi_105_close, 107 .set_termios = klsi_105_set_termios, 108 /*.break_ctl = klsi_105_break_ctl,*/ 109 .tiocmget = klsi_105_tiocmget, 110 .tiocmset = klsi_105_tiocmset, 111 .attach = klsi_105_startup, 112 .release = klsi_105_release, 113 .throttle = usb_serial_generic_throttle, 114 .unthrottle = usb_serial_generic_unthrottle, 115 .process_read_urb = klsi_105_process_read_urb, 116 .prepare_write_buffer = klsi_105_prepare_write_buffer, 117}; 118 |
119static struct usb_serial_driver * const serial_drivers[] = { 120 &kl5kusb105d_device, NULL 121}; 122 |
|
121struct klsi_105_port_settings { 122 __u8 pktlen; /* always 5, it seems */ 123 __u8 baudrate; 124 __u8 databits; 125 __u8 unknown1; 126 __u8 unknown2; 127} __attribute__ ((packed)); 128 --- 560 unchanged lines hidden (view full) --- 689*/ 690 return retval; 691} 692 693 694static int __init klsi_105_init(void) 695{ 696 int retval; | 123struct klsi_105_port_settings { 124 __u8 pktlen; /* always 5, it seems */ 125 __u8 baudrate; 126 __u8 databits; 127 __u8 unknown1; 128 __u8 unknown2; 129} __attribute__ ((packed)); 130 --- 560 unchanged lines hidden (view full) --- 691*/ 692 return retval; 693} 694 695 696static int __init klsi_105_init(void) 697{ 698 int retval; |
697 retval = usb_serial_register(&kl5kusb105d_device); 698 if (retval) 699 goto failed_usb_serial_register; 700 retval = usb_register(&kl5kusb105d_driver); 701 if (retval) 702 goto failed_usb_register; | |
703 | 699 |
704 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 705 DRIVER_DESC "\n"); 706 return 0; 707failed_usb_register: 708 usb_serial_deregister(&kl5kusb105d_device); 709failed_usb_serial_register: | 700 retval = usb_serial_register_drivers(&kl5kusb105d_driver, 701 serial_drivers); 702 if (retval == 0) 703 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 704 DRIVER_DESC "\n"); |
710 return retval; 711} 712 713static void __exit klsi_105_exit(void) 714{ | 705 return retval; 706} 707 708static void __exit klsi_105_exit(void) 709{ |
715 usb_deregister(&kl5kusb105d_driver); 716 usb_serial_deregister(&kl5kusb105d_device); | 710 usb_serial_deregister_drivers(&kl5kusb105d_driver, serial_drivers); |
717} 718 719 720module_init(klsi_105_init); 721module_exit(klsi_105_exit); 722 723MODULE_AUTHOR(DRIVER_AUTHOR); 724MODULE_DESCRIPTION(DRIVER_DESC); 725MODULE_LICENSE("GPL"); 726 727 728module_param(debug, bool, S_IRUGO | S_IWUSR); 729MODULE_PARM_DESC(debug, "enable extensive debugging messages"); | 711} 712 713 714module_init(klsi_105_init); 715module_exit(klsi_105_exit); 716 717MODULE_AUTHOR(DRIVER_AUTHOR); 718MODULE_DESCRIPTION(DRIVER_DESC); 719MODULE_LICENSE("GPL"); 720 721 722module_param(debug, bool, S_IRUGO | S_IWUSR); 723MODULE_PARM_DESC(debug, "enable extensive debugging messages"); |