Re: [PATCH v1 2/2] spi: Use device_find_first_child() instead of custom approach

From: Greg Kroah-Hartman
Date: Wed Jun 08 2022 - 07:36:35 EST


On Tue, Jun 07, 2022 at 11:20:58PM +0300, Andy Shevchenko wrote:
> We have already a helper to get the first child device, use it and
> drop custom approach.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> drivers/spi/spi.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c
> index ea09d1b42bf6..87dc8773108b 100644
> --- a/drivers/spi/spi.c
> +++ b/drivers/spi/spi.c
> @@ -2613,11 +2613,6 @@ int spi_slave_abort(struct spi_device *spi)
> }
> EXPORT_SYMBOL_GPL(spi_slave_abort);
>
> -static int match_true(struct device *dev, void *data)
> -{
> - return 1;
> -}
> -
> static ssize_t slave_show(struct device *dev, struct device_attribute *attr,
> char *buf)
> {
> @@ -2625,7 +2620,7 @@ static ssize_t slave_show(struct device *dev, struct device_attribute *attr,
> dev);
> struct device *child;
>
> - child = device_find_child(&ctlr->dev, NULL, match_true);
> + child = device_find_first_child(&ctlr->dev);
> return sprintf(buf, "%s\n",
> child ? to_spi_device(child)->modalias : NULL);
> }

Horrible naming convention asside, what is this really showing? I do
not see this documented in Documentation/ABI/ anywhere, so can it just
be dropped entirely?

Ah, it's in Documentation/spi/spi-summary.rst not where it belongs...

Looks like "any" of the child devices could match here, so it's just
finding the first one by default. So you aren't explicitly asking for
the real first device, you could return the last one as well, and it
would still work as there is just "one" device in this list from what I
can tell.

So is does this really deserve a new driver core api call?

thanks,

greg k-h