i2c driver's probe routine not getting called

3 messages, 2 authors, 2008-11-05 · open the first message on its own page

i2c driver's probe routine not getting called

From: Laxmikant Rashinkar <hidden>
Date: 2008-11-05 03:36:59

Hi,

I have linux-2.6.27.1 running on a MPC8347 based board.

When my freescale I2C driver is insmoded, it calls platform_driver_register() successfully, but the probe routine doesn't get called. AFAIK, this only happens if the device is not known. I could call platform_device_register() to make the device known, but it seems to be the wrong approach. Shouldn't the definitions in my device tree be doing that? Here is the i2c section of my device tree:

                i2c@3000 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        cell-index = <0>;
                        compatible = "fsl-i2c";
                        reg = <0x3000 0x100>;
                        interrupts = <14 0x8>;
                        interrupt-parent = <&ipic>;
                        dfsrr;

                        rtc@68 {
                                compatible = "dallas,ds1374";
                                reg = <0x68>;
                        };
                };

                i2c@3100 {
                        #address-cells = <1>;
                        #size-cells = <0>;
                        cell-index = <1>;
                        compatible = "fsl-i2c";
                        reg = <0x3100 0x100>;
                        interrupts = <15 0x8>;
                        interrupt-parent = <&ipic>;
                        dfsrr;
                };

Could something be wrong here? Note that the same drivers works fine under linux-2.6.15.4

all help appreciated
thanks
LK

1 more lines

Re: i2c driver's probe routine not getting called

From: Scott Wood <hidden>
Date: 2008-11-05 16:15:34

Laxmikant Rashinkar wrote:
I have linux-2.6.27.1 running on a MPC8347 based board.

When my freescale I2C driver is insmoded, it calls platform_driver_register() successfully, but the probe routine doesn't get called.
Is "your" freescale I2C driver different from "the" freescale I2C driver in drivers/i2c/busses/i2c-mpc.c?  If so, you'll need to update it to be an of_platform driver like the in-tree driver is (or, just switch to the in-tree driver).

-Scott

Re: i2c driver's probe routine not getting called

From: Laxmikant Rashinkar <hidden>
Date: 2008-11-05 19:22:37

I actually tried using the in tree i2c-mpc driver before sending out my email. This driver would silently reset the system when i2c accesses took place.

So I guess I'll try to modify the old driver to support new OF interface.

thanks
LK




________________________________
From: Scott Wood <redacted>
To: Laxmikant Rashinkar <redacted>
Cc: <redacted>
Sent: Wednesday, November 5, 2008 8:15:17 AM
Subject: Re: i2c driver's probe routine not getting called

Laxmikant Rashinkar wrote:
I have linux-2.6.27.1 running on a MPC8347 based board.

When my freescale I2C driver is insmoded, it calls platform_driver_register() successfully, but the probe routine doesn't get called. 
Is "your" freescale I2C driver different from "the" freescale I2C driver in drivers/i2c/busses/i2c-mpc.c?  If so, you'll need to update it to be an of_platform driver like the in-tree driver is (or, just switch to the in-tree driver).

-Scott



      
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help