blob: a6f113bd4fae5ee88ca81002ed3021f1f00e7ffb [file] [log] [blame]
Forest Bond52720982010-02-05 11:30:28 -05001/*
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,
Forest Bond52720982010-02-05 11:30:28 -050033};
34
35static struct usb_serial_driver vivopay_serial_device = {
36 .driver = {
37 .owner = THIS_MODULE,
38 .name = "vivopay-serial",
39 },
40 .id_table = id_table,
Forest Bond52720982010-02-05 11:30:28 -050041 .num_ports = 1,
42};
43
Alan Stern29618e92012-02-23 14:57:32 -050044static struct usb_serial_driver * const serial_drivers[] = {
45 &vivopay_serial_device, NULL
46};
47
Forest Bond52720982010-02-05 11:30:28 -050048static int __init vivopay_serial_init(void)
49{
50 int retval;
Alan Stern29618e92012-02-23 14:57:32 -050051
52 retval = usb_serial_register_drivers(&vivopay_serial_driver,
53 serial_drivers);
54 if (retval == 0)
55 printk(KERN_INFO KBUILD_MODNAME ": " DRIVER_VERSION ":"
56 DRIVER_DESC "\n");
Forest Bond52720982010-02-05 11:30:28 -050057 return retval;
58}
59
60static void __exit vivopay_serial_exit(void)
61{
Alan Stern29618e92012-02-23 14:57:32 -050062 usb_serial_deregister_drivers(&vivopay_serial_driver, serial_drivers);
Forest Bond52720982010-02-05 11:30:28 -050063}
64
65module_init(vivopay_serial_init);
66module_exit(vivopay_serial_exit);
67
68MODULE_AUTHOR("Forest Bond <forest.bond@outpostembedded.com>");
69MODULE_DESCRIPTION(DRIVER_DESC);
70MODULE_VERSION(DRIVER_VERSION);
71MODULE_LICENSE("GPL");