#include <linux/kernel.h>
#include <linux/tty.h>
#include <linux/module.h>
#include <linux/usb.h>
#include <linux/usb/serial.h>
#include <linux/uaccess.h>
#define GSI_VENDOR_OPENCLOSE …
static const struct usb_device_id id_table[] = …;
MODULE_DEVICE_TABLE(usb, id_table);
static int usb_gsi_openclose(struct usb_serial_port *port, int value)
{ … }
static int wishbone_serial_open(struct tty_struct *tty,
struct usb_serial_port *port)
{ … }
static void wishbone_serial_close(struct usb_serial_port *port)
{ … }
static struct usb_serial_driver wishbone_serial_device = …;
static struct usb_serial_driver * const serial_drivers[] = …;
module_usb_serial_driver(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;