Hi Rafael On 08/03/2021 17:46, Rafael J. Wysocki wrote: >> +void acpi_walk_dep_device_list(acpi_handle handle, >> + int (*callback)(struct acpi_dep_data *, void *), >> + void *data) >> +{ >> + struct acpi_dep_data *dep, *tmp; >> + int ret; >> + >> mutex_lock(&acpi_dep_list_lock); >> list_for_each_entry_safe(dep, tmp, &acpi_dep_list, node) { >> if (dep->supplier == handle) { >> - acpi_bus_get_device(dep->consumer, &adev); >> - if (!adev) >> - continue; >> - >> - adev->dep_unmet--; >> - if (!adev->dep_unmet) >> - acpi_bus_attach(adev, true); > The above code in the mainline has changed recently, so you need to > rebase the above and adjust for the change of behavior. Yeah, I'll rebase onto 5.12-rc2 before next submission. > >> - >> - list_del(&dep->node); >> - kfree(dep); >> + ret = callback(dep, data); >> + if (ret) >> + break; >> } >> } >> mutex_unlock(&acpi_dep_list_lock); >> } >> EXPORT_SYMBOL_GPL(acpi_walk_dep_device_list); >> >> +/** >> + * acpi_dev_flag_dependency_met() - Inform consumers of @handle that the device >> + * is now active > No parens here, please, and make it fit one line. > > Also the description should be something like "Clear dependencies on > the given device." OK - no problem