lkml.org 
[lkml]   [2012]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH 11/42] ARM: shmobile: Register PFC platform device
    Date
    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.

    --
    Regards,

    Laurent Pinchart



    \
     
     \ /
      Last update: 2012-11-21 14:21    [W:2.369 / U:0.124 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site