Path: blob/master/drivers/isdn/hisax/hisax_fcpcipnp.h
15115 views
#include "hisax_if.h"1#include "hisax_isac.h"2#include <linux/pci.h>34#define HSCX_BUFMAX 409656enum {7AVM_FRITZ_PCI,8AVM_FRITZ_PNP,9AVM_FRITZ_PCIV2,10};1112struct hdlc_stat_reg {13#ifdef __BIG_ENDIAN14u_char fill;15u_char mode;16u_char xml;17u_char cmd;18#else19u_char cmd;20u_char xml;21u_char mode;22u_char fill;23#endif24} __attribute__((packed));2526struct fritz_bcs {27struct hisax_b_if b_if;28struct fritz_adapter *adapter;29int mode;30int channel;3132union {33u_int ctrl;34struct hdlc_stat_reg sr;35} ctrl;36u_int stat;37int rcvidx;38int fifo_size;39u_char rcvbuf[HSCX_BUFMAX]; /* B-Channel receive Buffer */4041int tx_cnt; /* B-Channel transmit counter */42struct sk_buff *tx_skb; /* B-Channel transmit Buffer */43};4445struct fritz_adapter {46int type;47spinlock_t hw_lock;48unsigned int io;49unsigned int irq;50struct isac isac;5152struct fritz_bcs bcs[2];5354u32 (*read_hdlc_status) (struct fritz_adapter *adapter, int nr);55void (*write_ctrl) (struct fritz_bcs *bcs, int which);56};57585960