Message ID | 4374434.LvFx2qVVIh@kreacher |
---|---|
State | New |
Headers | show |
Series | i2c: ACPI: Replace acpi_bus_get_device() | expand |
On Tue, Feb 01, 2022 at 08:01:46PM +0100, Rafael J. Wysocki wrote: > On Tue, Feb 1, 2022 at 7:44 PM Andy Shevchenko > <andriy.shevchenko@linux.intel.com> wrote: > > > > On Tue, Feb 01, 2022 at 07:00:42PM +0100, Rafael J. Wysocki wrote: > > > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > > > > > 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(). I see now. The patch LGTM, Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > > 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.
On Tue, Feb 01, 2022 at 07:00:42PM +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Replace acpi_bus_get_device() that is going to be dropped with > acpi_fetch_acpi_dev(). > > No intentional functional impact. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
On Tue, Feb 01, 2022 at 07:00:42PM +0100, Rafael J. Wysocki wrote: > From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> > > Replace acpi_bus_get_device() that is going to be dropped with > acpi_fetch_acpi_dev(). > > No intentional functional impact. > > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Applied to for-next, thanks! Let me know if you need it in for-current instead to get rid of the to-be-deprecated function earlier.
Index: linux-pm/drivers/i2c/i2c-core-acpi.c =================================================================== --- linux-pm.orig/drivers/i2c/i2c-core-acpi.c +++ linux-pm/drivers/i2c/i2c-core-acpi.c @@ -236,7 +236,8 @@ static int i2c_acpi_get_info(struct acpi struct acpi_device *adapter_adev; /* The adapter must be present */ - if (acpi_bus_get_device(lookup.adapter_handle, &adapter_adev)) + adapter_adev = acpi_fetch_acpi_dev(lookup.adapter_handle); + if (!adapter_adev) return -ENODEV; if (acpi_bus_get_status(adapter_adev) || !adapter_adev->status.present) @@ -275,13 +276,10 @@ static acpi_status i2c_acpi_add_device(a void *data, void **return_value) { struct i2c_adapter *adapter = data; - struct acpi_device *adev; + struct acpi_device *adev = acpi_fetch_acpi_dev(handle); struct i2c_board_info info; - if (acpi_bus_get_device(handle, &adev)) - return AE_OK; - - if (i2c_acpi_get_info(adev, &info, adapter, NULL)) + if (!adev || i2c_acpi_get_info(adev, &info, adapter, NULL)) return AE_OK; i2c_acpi_register_device(adapter, adev, &info); @@ -341,12 +339,9 @@ static acpi_status i2c_acpi_lookup_speed void *data, void **return_value) { struct i2c_acpi_lookup *lookup = data; - struct acpi_device *adev; - - if (acpi_bus_get_device(handle, &adev)) - 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; if (lookup->search_handle != lookup->adapter_handle)