Re: [PATCH v2 1/1] platform/x86: asus-wireless: Replace open coded acpi_match_device()

From: Hans de Goede
Date: Fri Oct 06 2023 - 11:32:59 EST


Hi,

On 10/6/23 17:27, Andy Shevchenko wrote:
> Replace open coded acpi_match_device() in asus_wireless_add().
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> ---
> v2: fixed compilation error
> drivers/platform/x86/asus-wireless.c | 10 +++-------
> 1 file changed, 3 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/platform/x86/asus-wireless.c b/drivers/platform/x86/asus-wireless.c
> index abf01e00b799..8b9a0dde34e3 100644
> --- a/drivers/platform/x86/asus-wireless.c
> +++ b/drivers/platform/x86/asus-wireless.c
> @@ -148,13 +148,9 @@ static int asus_wireless_add(struct acpi_device *adev)
> if (err)
> return err;
>
> - for (id = device_ids; id->id[0]; id++) {
> - if (!strcmp((char *) id->id, acpi_device_hid(adev))) {
> - data->hswc_params =
> - (const struct hswc_params *)id->driver_data;
> - break;
> - }
> - }
> + id = acpi_match_device(device_ids, adev);
> + if (id)
> + data->hswc_params = (const struct hswc_params *)id->driver_data;
> if (!data->hswc_params)
> return 0;

Thanks, but the error checking looks a bit weird now. How about:

id = acpi_match_device(device_ids, adev);
if (!id)
return 0;

data->hswc_params = (const struct hswc_params *)id->driver_data;

That seems to better convey what the code's intention is.

Regards,

Hans

p.s.

This driver really should be converted to not be an acpi_driver
instead it should bind to the instantiated platform_device
for the adev, but that would require someone with actual
hw access to test the conversion ...