lkml.org 
[lkml]   [2019]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 4.14 24/58] mfd: mfd-core: Honour Device Tree's request to disable a child-device
    Date
    From: Lee Jones <lee.jones@linaro.org>

    [ Upstream commit 6b5c350648b857047b47acf74a57087ad27d6183 ]

    Until now, MFD has assumed all child devices passed to it (via
    mfd_cells) are to be registered. It does not take into account
    requests from Device Tree and the like to disable child devices
    on a per-platform basis.

    Well now it does.

    Link: https://www.spinics.net/lists/arm-kernel/msg366309.html
    Link: https://lkml.org/lkml/2019/8/22/1350

    Reported-by: Barry Song <Baohua.Song@csr.com>
    Reported-by: Stephan Gerhold <stephan@gerhold.net>
    Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
    Reviewed-by: Mark Brown <broonie@kernel.org>
    Tested-by: Stephan Gerhold <stephan@gerhold.net>
    Signed-off-by: Lee Jones <lee.jones@linaro.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/mfd/mfd-core.c | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/drivers/mfd/mfd-core.c b/drivers/mfd/mfd-core.c
    index 5c8ed2150c8bf..fae7bfe7a21a1 100644
    --- a/drivers/mfd/mfd-core.c
    +++ b/drivers/mfd/mfd-core.c
    @@ -178,6 +178,11 @@ static int mfd_add_device(struct device *parent, int id,
    if (parent->of_node && cell->of_compatible) {
    for_each_child_of_node(parent->of_node, np) {
    if (of_device_is_compatible(np, cell->of_compatible)) {
    + if (!of_device_is_available(np)) {
    + /* Ignore disabled devices error free */
    + ret = 0;
    + goto fail_alias;
    + }
    pdev->dev.of_node = np;
    pdev->dev.fwnode = &np->fwnode;
    break;
    --
    2.20.1
    \
     
     \ /
      Last update: 2019-12-11 16:32    [W:4.040 / U:0.272 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site