1 /* 2 * HP4x Calculators Serial USB driver 3 * 4 * Copyright (C) 2005 Arthur Huillet (ahuillet@users.sf.net) 5 * Copyright (C) 2001-2005 Greg Kroah-Hartman (greg@kroah.com) 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 9 * the Free Software Foundation; either version 2 of the License, or 10 * (at your option) any later version. 11 * 12 * See Documentation/usb/usb-serial.txt for more information on using this 13 * driver 14 */ 15 16 #include <linux/kernel.h> 17 #include <linux/init.h> 18 #include <linux/tty.h> 19 #include <linux/module.h> 20 #include <linux/usb.h> 21 #include <linux/usb/serial.h> 22 23 /* 24 * Version Information 25 */ 26 #define DRIVER_VERSION "v1.00" 27 #define DRIVER_DESC "HP4x (48/49) Generic Serial driver" 28 29 #define HP_VENDOR_ID 0x03f0 30 #define HP49GP_PRODUCT_ID 0x0121 31 32 static const struct usb_device_id id_table[] = { 33 { USB_DEVICE(HP_VENDOR_ID, HP49GP_PRODUCT_ID) }, 34 { } /* Terminating entry */ 35 }; 36 37 MODULE_DEVICE_TABLE(usb, id_table); 38 39 static struct usb_driver hp49gp_driver = { 40 .name = "hp4X", 41 .probe = usb_serial_probe, 42 .disconnect = usb_serial_disconnect, 43 .id_table = id_table, 44 }; 45 46 static struct usb_serial_driver hp49gp_device = { 47 .driver = { 48 .owner = THIS_MODULE, 49 .name = "hp4X", 50 }, 51 .id_table = id_table, 52 .num_ports = 1, 53 }; 54 55 static struct usb_serial_driver * const serial_drivers[] = { 56 &hp49gp_device, NULL 57 }; 58 59 module_usb_serial_driver(hp49gp_driver, serial_drivers); 60 61 MODULE_DESCRIPTION(DRIVER_DESC); 62 MODULE_VERSION(DRIVER_VERSION); 63 MODULE_LICENSE("GPL"); 64