Re: [PATCH 4/5] Convert PowerPC MPC i2c to of_platform_driver from platform_driver



On 12/20/07, David Gibson <david@xxxxxxxxxxxxxxxxxxxxx> wrote:
On Wed, Dec 19, 2007 at 11:41:44PM -0500, Jon Smirl wrote:
Convert MPC i2c driver from being a platform_driver to an open
firmware version. Error returns were improved. Routine names were
changed from fsl_ to mpc_ to make them match the file name.

In discussions BenH and I have had, we've actually concluded that
moving this from platform drivers to of_platform drives is not
actually a good idea.

In fact we're planning to move away from of_platform devices and
drivers and instead develop a framework for instantiating platform
devices or i2c devices or whatever devices from the device tree nodes.

I have to work with what is in the kernel tree so this patch is based
the current kernel. A lot of time and testing has going into all the
revisions of this patch. It has been posted in various forms for the
last month and a half.

As for platform vs of_platform, IMHO of_platform should have been
derived from platform instead of being an unrelated structure. In the
current scheme of unrelated structures it makes more sense to use one
or the other and not mix them. I am in agreement with Olof that if and
when a new scheme is adopted the drivers should be converted then.

In my local builds I have disabled platform and use only of_platform.
An of_platform only system works fine and is capable of instantiating
everything from the device tree as this patch illustrates. Once this
patch goes in I'll post another series that shows how I went
of_platform only on mpc5200.

Everyone seems to be focusing on a small piece of driver
initialization code and ignoring the much more complicated part which
implements dynamic i2c driver loading. It's the complicated part of
the code that needs review.

Ben, I know we talked about not putting the alias names into their own
namespace. But the i2c people don't want to move onto the standard
kernel aliasing scheme for other platforms and asked for #ifdef
powerpc. In version 15 I removed the cross platform support and made
everything powerpc specific. .

--
Jon Smirl
jonsmirl@xxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



Relevant Pages

  • Re: legacy platform drivers and hotplugging
    ... Userspace will not code around your very personal idea of hotplug. ... My patch fixes all these issues, and make platform behave like a nice ... You disabled uevents which breaks udev and HAL setups, ... The basic problem with such legacy drivers is that they ...
    (Linux-Kernel)
  • Re: organizing drivers and tools into the platform builder tree
    ... one of these directories, the platform builder crashes as ... Another interesting point are platform independant drivers, ... public tree or 3rdparty ... which is common for all BSPs are located in this directory. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: organizing drivers and tools into the platform builder tree
    ... will be fixed in the next version of Platform Builder. ... Another interesting point are platform independant drivers, ... public tree or 3rdparty ... which is common for all BSPs are located in this directory. ...
    (microsoft.public.windowsce.platbuilder)
  • Re: organizing drivers and tools into the platform builder tree
    ... Another interesting point are platform independant drivers, ... public tree or 3rdparty ... which is common for all BSPs are located in this directory. ...
    (microsoft.public.windowsce.platbuilder)
  • [PATCH] Call platform_notify_remove later
    ... This patch moves the call to platform_notify_removeto after the call ... It's bogus to notify the ... platform of removal while drivers are still attached to the device and ... possibly still operating since the platform might use this callback to ...
    (Linux-Kernel)