There must be something else wrong with your configuration.
On my Lite5200B fsl_i2c_probe gets called with no changes to the driver.

The kernel version is 2.6.22-rc7

The relevant part of my device tree is:

       [EMAIL PROTECTED] {
           device_type = "i2c";
           compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
           cell-index = <0>;
           reg = <3d00 40>;
           interrupts = <2 f 0>;
           interrupt-parent = <&mpc5200_pic>;
           fsl5200-clocking;
       };

       [EMAIL PROTECTED] {
           device_type = "i2c";
           compatible = "mpc5200b-i2c\0mpc5200-i2c\0fsl-i2c";
           cell-index = <1>;
           reg = <3d40 40>;
           interrupts = <2 10 0>;
           interrupt-parent = <&mpc5200_pic>;
           fsl5200-clocking;
       };

I turned on DEBUG in drivers/base/dd.c and a call to pr_debug in the probe
routine
and here are the relevant log messages:

[   27.258245] platform: Matched Device fsl-i2c.0 with Driver fsl-i2c
[   27.258269] platform: Probing driver fsl-i2c with device fsl-i2c.0
[   27.258299] I2C: here in fsl_i2c_probe
[   27.258732] bound device 'fsl-i2c.0' to driver 'fsl-i2c'
[   27.258756] platform: Bound Device fsl-i2c.0 to Driver fsl-i2c
[   27.258776] platform: Matched Device fsl-i2c.1 with Driver fsl-i2c
[   27.258789] platform: Probing driver fsl-i2c with device fsl-i2c.1
[   27.258821] I2C: here in fsl_i2c_probe
[   27.259269] bound device 'fsl-i2c.1' to driver 'fsl-i2c'
[   27.259293] platform: Bound Device fsl-i2c.1 to Driver fsl-i2c

John

On 7/5/07, John Rigby <[EMAIL PROTECTED]> wrote:

kd,

Ok, obviously It doesn't work the way I thought.  Hopefully someone who
does
understand this will comment.

John

On 7/4/07, Kári Davíðsson <[EMAIL PROTECTED]> wrote:
>
> John, thank you for your answare.
>
> Enabling CONFIG_FSL_SOC only enabled the execution of the init function
> (fsl_i2c_init())
> of the fsl-i2c driver (i2c-mpc.c). The .probe function of the driver was
> never called
> until I converted the driver to the OF model and added the .match_table
> to the driver structure.
>
> Then I get the .probe function (fsl_i2c_probe()) called and the i2c bus
> set up.
>
> Similar thing happens for the i2c device PCF8563 i.e., the init functin
> of the driver (pcf8563_init())
> is called the driver is registered with the kernel, but the .probe
> (pcf8563_probe()) is never called.
>
> The driver pcf8563 has _NO_ exported structures or functions so I
> basically have no handle on it
> that I can utilize in board specific setup.
>
> The way I suspect this is supposed to work is that from the board settup
> files I would do
> rtc_dev = platform_device_register_simple("pcf8563", -1, NULL, 0);
> which should later trigger the calling of the pcf8563_probe() function.
>
> This is doing things in the same way as the fsl i2c code, i.e.
> i2c_dev = platform_device_register_simple("i2c", i, r, 2);
> which by the way does not work untill I have converted the fsl_i2c (
> i2c-mpc.c) driver to the OF structure.
>
> So still the method of gluing together the OF drivers and non OF drivers
> eludes me.
>
> rg
> kd
>
> P.S. I did check the 2.6.21-RC7-git3 and found that the i2c-mpc.c and
> the rtc-pcf85763.c are basically the same
> as what I am working with in 2.6.20+
> ________________________________
>
> From: John Rigby [mailto: [EMAIL PROTECTED]
> Sent: 3. júlí 2007 16:31
> To: Kári Davíðsson
> Cc: [email protected]
> Subject: Re: OF devices and non OF devices
>
>
> One place to find binding between OF devices and non OF devices is in
> arch/powerpc/sysdev/fsl_soc.c
> The typical pattern is:
>     if of_find_compatible_node "of-device-name"
>         platform_device_register_simple ""platform-device-name"
>         platform_device_add_data ...
>
>
>
> On 7/3/07, Kári Davíðsson <[EMAIL PROTECTED]> wrote:
>
>         Hi,
>
>         I am attempting to get some non OF devices working for an mpc
> 5200 board, in particular
>         PCF8563 RTC.
>
>         This device has an non OF device interface which I believe is
> correct. After all it should work
>         on non OF platforms.
>
>         I have managed to get the board to run the i2c initialization
> (and probe) for the fsl-mpc i2c driver by
>         converting the fsl-mpc i2c driver to OF driver (I found some
> patch here that I based this work on).
>
>
> fsl-i2c is one of the devices handled by fsl_soc.c so you shouldn't need
> to change anything to
> make it work in the latest kernel.  CONFIG_FSL_SOC was only added to
> lite5200_defconfig recently so
> that may explain why it's not on in your kernel.
>
>
>
>         Since the PCF8563 driver is not OF driver only its
> initaliziation code is run but the .probe function
>         of the driver is never run. Basically (as far as I can
> understand) the .probe is never run because the
>         driver is not an OF driver.
>
>         I could convert the PCF8563 driver to OF driver and make it work
> for our puposes but I feel this is
>         1) Wrong
>         2) therefore wasted work.
>
>
> Since the driver must run on non OF platforms then it should not be
> converted.  You just need to add a platform_device_register somewhere.
> I don't think fsl_soc.c is  the right place since it is not part of an
> freescale SOC.
> You could probably put it in a board specific startup routine.
>
>
>
>         What seems to elude me is some glue that glues together the OF
> part of the driver space to the non OF part
>         of the driver space.
>
>         Any hints or pointers on where to find this glue?
>
>         Regards,
>         kd
>
>         P.S. Kernel is post 2.6.20.
>
>         --
>         Kári Davíðsson                   | [EMAIL PROTECTED]
>         Hugbúnaðargerð                   | www.marel.com
>         Tel: 563-8156 Fax: +354 563 8001
>         Iceland
>         _______________________________________________
>         Linuxppc-embedded mailing list
>         [email protected]
>         https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> [email protected]
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>


_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Reply via email to