X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=drivers%2Fisdn%2Fhisax%2Famd7930_fn.c;h=341faf58a65c5d76cdaa1ab252bb54186f5d9780;hb=3e5621edb3392b28efb260ac99b2d26fb8b44e73;hp=8ae08c41c853ef8f65b8010688a658ad9f79957e;hpb=2fca877b68b2b4fc5b94277858a1bedd46017cde;p=~andy%2Flinux diff --git a/drivers/isdn/hisax/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c index 8ae08c41c85..341faf58a65 100644 --- a/drivers/isdn/hisax/amd7930_fn.c +++ b/drivers/isdn/hisax/amd7930_fn.c @@ -232,9 +232,10 @@ Amd7930_new_ph(struct IsdnCardState *cs) static void -Amd7930_bh(struct IsdnCardState *cs) +Amd7930_bh(struct work_struct *work) { - + struct IsdnCardState *cs = + container_of(work, struct IsdnCardState, tqueue); struct PStack *stptr; if (!cs) @@ -733,7 +734,7 @@ dbusy_timer_handler(struct IsdnCardState *cs) wByteAMD(cs, 0x21, 0x82); wByteAMD(cs, 0x21, 0x02); spin_unlock_irqrestore(&cs->lock, flags); - cs->irq_func(cs->irq, cs, NULL); + cs->irq_func(cs->irq, cs); if (cs->debug & L1_DEB_ISAC) debugl1(cs, "Amd7930: dbusy_timer_handler: Transmitter reset"); @@ -743,8 +744,7 @@ dbusy_timer_handler(struct IsdnCardState *cs) -void __devinit -Amd7930_init(struct IsdnCardState *cs) +void Amd7930_init(struct IsdnCardState *cs) { WORD *ptr; BYTE cmd, cnt; @@ -766,7 +766,7 @@ Amd7930_init(struct IsdnCardState *cs) /* read */ if (*ptr++ >= 0x100) { if (cmd < 8) - /* setzt Register zurück */ + /* reset register */ rByteAMD(cs, cmd); else { wByteAMD(cs, 0x00, cmd); @@ -789,7 +789,7 @@ Amd7930_init(struct IsdnCardState *cs) void __devinit setup_Amd7930(struct IsdnCardState *cs) { - INIT_WORK(&cs->tqueue, (void *)(void *) Amd7930_bh, cs); + INIT_WORK(&cs->tqueue, Amd7930_bh); cs->dbusytimer.function = (void *) dbusy_timer_handler; cs->dbusytimer.data = (long) cs; init_timer(&cs->dbusytimer);