[PATCH v3 05/18] mux: add mux_chip_resume() function
Andy Shevchenko
andy at kernel.org
Thu Feb 15 07:29:55 PST 2024
On Thu, Feb 15, 2024 at 04:17:50PM +0100, Thomas Richard wrote:
> The mux_chip_resume() function restores a mux_chip using the cached state
> of each mux.
...
> +int mux_chip_resume(struct mux_chip *mux_chip)
> +{
> + int global_ret = 0;
> + int ret, i;
> +
> + for (i = 0; i < mux_chip->controllers; ++i) {
> + struct mux_control *mux = &mux_chip->mux[i];
> +
> + if (mux->cached_state == MUX_CACHE_UNKNOWN)
> + continue;
> +
> + ret = mux_control_set(mux, mux->cached_state);
> + if (ret < 0) {
> + dev_err(&mux_chip->dev, "unable to restore state\n");
> + if (!global_ret)
> + global_ret = ret;
Hmm... This will record the first error and continue.
> + }
> + }
> + return global_ret;
So here, we actually will get stale data in case there are > 1 failures.
> +}
--
With Best Regards,
Andy Shevchenko
More information about the linux-phy
mailing list