#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/slab.h>
#include <linux/tty.h>
#include <linux/tty_driver.h>
#include <linux/tty_flip.h>
#include <linux/module.h>
#include <linux/uaccess.h>
#include <asm/unaligned.h>
#include <linux/usb.h>
#include <linux/usb/serial.h>
#include "kl5kusb105.h"
#define DRIVER_AUTHOR …
#define DRIVER_DESC …
static int klsi_105_port_probe(struct usb_serial_port *port);
static void klsi_105_port_remove(struct usb_serial_port *port);
static int klsi_105_open(struct tty_struct *tty, struct usb_serial_port *port);
static void klsi_105_close(struct usb_serial_port *port);
static void klsi_105_set_termios(struct tty_struct *tty,
struct usb_serial_port *port,
const struct ktermios *old_termios);
static int klsi_105_tiocmget(struct tty_struct *tty);
static void klsi_105_process_read_urb(struct urb *urb);
static int klsi_105_prepare_write_buffer(struct usb_serial_port *port,
void *dest, size_t size);
static const struct usb_device_id id_table[] = …;
MODULE_DEVICE_TABLE(usb, id_table);
static struct usb_serial_driver kl5kusb105d_device = …;
static struct usb_serial_driver * const serial_drivers[] = …;
struct klsi_105_port_settings { … };
struct klsi_105_private { … };
#define KLSI_TIMEOUT …
static int klsi_105_chg_port_settings(struct usb_serial_port *port,
struct klsi_105_port_settings *settings)
{ … }
static int klsi_105_get_line_state(struct usb_serial_port *port,
unsigned long *state)
{ … }
static int klsi_105_port_probe(struct usb_serial_port *port)
{ … }
static void klsi_105_port_remove(struct usb_serial_port *port)
{ … }
static int klsi_105_open(struct tty_struct *tty, struct usb_serial_port *port)
{ … }
static void klsi_105_close(struct usb_serial_port *port)
{ … }
#define KLSI_HDR_LEN …
static int klsi_105_prepare_write_buffer(struct usb_serial_port *port,
void *dest, size_t size)
{ … }
static void klsi_105_process_read_urb(struct urb *urb)
{ … }
static void klsi_105_set_termios(struct tty_struct *tty,
struct usb_serial_port *port,
const struct ktermios *old_termios)
{ … }
static int klsi_105_tiocmget(struct tty_struct *tty)
{ … }
module_usb_serial_driver(…);
MODULE_AUTHOR(…);
MODULE_DESCRIPTION(…);
MODULE_LICENSE(…) …;