HISAX_INITFUNC(void inithscxisac(struct IsdnCardState *cs, int part)) { if (part & 1) { clear_pending_isac_ints(cs); clear_pending_hscx_ints(cs); initisac(cs); inithscx(cs); } if (part & 2) { /* Reenable all IRQ */ cs->writeisac(cs, ISAC_MASK, 0); cs->BC_Write_Reg(cs, 0, HSCX_MASK, 0); cs->BC_Write_Reg(cs, 1, HSCX_MASK, 0); /* RESET Receiver and Transmitter */ cs->writeisac(cs, ISAC_CMDR, 0x41); } }
static int mic_card_msg(struct IsdnCardState *cs, int mt, void *arg) { switch (mt) { case CARD_RESET: return(0); case CARD_RELEASE: release_io_mic(cs); return(0); case CARD_INIT: inithscx(cs); /* /RTSA := ISAC RST */ inithscxisac(cs, 3); return(0); case CARD_TEST: return(0); } return(0); }
static int mic_card_msg(struct IsdnCardState *cs, int mt, void *arg) { u_long flags; switch (mt) { case CARD_RESET: return(0); case CARD_RELEASE: release_io_mic(cs); return(0); case CARD_INIT: spin_lock_irqsave(&cs->lock, flags); inithscx(cs); /* /RTSA := ISAC RST */ inithscxisac(cs, 3); spin_unlock_irqrestore(&cs->lock, flags); return(0); case CARD_TEST: return(0); } return(0); }
static int ix1_card_msg(struct IsdnCardState *cs, int mt, void *arg) { switch (mt) { case CARD_RESET: ix1_reset(cs); return(0); case CARD_RELEASE: release_io_ix1micro(cs); return(0); case CARD_SETIRQ: return(request_irq(cs->irq, &ix1micro_interrupt, I4L_IRQ_FLAG, "HiSax", cs)); case CARD_INIT: clear_pending_isac_ints(cs); clear_pending_hscx_ints(cs); initisac(cs); inithscx(cs); return(0); case CARD_TEST: return(0); } return(0); }
void inithscxisac(struct IsdnCardState *cs) { initisac(cs); inithscx(cs); }