Re: [PATCH v6 11/12] platform/chrome: Introduce device tree hardware prober

From: Tzung-Bi Shih
Date: Wed Sep 04 2024 - 06:08:56 EST


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.