• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/usb/serial/
1/*
2 * Funsoft Serial USB driver
3 *
4 * Copyright (C) 2006 Greg Kroah-Hartman <gregkh@suse.de>
5 *
6 *	This program is free software; you can redistribute it and/or
7 *	modify it under the terms of the GNU General Public License version
8 *	2 as published by the Free Software Foundation.
9 */
10
11#include <linux/kernel.h>
12#include <linux/init.h>
13#include <linux/tty.h>
14#include <linux/module.h>
15#include <linux/usb.h>
16#include <linux/usb/serial.h>
17#include <linux/uaccess.h>
18
19static int debug;
20
21static const struct usb_device_id id_table[] = {
22	{ USB_DEVICE(0x1404, 0xcddc) },
23	{ },
24};
25MODULE_DEVICE_TABLE(usb, id_table);
26
27static struct usb_driver funsoft_driver = {
28	.name =		"funsoft",
29	.probe =	usb_serial_probe,
30	.disconnect =	usb_serial_disconnect,
31	.id_table =	id_table,
32	.no_dynamic_id = 	1,
33};
34
35static struct usb_serial_driver funsoft_device = {
36	.driver = {
37		.owner =	THIS_MODULE,
38		.name =		"funsoft",
39	},
40	.id_table =		id_table,
41	.usb_driver = 		&funsoft_driver,
42	.num_ports =		1,
43};
44
45static int __init funsoft_init(void)
46{
47	int retval;
48
49	retval = usb_serial_register(&funsoft_device);
50	if (retval)
51		return retval;
52	retval = usb_register(&funsoft_driver);
53	if (retval)
54		usb_serial_deregister(&funsoft_device);
55	return retval;
56}
57
58static void __exit funsoft_exit(void)
59{
60	usb_deregister(&funsoft_driver);
61	usb_serial_deregister(&funsoft_device);
62}
63
64module_init(funsoft_init);
65module_exit(funsoft_exit);
66MODULE_LICENSE("GPL");
67
68module_param(debug, bool, S_IRUGO | S_IWUSR);
69MODULE_PARM_DESC(debug, "Debug enabled or not");
70