- fix HFC PCI driver

- some cleanups
This commit is contained in:
Karsten Keil 2005-05-18 14:19:34 +00:00
parent 3f5a6d398f
commit 9aa4b41d68
3 changed files with 30 additions and 21 deletions

View File

@ -43,14 +43,14 @@ discard_queue(struct sk_buff_head *q)
#ifdef MISDN_MEMDEBUG
#define alloc_stack_skb(s, r) __mid_alloc_stack_skb(s, r, __FILE__, __LINE__)
static inline struct sk_buff *
__mid_alloc_stack_skb(size_t size, size_t reserve, char *fn, int line)
__mid_alloc_stack_skb(u_int size, u_int reserve, char *fn, int line)
{
struct sk_buff *skb;
if (!(skb = __mid_alloc_skb(size + reserve, GFP_ATOMIC, fn, line)))
#else
static inline struct sk_buff *
alloc_stack_skb(size_t size, size_t reserve)
alloc_stack_skb(u_int size, u_int reserve)
{
struct sk_buff *skb;
@ -214,7 +214,7 @@ mISDN_queuedown_newhead(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinf
#ifdef MISDN_MEMDEBUG
#define create_link_skb(p, d, l, dp, r) __mid_create_link_skb(p, d, l, dp, r, __FILE__, __LINE__)
static inline struct sk_buff *
__mid_create_link_skb(u_int prim, int dinfo, int len, void *dp, int reserve, char *fn, int line)
__mid_create_link_skb(u_int prim, int dinfo, u_int len, void *dp, u_int reserve, char *fn, int line)
{
struct sk_buff *skb;
mISDN_head_t *hh;
@ -222,7 +222,7 @@ __mid_create_link_skb(u_int prim, int dinfo, int len, void *dp, int reserve, cha
if (!(skb = __mid_alloc_skb(len + reserve, GFP_ATOMIC, fn, line))) {
#else
static inline struct sk_buff *
create_link_skb(u_int prim, int dinfo, int len, void *dp, int reserve)
create_link_skb(u_int prim, int dinfo, u_int len, void *dp, u_int reserve)
{
struct sk_buff *skb;
mISDN_head_t *hh;
@ -250,7 +250,7 @@ create_link_skb(u_int prim, int dinfo, int len, void *dp, int reserve)
#ifdef MISDN_MEMDEBUG
#define mISDN_queue_data(i, a, p, d, l, dp, r) __mid_queue_data(i, a, p, d, l, dp, r, __FILE__, __LINE__)
static inline int
__mid_queue_data(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinfo, int len, void *dp, int reserve, char *fn, int line)
__mid_queue_data(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinfo, u_int len, void *dp, u_int reserve, char *fn, int line)
{
struct sk_buff *skb;
int err;
@ -258,7 +258,7 @@ __mid_queue_data(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinfo, int
if (!(skb = __mid_create_link_skb(prim, dinfo, len, dp, reserve, fn, line)))
#else
static inline int
mISDN_queue_data(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinfo, int len, void *dp, int reserve)
mISDN_queue_data(mISDNinstance_t *inst, u_int aflag, u_int prim, int dinfo, u_int len, void *dp, u_int reserve)
{
struct sk_buff *skb;
int err;

View File

@ -2153,19 +2153,21 @@ SelFreeBChannel(hfc_pci_t *hc, channel_info_t *ci)
#define MAX_CARDS 8
#define MODULE_PARM_T "1-8i"
static int HFC_cnt;
static u_int protocol[MAX_CARDS];
static int layermask[MAX_CARDS];
static uint protocol[MAX_CARDS];
static uint layermask[MAX_CARDS];
static uint debug;
static mISDNobject_t HFC_obj;
static int debug;
#ifdef MODULE
MODULE_AUTHOR("Karsten Keil");
#ifdef MODULE_LICENSE
MODULE_LICENSE("GPL");
#endif
MODULE_PARM(debug, "1i");
MODULE_PARM(protocol, MODULE_PARM_T);
module_param (debug, uint, 0);
MODULE_PARM_DESC (debug, "hfcpci debug mask");
module_param_array(protocol, uint, NULL, 0);
MODULE_PARM_DESC (protocol, "hfcpci protcol (DSS1 := 2)");
/* short description of protocol
* protocol=<p1>[,p2,p3...]
@ -2191,7 +2193,8 @@ MODULE_PARM(protocol, MODULE_PARM_T);
* bit 10 - 15 reserved
*/
MODULE_PARM(layermask, MODULE_PARM_T);
module_param_array(layermask, uint, NULL, 0);
MODULE_PARM_DESC(layermask, "hfcpci layer mask");
#endif
static char HFCName[] = "HFC_PCI";
@ -2256,9 +2259,9 @@ setup_hfcpci(hfc_pci_t *hc)
pci_write_config_dword(hc->hw.dev, 0x80, (u_int) virt_to_bus(hc->hw.fifos));
hc->hw.pci_io = ioremap((ulong) hc->hw.pci_io, 256);
printk(KERN_INFO
"HFC-PCI: defined at mem %#x fifo %#x(%#x) IRQ %d HZ %d\n",
(u_int) hc->hw.pci_io, (u_int) hc->hw.fifos,
(u_int) virt_to_bus(hc->hw.fifos),
"HFC-PCI: defined at mem %#lx fifo %#lx(%#lx) IRQ %d HZ %d\n",
(u_long) hc->hw.pci_io, (u_long) hc->hw.fifos,
(u_long) virt_to_bus(hc->hw.fifos),
hc->irq, HZ);
pci_write_config_word(hc->hw.dev, PCI_COMMAND, PCI_ENA_MEMIO); /* enable memory mapped ports, disable busmaster */
hc->hw.int_m2 = 0; /* disable alle interrupts */
@ -2468,6 +2471,7 @@ static int __init HFC_init(void)
mISDN_init_dch(&card->dch);
for (i=0; i<2; i++) {
card->bch[i].channel = i + 1;
card->bch[i].hw = card;
mISDN_init_instance(&card->bch[i].inst, &HFC_obj, card, hfcpci_l2l1);
card->bch[i].inst.pid.layermask = ISDN_LAYER(0);
card->bch[i].inst.lock = lock_dev;

View File

@ -476,18 +476,21 @@ static int init_card(sedl_fax *sf)
#define MODULE_PARM_T "1-4i"
static int sedl_cnt;
static mISDNobject_t speedfax;
static int debug;
static u_int protocol[MAX_CARDS];
static int layermask[MAX_CARDS];
static uint debug;
static uint protocol[MAX_CARDS];
static uint layermask[MAX_CARDS];
#ifdef MODULE
MODULE_AUTHOR("Karsten Keil");
#ifdef MODULE_LICENSE
MODULE_LICENSE("GPL");
#endif
MODULE_PARM(debug, "1i");
MODULE_PARM(protocol, MODULE_PARM_T);
MODULE_PARM(layermask, MODULE_PARM_T);
module_param (debug, uint, 0);
MODULE_PARM_DESC (debug, "sedlfax debug mask");
module_param_array(protocol, uint, NULL, 0);
MODULE_PARM_DESC (protocol, "sedlfax protcol (DSS1 := 2)");
module_param_array(layermask, uint, NULL, 0);
MODULE_PARM_DESC(layermask, "sedlfax layer mask");
#endif
static char SpeedfaxName[] = "Speedfax";
@ -993,7 +996,9 @@ static int __init Speedfax_init(void)
#endif
#endif
#endif
#if defined(CONFIG_PNP)
out_unregister_pci:
#endif
pci_unregister_driver(&sedlpci_driver);
out:
return err;