예제 #1
0
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);
}
예제 #2
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);
}
예제 #3
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;
}