Re: [PATCH] i2c: ACPI: Replace acpi_bus_get_device()

From: Rafael J. Wysocki
Date: Tue Feb 01 2022 - 14:02:01 EST


On Tue, Feb 1, 2022 at 7:44 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, Feb 01, 2022 at 07:00:42PM +0100, Rafael J. Wysocki wrote:
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> >
> > Replace acpi_bus_get_device() that is going to be dropped with
> > acpi_fetch_acpi_dev().
> >
> > No intentional functional impact.
>
> ...
>
> > + if (!adev || i2c_acpi_get_info(adev, &info, adapter, NULL))
>
> AFAICS the !adev check is redundant since acpi_device_enumerated() does it.

No.

acpi_device_enumerated() returns false if adev is NULL, so without
this extra check i2c_acpi_get_info() will end up passing NULL to
i2c_acpi_do_lookup().

> > return AE_OK;
>
> ...
>
> > + struct acpi_device *adev = acpi_fetch_acpi_dev(handle);
> >
> > - if (i2c_acpi_do_lookup(adev, lookup))
> > + if (!adev || i2c_acpi_do_lookup(adev, lookup))
> > return AE_OK;
>
> Here we need it indeed.
> Dunno, if acpi_dev_ready_for_enumeration() can gain the check itself.

Well, acpi_bus_get_status() would need it too.