On Sat, Apr 26, 2008 at 7:58 PM, mtwallet <[EMAIL PROTECTED]> wrote: > > I got something working. I created a "device" child in the DTS file and used > th platform driver subsystem to register my module and get the virtual IRQ > as derived from the interrupt triplet-style spec in the dts file.
Sorry I didn't get back to you right away. Yes, the best/right thing to do is put a node in your device tree to capture the interrupt and other interfaces to your custom device. You should consider using the of_platform infrastructure for registering your device. Your driver code can extract its register locations and interrupts directly from a device tree node. For an example, look at the ulite_of_probe and ulite_of_driver in driver/serial/uartlite.c. > I'm still not real content as my child is nested with the SOC peripherals, > but this is more of a style/readability hang-up for me, for now. At least > now I can get the virtual irq by registering a platform driver, requesting > the irq number, and successfully requesting the irq. > > I welcome any advice if I have used the dts file in an unintended fashion, > but it feels like the right place to specify a "device", even if all the > device embodies is an IRQ. Newbie conceptual difficulty overcome. Your part of the way there. Your node should be a child of the device that it is connected to. Is it attached to the local bus? or i2c? It should have a "compatible" property so that your device driver can find it (in the form 'compatible = "<manufacturer>,<device>";'). It should have both an 'interrupt-parent' and an 'interrupts' property for specifying the interrupt. If the device is addressable, it should have a 'reg' property. You're right that it shouldn't be mixed in with the SoC nodes because that doesn't accurately describe your platform. But, it is perfectly fine for it to be a child of one of the SoC nodes (for example if it is attached to one of the i2c busses). Cheers, g. -- Grant Likely, B.Sc., P.Eng. Secret Lab Technologies Ltd. _______________________________________________ Linuxppc-embedded mailing list [email protected] https://ozlabs.org/mailman/listinfo/linuxppc-embedded
