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

// SPDX-License-Identifier: GPL-2.0-only
/*
 * mISDNisar.c   ISAR (Siemens PSB 7110) specific functions
 *
 * Author Karsten Keil ([email protected])
 *
 * Copyright 2009  by Karsten Keil <[email protected]>
 */

/* define this to enable static debug messages, if you kernel supports
 * dynamic debugging, you should use debugfs for this
 */
/* #define DEBUG */

#include <linux/gfp.h>
#include <linux/delay.h>
#include <linux/vmalloc.h>
#include <linux/mISDNhw.h>
#include <linux/module.h>
#include "isar.h"

#define ISAR_REV

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

#define DEBUG_HW_FIRMWARE_FIFO

static const u8 faxmodulation[] =;
#define FAXMODCNT

static void isar_setup(struct isar_hw *);

static inline int
waitforHIA(struct isar_hw *isar, int timeout)
{}

/*
 * send msg to ISAR mailbox
 * if msg is NULL use isar->buf
 */
static int
send_mbox(struct isar_hw *isar, u8 his, u8 creg, u8 len, u8 *msg)
{}

/*
 * receive message from ISAR mailbox
 * if msg is NULL use isar->buf
 */
static void
rcv_mbox(struct isar_hw *isar, u8 *msg)
{}

static inline void
get_irq_infos(struct isar_hw *isar)
{}

/*
 * poll answer message from ISAR mailbox
 * should be used only with ISAR IRQs disabled before DSP was started
 *
 */
static int
poll_mbox(struct isar_hw *isar, int maxdelay)
{}

static int
ISARVersion(struct isar_hw *isar)
{}

static int
load_firmware(struct isar_hw *isar, const u8 *buf, int size)
{}

static inline void
deliver_status(struct isar_ch *ch, int status)
{}

static inline void
isar_rcv_frame(struct isar_ch *ch)
{}

static void
isar_fill_fifo(struct isar_ch *ch)
{}

static inline struct isar_ch *
sel_bch_isar(struct isar_hw *isar, u8 dpath)
{}

static void
send_next(struct isar_ch *ch)
{}

static void
check_send(struct isar_hw *isar, u8 rdm)
{}

static const char *dmril[] =;
static const char *dmrim[] =;

static void
isar_pump_status_rsp(struct isar_ch *ch) {}

static void
isar_pump_statev_modem(struct isar_ch *ch, u8 devt) {}

static void
isar_pump_statev_fax(struct isar_ch *ch, u8 devt) {}

void
mISDNisar_irq(struct isar_hw *isar)
{}
EXPORT_SYMBOL();

static void
ftimer_handler(struct timer_list *t)
{}

static void
setup_pump(struct isar_ch *ch) {}

static void
setup_sart(struct isar_ch *ch) {}

static void
setup_iom2(struct isar_ch *ch) {}

static int
modeisar(struct isar_ch *ch, u32 bprotocol)
{}

static void
isar_pump_cmd(struct isar_ch *ch, u32 cmd, u8 para)
{}

static void
isar_setup(struct isar_hw *isar)
{}

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

static int
channel_bctrl(struct bchannel *bch, struct mISDN_ctrl_req *cq)
{}

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

static void
free_isar(struct isar_hw *isar)
{}

static int
init_isar(struct isar_hw *isar)
{}

static int
isar_open(struct isar_hw *isar, struct channel_req *rq)
{}

u32
mISDNisar_init(struct isar_hw *isar, void *hw)
{}
EXPORT_SYMBOL();

static int __init isar_mod_init(void)
{}

static void __exit isar_mod_cleanup(void)
{}
module_init();
module_exit(isar_mod_cleanup);