OF devices and non OF devices

John Rigby jcrigby at gmail.com
Thu Jul 5 23:28:58 EST 2007


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 <kari.davidsson at marel.is> 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:jcrigby at gmail.com]
> Sent: 3. júlí 2007 16:31
> To: Kári Davíðsson
> Cc: linuxppc-embedded at ozlabs.org
> 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 <kari.davidsson at marel.is> 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                   | kari.davidsson at marel.is
>         Hugbúnaðargerð                   | www.marel.com
>         Tel: 563-8156 Fax: +354 563 8001
>         Iceland
>         _______________________________________________
>         Linuxppc-embedded mailing list
>         Linuxppc-embedded at ozlabs.org
>         https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20070705/69fb36db/attachment.htm 


More information about the Linuxppc-embedded mailing list