User`s guide
Appendix B • 65
B.3.5 Init Interrupt Register
int initializeInterrupt(Spull_Dev *pDE)
{
int result;
PDEBUG("initInterrupt: Entered Interrupt Initialization routine.\n");
if (pDE->IRQLine)
{
PDEBUG("InitInterrupt:21555 irqline %d\n",pDE->IRQLine);
disableDbInterrupt(pDE,pDE->ThisInterface,0xFFFF);
PDEBUG("InitInterrupt: 21555 interrupt disabled\n");
enableDbInterrupt(pDE,pDE->ThisInterface,0x3);
PDEBUG("InitInterrupt: 21555 interrupt enabled\n");
result=request_irq(pDE->IRQLine, interrupt_handler, SA_INTERRUPT |
SA_SHIRQ, "cPCI6765", pDE);
if(result)
{
PWARN("InitInterrupt: ERROR Could not connect to interrupt.\n");
return ERR_INT_INIT;
}
pDE->irq_handle=pDE->IRQLine;
//set irq driven request function to kernel
blk_init_queue(BLK_DEFAULT_QUEUE(MAJOR_NR),irqdriven_request);
return RET_SUCCESS;
} else {
return ERR_NO_PCI_INT;
}
}