Re: RESEND: Generating interrupts from a USB device driver?

From: Daniel Santos
Date: Mon Sep 02 2013 - 21:46:29 EST


On 09/02/2013 06:07 PM, Greg KH wrote:
On Mon, Sep 02, 2013 at 05:46:58PM -0500, Daniel Santos wrote:
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.
No you don't :)

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.
Just pass the data up the spi stack in your interrupt endpoint handler.
No need to try to create a "real" interrupt. There are other USB SPI
drivers that should give you the idea of how to do it.
Thanks for your response! I haven't been able to find these drivers, can you please point me to one? I guess I don't know the "spi stack" well enough to know how to propagate that notification up to the driver for the spi device (let alone that it was called a "stack" :)

Thanks!!
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/