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

// SPDX-License-Identifier: GPL-2.0-only
/*
 * speedfax.c	low level stuff for Sedlbauer Speedfax+ cards
 *		based on the ISAR DSP
 *		Thanks to Sedlbauer AG for informations and HW
 *
 * Author       Karsten Keil <[email protected]>
 *
 * Copyright 2009  by Karsten Keil <[email protected]>
 */

#include <linux/interrupt.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/mISDNhw.h>
#include <linux/firmware.h>
#include "ipac.h"
#include "isar.h"

#define SPEEDFAX_REV

#define PCI_SUBVENDOR_SPEEDFAX_PYRAMID
#define PCI_SUBVENDOR_SPEEDFAX_PCI
#define PCI_SUB_ID_SEDLBAUER

#define SFAX_PCI_ADDR
#define SFAX_PCI_ISAC
#define SFAX_PCI_ISAR

/* TIGER 100 Registers */

#define TIGER_RESET_ADDR
#define TIGER_EXTERN_RESET_ON
#define TIGER_EXTERN_RESET_OFF
#define TIGER_AUX_CTRL
#define TIGER_AUX_DATA
#define TIGER_AUX_IRQMASK
#define TIGER_AUX_STATUS

/* Tiger AUX BITs */
#define SFAX_AUX_IOMASK
#define SFAX_ISAR_RESET_BIT_OFF
#define SFAX_ISAR_RESET_BIT_ON
#define SFAX_TIGER_IRQ_BIT
#define SFAX_LED1_BIT
#define SFAX_LED2_BIT

#define SFAX_PCI_RESET_ON
#define SFAX_PCI_RESET_OFF

static int sfax_cnt;
static u32 debug;
static u32 irqloops =;

struct sfax_hw {};

static LIST_HEAD(Cards);
static DEFINE_RWLOCK(card_lock); /* protect Cards */

static void
_set_debug(struct sfax_hw *card)
{}

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

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();
MODULE_VERSION();
MODULE_FIRMWARE();
module_param_call();
MODULE_PARM_DESC();
module_param(irqloops, uint, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC();

IOFUNC_IND()
IOFUNC_IND()

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

static void
enable_hwirq(struct sfax_hw *sf)
{}

static void
disable_hwirq(struct sfax_hw *sf)
{}

static void
reset_speedfax(struct sfax_hw *sf)
{}

static int
sfax_ctrl(struct sfax_hw  *sf, u32 cmd, u_long arg)
{}

static int
channel_ctrl(struct sfax_hw  *sf, struct mISDN_ctrl_req *cq)
{}

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

static int
init_card(struct sfax_hw *sf)
{}


static int
setup_speedfax(struct sfax_hw *sf)
{}

static void
release_card(struct sfax_hw *card) {}

static int
setup_instance(struct sfax_hw *card)
{}

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

static void
sfax_remove_pci(struct pci_dev *pdev)
{}

static struct pci_device_id sfaxpci_ids[] =;
MODULE_DEVICE_TABLE(pci, sfaxpci_ids);

static struct pci_driver sfaxpci_driver =;

static int __init
Speedfax_init(void)
{}

static void __exit
Speedfax_cleanup(void)
{}

module_init();
module_exit(Speedfax_cleanup);