Hi Grant,<br><br><div class="gmail_quote">On 26 June 2011 13:42, Grant Likely <span dir="ltr"><<a href="mailto:grant.likely@secretlab.ca">grant.likely@secretlab.ca</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Fri, Jun 24, 2011 at 07:08:34PM +0530, Manjunatha GK wrote:<br>
> Hi Thomas,<br>
><br>
> On 24 June 2011 18:13, Thomas Abraham <<a href="mailto:thomas.abraham@linaro.org">thomas.abraham@linaro.org</a>> wrote:<br>
><br>
> > Hi Manjunath,<br>
> ><br></div></div></blockquote><div><br>[...]<br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div class="h5">
> > ><br>
> > > With the above changes, i was expecting probe function to be called since<br>
> > > device gets binded to driver. But probe will never get called.<br>
> > ><br>
> > > Did I miss anything with above procedure?<br>
> ><br>
> > What about platform_driver->driver.of_match_table? Is it populated<br>
> > (set to omap_i2c_of_match)?<br>
> ><br>
><br>
> Yes. This entry was missing with my changes. With of_match_table, probe is<br>
> getting called.<br>
> Thanks for the pointer.<br>
<br>
</div></div>Glad to hear you got it sorted out.<br></blockquote><div> </div><div>Yes. Now I am able to get i2c base address from DT through device node structure but not able to get irq number from DT. The .dts entries are:<br>
<br>+ gic: intc@48241000 {<br>+ compatible = "arm,omap-gic", "arm,gic";<br>+ interrupt-controller;<br>+ #interrupt-cells = <1>;<br>+ reg = <0x48241000 0x1000>;<br>
+ };<br>+<br>+ i2c@48072000 {<br>+ interrupts = <88>;<br>+ interrupt-parent = <&gic>;<br>+ compatible = "ti,omap_i2c";<br>+ #address-cells = <1>;<br>
+ #size-cells = <0>;<br>+ reg = <0x48072000 0x80>;<br>+<br>+ twl@0x48 {<br>+ compatible = "ti,twl6030";<br>+ reg = < 0x48 >;<br>
+ };<br>+<br>+ };<br><br>From the debug log, it is observed that, the interrupts field will not exists in device_node data structure. It captures all the fields from the about i2c DT entries except interrupts field. <br>
<br>[ 0.293182] of_irq_map_one: dev=/i2c@48072000, index=0<br>[ 0.293212] of_find_property; pp->name: compatible name: interrupts<br>[ 0.293212] of_find_property; pp->name: reg name: interrupts<br>[ 0.293243] of_find_property; pp->name: #address-cells name: interrupts<br>
[ 0.293243] of_find_property; pp->name: #size-cells name: interrupts<br>[ 0.293273] of_find_property; pp->name: name name: interrupts<br>[ 0.293304] omap_i2c_probe: i2c: dev->base: fa072000<br>[ 0.293304] omap_i2c_probe: i2c: dev->irq: ffffffff<br>
<br>Any specific reason for missing entries in device node structures? <br><br>Since you explored other ARM boards, is this interrupts field used and tested?<br><br>-Manjunath<br>
</div></div><br>