linux/drivers/tty/serial/icom.c

// SPDX-License-Identifier: GPL-2.0+
/*
  * icom.c
  *
  * Copyright (C) 2001 IBM Corporation. All rights reserved.
  *
  * Serial device driver.
  *
  * Based on code from serial.c
  */
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/errno.h>
#include <linux/signal.h>
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/tty.h>
#include <linux/termios.h>
#include <linux/fs.h>
#include <linux/tty_flip.h>
#include <linux/serial.h>
#include <linux/serial_core.h>
#include <linux/serial_reg.h>
#include <linux/major.h>
#include <linux/string.h>
#include <linux/fcntl.h>
#include <linux/ptrace.h>
#include <linux/ioport.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/pci.h>
#include <linux/vmalloc.h>
#include <linux/smp.h>
#include <linux/spinlock.h>
#include <linux/kref.h>
#include <linux/firmware.h>
#include <linux/bitops.h>

#include <linux/io.h>
#include <asm/irq.h>
#include <linux/uaccess.h>

/*#define ICOM_TRACE		 enable port trace capabilities */

#define ICOM_DRIVER_NAME
#define NR_PORTS

static const unsigned int icom_acfg_baud[] =;
#define BAUD_TABLE_LIMIT

struct icom_regs {};

struct func_dram {};

/*
 * adapter defines and structures
 */
#define ICOM_CONTROL_START_A
#define ICOM_CONTROL_STOP_A
#define ICOM_CONTROL_START_B
#define ICOM_CONTROL_STOP_B
#define ICOM_CONTROL_START_C
#define ICOM_CONTROL_STOP_C
#define ICOM_CONTROL_START_D
#define ICOM_CONTROL_STOP_D
#define ICOM_IRAM_OFFSET
#define ICOM_IRAM_SIZE
#define ICOM_DCE_IRAM_OFFSET
#define ICOM_CABLE_ID_VALID
#define ICOM_CABLE_ID_MASK
#define ICOM_DISABLE
#define CMD_XMIT_RCV_ENABLE
#define CMD_XMIT_ENABLE
#define CMD_RCV_DISABLE
#define CMD_RCV_ENABLE
#define CMD_RESTART
#define CMD_HOLD_XMIT
#define CMD_SND_BREAK
#define RS232_CABLE
#define V24_CABLE
#define V35_CABLE
#define V36_CABLE
#define NO_CABLE
#define START_DOWNLOAD
#define ICOM_INT_MASK_PRC_A
#define ICOM_INT_MASK_PRC_B
#define ICOM_INT_MASK_PRC_C
#define ICOM_INT_MASK_PRC_D
#define INT_RCV_COMPLETED
#define INT_XMIT_COMPLETED
#define INT_IDLE_DETECT
#define INT_RCV_DISABLED
#define INT_XMIT_DISABLED
#define INT_RCV_XMIT_SHUTDOWN
#define INT_FATAL_ERROR
#define INT_CABLE_PULL
#define INT_SIGNAL_CHANGE
#define HDLC_PPP_PURE_ASYNC
#define HDLC_FF_FILL
#define HDLC_HDW_FLOW
#define START_XMIT
#define ICOM_ACFG_DRIVE1
#define ICOM_ACFG_NO_PARITY
#define ICOM_ACFG_PARITY_ENAB
#define ICOM_ACFG_PARITY_ODD
#define ICOM_ACFG_8BPC
#define ICOM_ACFG_7BPC
#define ICOM_ACFG_6BPC
#define ICOM_ACFG_5BPC
#define ICOM_ACFG_1STOP_BIT
#define ICOM_ACFG_2STOP_BIT
#define ICOM_DTR
#define ICOM_RTS
#define ICOM_RI
#define ICOM_DSR
#define ICOM_DCD
#define ICOM_CTS

#define NUM_XBUFFS
#define NUM_RBUFFS
#define RCV_BUFF_SZ
#define XMIT_BUFF_SZ
struct statusArea {};

struct icom_adapter;


#define ICOM_MAJOR
#define ICOM_MINOR_START

struct icom_port {};

struct icom_adapter {};

/* prototype */
extern void iCom_sercons_init(void);

struct lookup_proc_table {};

struct lookup_int_table {};

static inline struct icom_port *to_icom_port(struct uart_port *port)
{}

static const struct pci_device_id icom_pci_table[] =;

static struct lookup_proc_table start_proc[4] =;


static struct lookup_proc_table stop_proc[4] =;

static struct lookup_int_table int_mask_tbl[4] =;


MODULE_DEVICE_TABLE(pci, icom_pci_table);

static LIST_HEAD(icom_adapter_head);

/* spinlock for adapter initialization and changing adapter operations */
static DEFINE_SPINLOCK(icom_lock);

#ifdef ICOM_TRACE
static inline void trace(struct icom_port *icom_port, char *trace_pt,
			unsigned long trace_data)
{
	dev_info(&icom_port->adapter->pci_dev->dev, ":%d:%s - %lx\n",
	icom_port->port, trace_pt, trace_data);
}
#else
static inline void trace(struct icom_port *icom_port, char *trace_pt, unsigned long trace_data) {};
#endif
static void icom_kref_release(struct kref *kref);

static void free_port_memory(struct icom_port *icom_port)
{}

static int get_port_memory(struct icom_port *icom_port)
{}

static void stop_processor(struct icom_port *icom_port)
{}

static void start_processor(struct icom_port *icom_port)
{}

static void load_code(struct icom_port *icom_port)
{}

static int startup(struct icom_port *icom_port)
{}

static void shutdown(struct icom_port *icom_port)
{}

static int icom_write(struct uart_port *port)
{}

static inline void check_modem_status(struct icom_port *icom_port)
{}

static void xmit_interrupt(u16 port_int_reg, struct icom_port *icom_port)
{}

static void recv_interrupt(u16 port_int_reg, struct icom_port *icom_port)
{}

static void process_interrupt(u16 port_int_reg,
			      struct icom_port *icom_port)
{}

static irqreturn_t icom_interrupt(int irq, void *dev_id)
{}

/*
 * ------------------------------------------------------------------
 * Begin serial-core API
 * ------------------------------------------------------------------
 */
static unsigned int icom_tx_empty(struct uart_port *port)
{}

static void icom_set_mctrl(struct uart_port *port, unsigned int mctrl)
{}

static unsigned int icom_get_mctrl(struct uart_port *port)
{}

static void icom_stop_tx(struct uart_port *port)
{}

static void icom_start_tx(struct uart_port *port)
{}

static void icom_send_xchar(struct uart_port *port, char ch)
{}

static void icom_stop_rx(struct uart_port *port)
{}

static void icom_break(struct uart_port *port, int break_state)
{}

static int icom_open(struct uart_port *port)
{}

static void icom_close(struct uart_port *port)
{}

static void icom_set_termios(struct uart_port *port, struct ktermios *termios,
			     const struct ktermios *old_termios)
{}

static const char *icom_type(struct uart_port *port)
{}

static void icom_config_port(struct uart_port *port, int flags)
{}

static const struct uart_ops icom_ops =;

#define ICOM_CONSOLE

static struct uart_driver icom_uart_driver =;

static int icom_init_ports(struct icom_adapter *icom_adapter)
{}

static void icom_port_active(struct icom_port *icom_port, struct icom_adapter *icom_adapter, int port_num)
{}
static int icom_load_ports(struct icom_adapter *icom_adapter)
{}

static int icom_alloc_adapter(struct icom_adapter
					**icom_adapter_ref)
{}

static void icom_free_adapter(struct icom_adapter *icom_adapter)
{}

static void icom_kref_release(struct kref *kref)
{}

static int icom_probe(struct pci_dev *dev,
				const struct pci_device_id *ent)
{}

static void icom_remove(struct pci_dev *dev)
{}

static struct pci_driver icom_pci_driver =;

static int __init icom_init(void)
{}

static void __exit icom_exit(void)
{}

module_init();
module_exit(icom_exit);

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