#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/interrupt.h>
#include <linux/serial_core.h>
#include <linux/ioport.h>
#include <linux/io.h>
#include <linux/tty_flip.h>
#include <linux/bitops.h>
#include <linux/mcb.h>
#define MEN_Z135_MAX_PORTS …
#define MEN_Z135_BASECLK …
#define MEN_Z135_FIFO_SIZE …
#define MEN_Z135_FIFO_WATERMARK …
#define MEN_Z135_STAT_REG …
#define MEN_Z135_RX_RAM …
#define MEN_Z135_TX_RAM …
#define MEN_Z135_RX_CTRL …
#define MEN_Z135_TX_CTRL …
#define MEN_Z135_CONF_REG …
#define MEN_Z135_UART_FREQ …
#define MEN_Z135_BAUD_REG …
#define MEN_Z135_TIMEOUT …
#define IRQ_ID(x) …
#define MEN_Z135_IER_RXCIEN …
#define MEN_Z135_IER_TXCIEN …
#define MEN_Z135_IER_RLSIEN …
#define MEN_Z135_IER_MSIEN …
#define MEN_Z135_ALL_IRQS …
#define MEN_Z135_MCR_DTR …
#define MEN_Z135_MCR_RTS …
#define MEN_Z135_MCR_OUT1 …
#define MEN_Z135_MCR_OUT2 …
#define MEN_Z135_MCR_LOOP …
#define MEN_Z135_MCR_RCFC …
#define MEN_Z135_MSR_DCTS …
#define MEN_Z135_MSR_DDSR …
#define MEN_Z135_MSR_DRI …
#define MEN_Z135_MSR_DDCD …
#define MEN_Z135_MSR_CTS …
#define MEN_Z135_MSR_DSR …
#define MEN_Z135_MSR_RI …
#define MEN_Z135_MSR_DCD …
#define MEN_Z135_LCR_SHIFT …
#define MEN_Z135_WL5 …
#define MEN_Z135_WL6 …
#define MEN_Z135_WL7 …
#define MEN_Z135_WL8 …
#define MEN_Z135_STB_SHIFT …
#define MEN_Z135_NSTB1 …
#define MEN_Z135_NSTB2 …
#define MEN_Z135_PEN_SHIFT …
#define MEN_Z135_PAR_DIS …
#define MEN_Z135_PAR_ENA …
#define MEN_Z135_PTY_SHIFT …
#define MEN_Z135_PTY_ODD …
#define MEN_Z135_PTY_EVN …
#define MEN_Z135_LSR_DR …
#define MEN_Z135_LSR_OE …
#define MEN_Z135_LSR_PE …
#define MEN_Z135_LSR_FE …
#define MEN_Z135_LSR_BI …
#define MEN_Z135_LSR_THEP …
#define MEN_Z135_LSR_TEXP …
#define MEN_Z135_LSR_RXFIFOERR …
#define MEN_Z135_IRQ_ID_RLS …
#define MEN_Z135_IRQ_ID_RDA …
#define MEN_Z135_IRQ_ID_CTI …
#define MEN_Z135_IRQ_ID_TSA …
#define MEN_Z135_IRQ_ID_MST …
#define LCR(x) …
#define BYTES_TO_ALIGN(x) …
static int line;
static int txlvl = …;
module_param(txlvl, int, S_IRUGO);
MODULE_PARM_DESC(…) …;
static int rxlvl = …;
module_param(rxlvl, int, S_IRUGO);
MODULE_PARM_DESC(…) …;
static int align;
module_param(align, int, S_IRUGO);
MODULE_PARM_DESC(…) …;
static uint rx_timeout;
module_param(rx_timeout, uint, S_IRUGO);
MODULE_PARM_DESC(…) …;
struct men_z135_port { … };
#define to_men_z135(port) …
static inline void men_z135_reg_set(struct men_z135_port *uart,
u32 addr, u32 val)
{ … }
static void men_z135_reg_clr(struct men_z135_port *uart,
u32 addr, u32 val)
{ … }
static void men_z135_handle_modem_status(struct men_z135_port *uart)
{ … }
static void men_z135_handle_lsr(struct men_z135_port *uart)
{ … }
static u16 get_rx_fifo_content(struct men_z135_port *uart)
{ … }
static void men_z135_handle_rx(struct men_z135_port *uart)
{ … }
static void men_z135_handle_tx(struct men_z135_port *uart)
{ … }
static irqreturn_t men_z135_intr(int irq, void *data)
{ … }
static int men_z135_request_irq(struct men_z135_port *uart)
{ … }
static unsigned int men_z135_tx_empty(struct uart_port *port)
{ … }
static void men_z135_set_mctrl(struct uart_port *port, unsigned int mctrl)
{ … }
static unsigned int men_z135_get_mctrl(struct uart_port *port)
{ … }
static void men_z135_stop_tx(struct uart_port *port)
{ … }
static void men_z135_disable_ms(struct uart_port *port)
{ … }
static void men_z135_start_tx(struct uart_port *port)
{ … }
static void men_z135_stop_rx(struct uart_port *port)
{ … }
static void men_z135_enable_ms(struct uart_port *port)
{ … }
static int men_z135_startup(struct uart_port *port)
{ … }
static void men_z135_shutdown(struct uart_port *port)
{ … }
static void men_z135_set_termios(struct uart_port *port,
struct ktermios *termios,
const struct ktermios *old)
{ … }
static const char *men_z135_type(struct uart_port *port)
{ … }
static void men_z135_release_port(struct uart_port *port)
{ … }
static int men_z135_request_port(struct uart_port *port)
{ … }
static void men_z135_config_port(struct uart_port *port, int type)
{ … }
static int men_z135_verify_port(struct uart_port *port,
struct serial_struct *serinfo)
{ … }
static const struct uart_ops men_z135_ops = …;
static struct uart_driver men_z135_driver = …;
static int men_z135_probe(struct mcb_device *mdev,
const struct mcb_device_id *id)
{ … }
static void men_z135_remove(struct mcb_device *mdev)
{ … }
static const struct mcb_device_id men_z135_ids[] = …;
MODULE_DEVICE_TABLE(mcb, men_z135_ids);
static struct mcb_driver mcb_driver = …;
static int __init men_z135_init(void)
{ … }
module_init(…) …;
static void __exit men_z135_exit(void)
{ … }
module_exit(men_z135_exit);
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;
MODULE_IMPORT_NS(…);