On 01/12/2020 22:08, Dan Scally wrote: >>> + >>> + for_each_acpi_dev_match(adev, this_device, NULL, -1) { >>> + if (!adev || !(adev->status.present && adev->status.enabled)) >> if (!adev || !adev->status.present || !adev->status.enabled)) >> >> may be a bit more readable. Does for_each_acpi_dev_match() return NULL >> devices though ? If no, you could drop the !adev check. You may also be >> able to drop the !present check, as I don't think ACPI allows !present >> && enabled. > You're right, the spec mandates enabled be 0 if present is 0. The > iterator will return NULL when the previous return value was the last > matching device, so that part needs to stay, but it can become: > > if (!adev || !adev->status.enabled) > Wait, that's silly, the loop won't start if the check is null so you're right of course.