Re: [PATCH 11/42] ARM: shmobile: Register PFC platform device

From: Simon Horman
Date: Tue Nov 27 2012 - 19:58:44 EST


On Tue, Nov 27, 2012 at 12:19:20PM +0100, Laurent Pinchart wrote:
> Hi Simon,
>
> On Tuesday 27 November 2012 11:26:28 Simon Horman wrote:
> > On Mon, Nov 26, 2012 at 11:34:36AM +0100, Laurent Pinchart wrote:
> > > On Monday 26 November 2012 10:02:05 Simon Horman wrote:
> > > > On Wed, Nov 21, 2012 at 01:43:15PM +0100, Laurent Pinchart wrote:
> > > > > On Wednesday 21 November 2012 14:16:33 Simon Horman wrote:
> > > > > > On Wed, Nov 21, 2012 at 03:27:12AM +0100, Laurent Pinchart wrote:
> > > > > > > Add arch code to register the PFC platform device instead of
> > > > > > > calling the driver directly. Platform device registration in the
> > > > > > > sh-pfc driver will be removed.
> > > > > >
> > > > > > I'm not really sure that I understand the motivation for
> > > > > > moving platform device registration from the driver into
> > > > > > mach-shmobile. Could you explain this a little?
> > > > >
> > > > > Sure.
> > > > >
> > > > > The traditional device model associates a driver with a device. For
> > > > > historical reasons mach-shmobile doesn't define and register a
> > > > > platform device for PFC hardware but calls an initialization function
> > > > > directly in the PFC driver, passing it what is essentially platform
> > > > > data, including resources.
> > > > >
> > > > > The PFC driver needs a struct device to pass to the pinctrl subsystem.
> > > > > As no struct device corresponding to the hardware is created by
> > > > > mach-shmobile, the driver creates one, registers it and registers
> > > > > itself as a platform driver. The probe function is thus called
> > > > > synchronously, with a valid struct platform_device.
> > > > >
> > > > > This is a hack that can't support device tree based instantiation, as
> > > > > the platform device will be created when the platform is populated
> > > > > from the DT in that case. To support DT (and to remove the hack), I've
> > > > > moved platform device registration to mach-shmobile as it should be,
> > > > > like already done for all (or most, I haven't checked if there's no
> > > > > similar hacks in other drivers) the platform devices. This allows
> > > > > converting a board to DT by just adding the PFC device node in the DT
> > > > > and removing the platform device registration call in board code.
> > > > >
> > > > > I hope this made the intend of this part of the patch series clear. If
> > > > > not, just tell me and I'll try to provide more explanations.
> > > >
> > > > Thanks Laurent,
> > > >
> > > > as it happens I was doing some work on pinmux and DT in as part of
> > > > my kzm9g series, so what you describe above now makes a lot of sense to
> > > > me.
> > > >
> > > > For this and all the other shmobile patches in this series:
> > > >
> > > > Acked-by: Simon Horman <horms@xxxxxxxxxxxx>
> > >
> > > Thank you. I'll post a v2 of the patch set with board patches split
> > > per-SoC as requested by Magnus to make backporting easier. As the
> > > shmobile will significantly change, could you send me your ack on v2 ?
> > >
> > > > BTW, my kzm9g work is not intended to conflict with your work in any way
> > > > and I apologise if it does. I was just trying to make something quickly
> > > > to allow kzm9g DT work to move a little further forward. I very much
> > > > welcome your work in this area and naturally the kzm9g will use it once
> > > > it is ready.
> > >
> > > No worries. I'll handle the conflict. Do you plan to push it for v3.8 or
> > > v3.9 ?
> >
> > Its too late for 3.8, so I was thinking about 3.9.
> >
> > I have rebased things on your v2 series and things seem to be working.
>
> Great :-)
>
> > So I'm now dependent on your pinmux work.
>
> OK, let's push the patches for v3.9 then. I'll wait for feedback on v2 and
> will submit a v3 with OF support for pinmuxing before the end of the week.

Great thanks.

I also plan to send a revised series by the end of the week.
--
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/