static int niccy_card_msg(struct IsdnCardState *cs, int mt, void *arg) { int imode; switch (mt) { case CARD_RESET: niccy_reset(cs); return(0); case CARD_RELEASE: release_io_niccy(cs); return(0); case CARD_SETIRQ: if (cs->subtyp == NICCY_PCI) imode = I4L_IRQ_FLAG | SA_SHIRQ; else imode = I4L_IRQ_FLAG; return(request_irq(cs->irq, &niccy_interrupt, imode, "HiSax", cs)); break; case CARD_INIT: niccy_reset(cs); return(0); case CARD_TEST: return(0); } return(0); }
static int niccy_card_msg(struct IsdnCardState *cs, int mt, void *arg) { switch (mt) { case CARD_RESET: niccy_reset(cs); return(0); case CARD_RELEASE: release_io_niccy(cs); return(0); case CARD_INIT: niccy_reset(cs); return(0); case CARD_TEST: return(0); } return(0); }
static int niccy_card_msg(struct IsdnCardState *cs, int mt, void *arg) { u_long flags; switch (mt) { case CARD_RESET: spin_lock_irqsave(&cs->lock, flags); niccy_reset(cs); spin_unlock_irqrestore(&cs->lock, flags); return 0; case CARD_RELEASE: release_io_niccy(cs); return 0; case CARD_INIT: spin_lock_irqsave(&cs->lock, flags); niccy_reset(cs); spin_unlock_irqrestore(&cs->lock, flags); return 0; case CARD_TEST: return 0; } return 0; }