Listing 1 /* * Tiny Tiny USB serial driver * * Copyright (C) 2002 Greg Kroah-Hartman (greg@kroah.com) * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, version 2 of the License. * * This driver shows how to create the absolute minimal USB serial driver. * * Compile this driver with: echo "obj-m := tiny_tiny_usbserial.o" > Makefile make -C SUBDIRS=$PWD modules */ #include #ifdef CONFIG_USB_SERIAL_DEBUG static int debug = 1; #define DEBUG #else static int debug; #endif #include #include #include #include #include #include <../drivers/usb/serial/usb-serial.h> #define MY_PRODUCT_ID 0xfff0 #define MY_DEVICE_ID 0xfff0 static struct usb_device_id id_table [] = { { USB_DEVICE(MY_PRODUCT_ID, MY_DEVICE_ID) }, { } /* Terminating entry */ }; /* * allow this driver to be automatically loaded * for these devices if they are present. */ MODULE_DEVICE_TABLE (usb, id_table); static struct usb_driver tiny_driver = { .name = "tiny", .probe = usb_serial_probe, .disconnect = usb_serial_disconnect, .id_table = id_table, }; /* All of the device info needed for the Tiny device */ static struct usb_serial_device_type tiny_device = { .owner = THIS_MODULE, .name = "Tiny USB serial", .short_name = "tiny", .id_table = id_table, .num_interrupt_in = NUM_DONT_CARE, .num_bulk_in = NUM_DONT_CARE, .num_bulk_out = NUM_DONT_CARE, .num_ports = 1, }; static int __init tiny_init (void) { usb_serial_register (&tiny_device); usb_register (&tiny_driver); return 0; } static void __exit tiny_exit (void) { usb_deregister (&tiny_driver); usb_serial_deregister (&tiny_device); } module_init(tiny_init); module_exit(tiny_exit); MODULE_LICENSE("GPL");