Re: [PATCH] driver:core: NO need to determine whether the driver is asynchronous

From: Greg KH
Date: Wed Jul 31 2024 - 08:50:32 EST


On Sat, Jul 13, 2024 at 10:05:07PM -0700, 李哲 wrote:
> When rescanning the device, there is no need to determine
> whether the driver is asynchronous.
>
> Signed-off-by: 李哲 <sensor1010@xxxxxxx>
> ---
> drivers/base/dd.c | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/base/dd.c b/drivers/base/dd.c
> index 47351d98f6e1..41fd4b1b4779 100644
> --- a/drivers/base/dd.c
> +++ b/drivers/base/dd.c
> @@ -915,7 +915,7 @@ static int __device_attach_driver(struct device_driver *drv, void *_data)
> {
> struct device_attach_data *data = _data;
> struct device *dev = data->dev;
> - bool async_allowed;
> + bool async_allowed = false;
> int ret;
>
> ret = driver_match_device(drv, dev);
> @@ -936,12 +936,14 @@ static int __device_attach_driver(struct device_driver *drv, void *_data)
> return ret;
> } /* ret > 0 means positive match */
>
> - async_allowed = driver_allows_async_probing(drv);
> + if (data->check_async) {
> + async_allowed = driver_allows_async_probing(drv);
>
> - if (async_allowed)
> - data->have_async = true;
> + if (async_allowed)
> + data->have_async = true;
> + }
>
> - if (data->check_async && async_allowed != data->want_async)
> + if (async_allowed != data->want_async)
> return 0;
>

I'm sorry, but I don't see what this is making simpler or cleaner. It's
increasing the lines of code, and just moving things around?

What issue is this fixing? What logic is changing? Why is this needed?

thanks,

greg k-h