linux/drivers/isdn/hardware/mISDN/netjet.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * NETJet mISDN driver
 *
 * Author       Karsten Keil <[email protected]>
 *
 * Copyright 2009  by Karsten Keil <[email protected]>
 */

#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/mISDNhw.h>
#include <linux/slab.h>
#include "ipac.h"
#include "iohelper.h"
#include "netjet.h"
#include "isdnhdlc.h"

#define NETJET_REV

enum nj_types {};

struct tiger_dma {};

struct tiger_hw;

struct tiger_ch {};

#define TX_INIT
#define TX_IDLE
#define TX_RUN
#define TX_UNDERRUN
#define RX_OVERRUN

#define LOG_SIZE

struct tiger_hw {};

static LIST_HEAD(Cards);
static DEFINE_RWLOCK(card_lock); /* protect Cards */
static u32 debug;
static int nj_cnt;

static void
_set_debug(struct tiger_hw *card)
{}

static int
set_debug(const char *val, const struct kernel_param *kp)
{}

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_VERSION();
module_param_call();
MODULE_PARM_DESC();

static void
nj_disable_hwirq(struct tiger_hw *card)
{}


static u8
ReadISAC_nj(void *p, u8 offset)
{}

static void
WriteISAC_nj(void *p, u8 offset, u8 value)
{}

static void
ReadFiFoISAC_nj(void *p, u8 offset, u8 *data, int size)
{}

static void
WriteFiFoISAC_nj(void *p, u8 offset, u8 *data, int size)
{}

static void
fill_mem(struct tiger_ch *bc, u32 idx, u32 cnt, u32 fill)
{}

static int
mode_tiger(struct tiger_ch *bc, u32 protocol)
{}

static void
nj_reset(struct tiger_hw *card)
{}

static int
inittiger(struct tiger_hw *card)
{}

static void
read_dma(struct tiger_ch *bc, u32 idx, int cnt)
{}

static void
recv_tiger(struct tiger_hw *card, u8 irq_stat)
{}

/* sync with current DMA address at start or after exception */
static void
resync(struct tiger_ch *bc, struct tiger_hw *card)
{}

static int bc_next_frame(struct tiger_ch *);

static void
fill_hdlc_flag(struct tiger_ch *bc)
{}

static void
fill_dma(struct tiger_ch *bc)
{}


static int
bc_next_frame(struct tiger_ch *bc)
{}

static void
send_tiger_bc(struct tiger_hw *card, struct tiger_ch *bc)
{}

static void
send_tiger(struct tiger_hw *card, u8 irq_stat)
{}

static irqreturn_t
nj_irq(int intno, void *dev_id)
{}

static int
nj_l2l1B(struct mISDNchannel *ch, struct sk_buff *skb)
{}

static int
channel_bctrl(struct tiger_ch *bc, struct mISDN_ctrl_req *cq)
{}

static int
nj_bctrl(struct mISDNchannel *ch, u32 cmd, void *arg)
{}

static int
channel_ctrl(struct tiger_hw *card, struct mISDN_ctrl_req *cq)
{}

static int
open_bchannel(struct tiger_hw *card, struct channel_req *rq)
{}

/*
 * device control function
 */
static int
nj_dctrl(struct mISDNchannel *ch, u32 cmd, void *arg)
{}

static int
nj_init_card(struct tiger_hw *card)
{}


static void
nj_release(struct tiger_hw *card)
{}


static int
nj_setup(struct tiger_hw *card)
{}


static int
setup_instance(struct tiger_hw *card)
{}

static int
nj_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{}


static void nj_remove(struct pci_dev *pdev)
{}

/* We cannot select cards with PCI_SUB... IDs, since here are cards with
 * SUB IDs set to PCI_ANY_ID, so we need to match all and reject
 * known other cards which not work with this driver - see probe function */
static const struct pci_device_id nj_pci_ids[] =;
MODULE_DEVICE_TABLE(pci, nj_pci_ids);

static struct pci_driver nj_driver =;

static int __init nj_init(void)
{}

static void __exit nj_cleanup(void)
{}

module_init();
module_exit(nj_cleanup);