linux/drivers/usb/serial/kobil_sct.c

// SPDX-License-Identifier: GPL-2.0+
/*
 *  KOBIL USB Smart Card Terminal Driver
 *
 *  Copyright (C) 2002  KOBIL Systems GmbH
 *  Author: Thomas Wahrenbruch
 *
 *  Contact: [email protected]
 *
 *  This program is largely derived from work by the linux-usb group
 *  and associated source files.  Please see the usb/serial files for
 *  individual credits and copyrights.
 *
 *  Thanks to Greg Kroah-Hartman ([email protected]) for his help and
 *  patience.
 *
 * Supported readers: USB TWIN, KAAN Standard Plus and SecOVID Reader Plus
 * (Adapter K), B1 Professional and KAAN Professional (Adapter B)
 */


#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/spinlock.h>
#include <linux/uaccess.h>
#include <linux/usb.h>
#include <linux/usb/serial.h>
#include <linux/ioctl.h>
#include "kobil_sct.h"

#define DRIVER_AUTHOR
#define DRIVER_DESC

#define KOBIL_VENDOR_ID
#define KOBIL_ADAPTER_B_PRODUCT_ID
#define KOBIL_ADAPTER_K_PRODUCT_ID
#define KOBIL_USBTWIN_PRODUCT_ID
#define KOBIL_KAAN_SIM_PRODUCT_ID

#define KOBIL_TIMEOUT
#define KOBIL_BUF_LENGTH


/* Function prototypes */
static int kobil_port_probe(struct usb_serial_port *probe);
static void kobil_port_remove(struct usb_serial_port *probe);
static int  kobil_open(struct tty_struct *tty, struct usb_serial_port *port);
static void kobil_close(struct usb_serial_port *port);
static int  kobil_write(struct tty_struct *tty, struct usb_serial_port *port,
			 const unsigned char *buf, int count);
static unsigned int kobil_write_room(struct tty_struct *tty);
static int  kobil_ioctl(struct tty_struct *tty,
			unsigned int cmd, unsigned long arg);
static int  kobil_tiocmget(struct tty_struct *tty);
static int  kobil_tiocmset(struct tty_struct *tty,
			   unsigned int set, unsigned int clear);
static void kobil_read_int_callback(struct urb *urb);
static void kobil_write_int_callback(struct urb *urb);
static void kobil_set_termios(struct tty_struct *tty,
			      struct usb_serial_port *port,
			      const struct ktermios *old);
static void kobil_init_termios(struct tty_struct *tty);

static const struct usb_device_id id_table[] =;
MODULE_DEVICE_TABLE(usb, id_table);

static struct usb_serial_driver kobil_device =;

static struct usb_serial_driver * const serial_drivers[] =;

struct kobil_private {};


static int kobil_port_probe(struct usb_serial_port *port)
{}


static void kobil_port_remove(struct usb_serial_port *port)
{}

static void kobil_init_termios(struct tty_struct *tty)
{}

static int kobil_open(struct tty_struct *tty, struct usb_serial_port *port)
{}


static void kobil_close(struct usb_serial_port *port)
{}


static void kobil_read_int_callback(struct urb *urb)
{}


static void kobil_write_int_callback(struct urb *urb)
{}


static int kobil_write(struct tty_struct *tty, struct usb_serial_port *port,
			const unsigned char *buf, int count)
{}


static unsigned int kobil_write_room(struct tty_struct *tty)
{}


static int kobil_tiocmget(struct tty_struct *tty)
{}

static int kobil_tiocmset(struct tty_struct *tty,
			   unsigned int set, unsigned int clear)
{}

static void kobil_set_termios(struct tty_struct *tty,
			      struct usb_serial_port *port,
			      const struct ktermios *old)
{}

static int kobil_ioctl(struct tty_struct *tty,
					unsigned int cmd, unsigned long arg)
{}

module_usb_serial_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();