Messages in this thread | | | Date | Mon, 26 Nov 2012 10:02:05 +0900 | From | Simon Horman <> | Subject | Re: [PATCH 11/42] ARM: shmobile: Register PFC platform device |
| |
On Wed, Nov 21, 2012 at 01:43:15PM +0100, Laurent Pinchart wrote: > Hi Simon, > > 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@verge.net.au>
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.
| |