[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ztk04Pfa3tXyrDJq@google.com>
Date: Thu, 5 Sep 2024 04:34:40 +0000
From: Tzung-Bi Shih <tzungbi@...nel.org>
To: Chen-Yu Tsai <wenst@...omium.org>
Cc: Rob Herring <robh@...nel.org>, Saravana Kannan <saravanak@...gle.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno <angelogioacchino.delregno@...labora.com>,
Wolfram Sang <wsa@...nel.org>, Benson Leung <bleung@...omium.org>,
Mark Brown <broonie@...nel.org>,
Liam Girdwood <lgirdwood@...il.com>,
chrome-platform@...ts.linux.dev, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-mediatek@...ts.infradead.org, linux-kernel@...r.kernel.org,
Douglas Anderson <dianders@...omium.org>,
Johan Hovold <johan@...nel.org>, Jiri Kosina <jikos@...nel.org>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
linux-i2c@...r.kernel.org
Subject: Re: [PATCH v6 11/12] platform/chrome: Introduce device tree hardware
prober
On Thu, Sep 05, 2024 at 11:52:32AM +0800, Chen-Yu Tsai wrote:
> On Wed, Sep 4, 2024 at 6:08 PM Tzung-Bi Shih <tzungbi@...nel.org> wrote:
> >
> > On Wed, Sep 04, 2024 at 05:00:13PM +0800, Chen-Yu Tsai wrote:
> > > diff --git a/drivers/platform/chrome/chromeos_of_hw_prober.c b/drivers/platform/chrome/chromeos_of_hw_prober.c
> > [...]
> > > +static int chromeos_of_hw_prober_probe(struct platform_device *pdev)
> > > +{
> > > + for (size_t i = 0; i < ARRAY_SIZE(hw_prober_platforms); i++) {
> > > + int ret;
> > > +
> > > + if (!of_machine_is_compatible(hw_prober_platforms[i].compatible))
> > > + continue;
> > > +
> > > + ret = hw_prober_platforms[i].prober(&pdev->dev, hw_prober_platforms[i].data);
> > > + /* Ignore unrecoverable errors and keep going through other probers */
> > > + if (ret == -EPROBE_DEFER)
> > > + return ret;
> >
> > Is it harmless if some of the components get probed multiple times? E.g.:
> > comp1 probed -> comp2 probed -> comp3 returned -EPROBE_DEFER -> some time
> > later, chromeos_of_hw_prober_probe() gets called again.
>
> Yes it is harmless. Components already enabled will not get disabled
> in the error path. And the prober that enabled that component will see
> that a component was enabled, and skip doing the whole process again.
>
> So something like:
>
> comp1 probed -> comp2 probed -> comp3 -EPROBE_DEFER ->
> comp1 skip -> comp2 skip -> comp3 probed
I assume this patch will be applied through the i2c tree:
Acked-by: Tzung-Bi Shih <tzungbi@...nel.org>
Powered by blists - more mailing lists