Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.1-rc6 76 lines 1.8 kB view raw
1/* 2 * Copyright (C) 2001-2005 Greg Kroah-Hartman (greg@kroah.com) 3 * Copyright (C) 2009 Outpost Embedded, LLC 4 */ 5 6#include <linux/kernel.h> 7#include <linux/init.h> 8#include <linux/tty.h> 9#include <linux/module.h> 10#include <linux/usb.h> 11#include <linux/usb/serial.h> 12 13 14#define DRIVER_VERSION "v1.0" 15#define DRIVER_DESC "ViVOpay USB Serial Driver" 16 17#define VIVOPAY_VENDOR_ID 0x1d5f 18 19 20static struct usb_device_id id_table [] = { 21 /* ViVOpay 8800 */ 22 { USB_DEVICE(VIVOPAY_VENDOR_ID, 0x1004) }, 23 { }, 24}; 25 26MODULE_DEVICE_TABLE(usb, id_table); 27 28static struct usb_driver vivopay_serial_driver = { 29 .name = "vivopay-serial", 30 .probe = usb_serial_probe, 31 .disconnect = usb_serial_disconnect, 32 .id_table = id_table, 33 .no_dynamic_id = 1, 34}; 35 36static struct usb_serial_driver vivopay_serial_device = { 37 .driver = { 38 .owner = THIS_MODULE, 39 .name = "vivopay-serial", 40 }, 41 .id_table = id_table, 42 .usb_driver = &vivopay_serial_driver, 43 .num_ports = 1, 44}; 45 46static int __init vivopay_serial_init(void) 47{ 48 int retval; 49 retval = usb_serial_register(&vivopay_serial_device); 50 if (retval) 51 goto failed_usb_serial_register; 52 retval = usb_register(&vivopay_serial_driver); 53 if (retval) 54 goto failed_usb_register; 55 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":" 56 DRIVER_DESC "\n"); 57 return 0; 58failed_usb_register: 59 usb_serial_deregister(&vivopay_serial_device); 60failed_usb_serial_register: 61 return retval; 62} 63 64static void __exit vivopay_serial_exit(void) 65{ 66 usb_deregister(&vivopay_serial_driver); 67 usb_serial_deregister(&vivopay_serial_device); 68} 69 70module_init(vivopay_serial_init); 71module_exit(vivopay_serial_exit); 72 73MODULE_AUTHOR("Forest Bond <forest.bond@outpostembedded.com>"); 74MODULE_DESCRIPTION(DRIVER_DESC); 75MODULE_VERSION(DRIVER_VERSION); 76MODULE_LICENSE("GPL");