Skip to content

Commit

Permalink
ACPI: Prepare for constifying acpi_get_next_subnode() fwnode argument
Browse files Browse the repository at this point in the history
Make local variables const (head) or add new variables; adev was used for
two purposes: to refer the root device node and its children. The two
purposes are separated by this patch.

This is preparation for making fwnode arguments const for fwnode ops.
Don't constify the argument itself quite yet as this is used as a callback
function.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Sakari Ailus authored and Rafael J. Wysocki committed Jul 21, 2017
1 parent db3e50f commit 01c1da2
Showing 1 changed file with 13 additions and 10 deletions.
23 changes: 13 additions & 10 deletions drivers/acpi/property.c
Original file line number Diff line number Diff line change
Expand Up @@ -899,8 +899,10 @@ int acpi_node_prop_read(struct fwnode_handle *fwnode, const char *propname,
struct fwnode_handle *acpi_get_next_subnode(struct fwnode_handle *fwnode,
struct fwnode_handle *child)
{
struct acpi_device *adev = to_acpi_device_node(fwnode);
struct list_head *head, *next;
const struct acpi_device *adev = to_acpi_device_node(fwnode);
struct acpi_device *child_adev = NULL;
const struct list_head *head;
struct list_head *next;

if (!child || is_acpi_device_node(child)) {
if (adev)
Expand All @@ -912,26 +914,27 @@ struct fwnode_handle *acpi_get_next_subnode(struct fwnode_handle *fwnode,
goto nondev;

if (child) {
adev = to_acpi_device_node(child);
next = adev->node.next;
child_adev = to_acpi_device_node(child);
next = child_adev->node.next;
if (next == head) {
child = NULL;
goto nondev;
}
adev = list_entry(next, struct acpi_device, node);
child_adev = list_entry(next, struct acpi_device, node);
} else {
adev = list_first_entry(head, struct acpi_device, node);
child_adev = list_first_entry(head, struct acpi_device,
node);
}
return acpi_fwnode_handle(adev);
return acpi_fwnode_handle(child_adev);
}

nondev:
if (!child || is_acpi_data_node(child)) {
struct acpi_data_node *data = to_acpi_data_node(fwnode);
const struct acpi_data_node *data = to_acpi_data_node(fwnode);
struct acpi_data_node *dn;

if (adev)
head = &adev->data.subnodes;
if (child_adev)
head = &child_adev->data.subnodes;
else if (data)
head = &data->data.subnodes;
else
Expand Down

0 comments on commit 01c1da2

Please sign in to comment.