RESEND: Generating interrupts from a USB device driver?

From: Daniel Santos
Date: Mon Sep 02 2013 - 18:46:53 EST


Hello guys. I didn't get a response the last time so hopefully with 3.11 out I'll get one this time.

I need to be able to generate interrupts from a USB device driver while servicing the complete() function of an interrupt URB. While I realize that this may seem strange, the purpose is for a USB to SPI/GPIO bridge chip (the MCP2210). When something happens on the remote device where a chip is expecting it's interrupt out pin to trigger an interrupt on some local (to the board) microcontroller, the MCP2210 instead receives that signal and communicates it to the host the next time it's queried. This is the interrupt that I need to, in effect propagate locally. Since my spi_master and gpio_chip are all functioning now, this is the last step to get one of my spi protocol drivers working correctly.

I've been reading up on Documentation/IRQ-domain.txt, but IRQ controllers are all new to me and there's a lot for me to learn, so I just want to make sure I'm going down the correct path. Is the correct method to create an IRQ domain with irq_domain_add_linear() or some such? I can figure it out eventually, but if somebody can point me in the right direction, it can save me a WHOLE lot of time.

Thanks in advance
Daniel

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/