lkml.org 
[lkml]   [2015]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/2] mfd: core: fix platform-device name collisions
    Date
    Since commit 6e3f62f0793e ("mfd: core: Fix platform-device id
    generation") we honour PLATFORM_DEVID_AUTO and PLATFORM_DEVID_NONE when
    registering mfd-devices.

    Unfortunately, some mfd-drivers rely on the old behaviour of generating
    platform-device ids by adding the cell id also to the special value of
    PLATFORM_DEVID_NONE. The resulting platform ids are not only used to
    generate device-unique names, but are also used instead of the cell id
    to identify cells when probing subdevices.

    These drivers should be updated to use PLATFORM_DEVID_AUTO, which would
    also allow more than one device to be registered without resorting to
    hacks (see for example wm831x), but lets fix the regression first by
    partially reverting the above mentioned commit with respect to
    PLATFORM_DEVID_NONE.

    Fixes: 6e3f62f0793e ("mfd: core: Fix platform-device id generation")
    Cc: stable <stable@vger.kernel.org> # v3.19
    Reported-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    ---
    drivers/mfd/mfd-core.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
    index 2a87f69be53d..1aed3b7b8d9b 100644
    --- a/drivers/mfd/mfd-core.c
    +++ b/drivers/mfd/mfd-core.c
    @@ -128,7 +128,7 @@ static int mfd_add_device(struct device *parent, int id,
    int platform_id;
    int r;

    - if (id < 0)
    + if (id == PLATFORM_DEVID_AUTO)
    platform_id = id;
    else
    platform_id = id + cell->id;
    --
    2.0.5


    \
     
     \ /
      Last update: 2015-03-25 12:21    [W:3.197 / U:0.996 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site