Skip to content

Commit

Permalink
ACPI: glue: Rearrange find_child_checks()
Browse files Browse the repository at this point in the history
Notice that it is not necessary to evaluate _STA in find_child_checks()
if the device is expected to have children, but there are none, so
move the children check to the front of the function.

Also notice that FIND_CHILD_MIN_SCORE can be returned right away if
_STA is missing, so make the function do so.

Finally, replace the ternary operator in the return statement argument
with an if () and a standalone return which is somewhat easier to
follow.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Rafael J. Wysocki committed May 12, 2022
1 parent c5eb0a6 commit b7fbf4c
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions drivers/acpi/glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,17 +79,17 @@ static struct acpi_bus_type *acpi_get_bus_type(struct device *dev)

static int find_child_checks(struct acpi_device *adev, bool check_children)
{
bool sta_present = true;
unsigned long long sta;
acpi_status status;

if (check_children && list_empty(&adev->children))
return -ENODEV;

status = acpi_evaluate_integer(adev->handle, "_STA", NULL, &sta);
if (status == AE_NOT_FOUND)
sta_present = false;
else if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_ENABLED))
return -ENODEV;
return FIND_CHILD_MIN_SCORE;

if (check_children && list_empty(&adev->children))
if (ACPI_FAILURE(status) || !(sta & ACPI_STA_DEVICE_ENABLED))
return -ENODEV;

/*
Expand All @@ -99,8 +99,10 @@ static int find_child_checks(struct acpi_device *adev, bool check_children)
* matched going forward. [This means a second spec violation in a row,
* so whatever we do here is best effort anyway.]
*/
return sta_present && !adev->pnp.type.platform_id ?
FIND_CHILD_MAX_SCORE : FIND_CHILD_MIN_SCORE;
if (adev->pnp.type.platform_id)
return FIND_CHILD_MIN_SCORE;

return FIND_CHILD_MAX_SCORE;
}

struct acpi_device *acpi_find_child_device(struct acpi_device *parent,
Expand Down

0 comments on commit b7fbf4c

Please sign in to comment.