12a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar/*
22a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar * ZIO Motherboard USB driver
32a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar *
42a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar * Copyright (C) 2010 Zilogic Systems <code@zilogic.com>
52a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar *
62a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar *	This program is free software; you can redistribute it and/or
72a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar *	modify it under the terms of the GNU General Public License version
82a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar *	2 as published by the Free Software Foundation.
92a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar */
102a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar
112a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/kernel.h>
122a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/init.h>
132a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/tty.h>
142a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/module.h>
152a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/usb.h>
162a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/usb/serial.h>
172a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar#include <linux/uaccess.h>
182a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar
192a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumarstatic const struct usb_device_id id_table[] = {
202a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	{ USB_DEVICE(0x1CBE, 0x0103) },
212a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	{ },
222a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar};
232a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay KumarMODULE_DEVICE_TABLE(usb, id_table);
242a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar
252a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumarstatic struct usb_driver zio_driver = {
262a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.name =		"zio",
272a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.probe =	usb_serial_probe,
282a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.disconnect =	usb_serial_disconnect,
292a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.id_table =	id_table,
302a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar};
312a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar
322a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumarstatic struct usb_serial_driver zio_device = {
332a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.driver = {
342a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar		.owner =	THIS_MODULE,
352a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar		.name =		"zio",
362a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	},
372a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.id_table =		id_table,
382a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar	.num_ports =		1,
392a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar};
402a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay Kumar
4129618e9fb5507b9fcf07f739a8506a3640495945Alan Sternstatic struct usb_serial_driver * const serial_drivers[] = {
4229618e9fb5507b9fcf07f739a8506a3640495945Alan Stern	&zio_device, NULL
4329618e9fb5507b9fcf07f739a8506a3640495945Alan Stern};
4429618e9fb5507b9fcf07f739a8506a3640495945Alan Stern
45dba607f9f0aebfa8f29b3eb911250aa19d5d71a8Greg Kroah-Hartmanmodule_usb_serial_driver(zio_driver, serial_drivers);
462a1e7d5d54c1c046c1fe47dffd119b45087c6de6Vijay KumarMODULE_LICENSE("GPL");
47