[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200626143914.GE5289@sirena.org.uk>
Date: Fri, 26 Jun 2020 15:39:15 +0100
From: Mark Brown <broonie@...nel.org>
To: Yoshihiro Shimoda <yoshihiro.shimoda.uh@...esas.com>
Cc: ulf.hansson@...aro.org, lgirdwood@...il.com,
geert+renesas@...der.be, magnus.damm@...il.com,
linux-mmc@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org
Subject: Re: [PATCH/RFC v4 2/4] regulator: fixed: add regulator_ops members
for suspend/resume
On Fri, Jun 26, 2020 at 06:32:20PM +0900, Yoshihiro Shimoda wrote:
> +static int reg_is_enabled(struct regulator_dev *rdev)
> +{
> + struct fixed_voltage_data *priv = rdev_get_drvdata(rdev);
> +
> + return !priv->disabled_in_suspend;
> +}
This is broken, the state of the regualtor during system runtime need
have no connection with the state of the regulator during system
suspend.
> +static int reg_prepare_disable(struct regulator_dev *rdev)
> +{
> + struct fixed_voltage_data *priv = rdev_get_drvdata(rdev);
> +
> + priv->disabled_in_suspend = true;
> +
> + return 0;
> +}
According to the changelog this is all about reflecting changes in the
system state done by firmware but there's no interaction with firmware
here which means this will be at best fragile. If we need to reflect
changes in firmware configuration I'd expect there to be some
interaction with firmware about how it is configured, or at least that
the configuration would come from the same source.
Download attachment "signature.asc" of type "application/pgp-signature" (489 bytes)
Powered by blists - more mailing lists