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