2 related * low-level driver questions:
Lets say I wanted to have one driver handle hardware interrupts for another
driver that actualy binds to the hardware.
("bottom" == driver attached to hardware
"top" == driver that wants to hook into "bottom")
Is the best way to do that,
A) to have some kind of API in the "bottom" driver
that calls ddi_add_intr() directly registering a "top" function to call
B) to have some kind of API in the "bottom" driver
that calls ddi_add_intr() on its own function, which then calls
a registered function in the "top" module
second related question: What about if I dont get to change the source code
in the "bottom" driver, but know it doesnt register an interrupt handler.
Is there a way for me to "steal" the interrupt in an efficient manner?
Is it as simple as the "top" driver figuring out the "dip" info for the
"bottom" driver, and calling ddi_add_intr() for itself?
Can I also use ddi_regs_map_setup with the other driver's dip information?
[oops, thats a third question :-)]
[Trim the no-bots from my address to reply to me by email!]
[ Do NOT email-CC me on posts. Pick one or the other.]
The word of the day is mispergitude