lkml.org 
[lkml]   [2020]   [Nov]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 225/252] regulator: workaround self-referent regulators
    Date
    From: Michał Mirosław <mirq-linux@rere.qmqm.pl>

    commit f5c042b23f7429e5c2ac987b01a31c69059a978b upstream.

    Workaround regulators whose supply name happens to be the same as its
    own name. This fixes boards that used to work before the early supply
    resolving was removed. The error message is left in place so that
    offending drivers can be detected.

    Fixes: aea6cb99703e ("regulator: resolve supply after creating regulator")
    Cc: stable@vger.kernel.org
    Reported-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
    Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
    Tested-by: Ahmad Fatoum <a.fatoum@pengutronix.de> # stpmic1
    Link: https://lore.kernel.org/r/d703acde2a93100c3c7a81059d716c50ad1b1f52.1605226675.git.mirq-linux@rere.qmqm.pl
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/regulator/core.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    --- a/drivers/regulator/core.c
    +++ b/drivers/regulator/core.c
    @@ -1808,7 +1808,10 @@ static int regulator_resolve_supply(stru
    if (r == rdev) {
    dev_err(dev, "Supply for %s (%s) resolved to itself\n",
    rdev->desc->name, rdev->supply_name);
    - return -EINVAL;
    + if (!have_full_constraints())
    + return -EINVAL;
    + r = dummy_regulator_rdev;
    + get_device(&r->dev);
    }

    /*

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