[PATCH 2/7] ACPI / property: have acpi_get_next_subnode take fwnode_handle

From: Furquan Shaikh
Date: Tue Jan 24 2017 - 19:08:35 EST


From: Dmitry Torokhov <dtor@xxxxxxxxxxxx>

In preparation to introducing fwnode_for_each_chil() iterator we need
acpi_get_next_subnode take fwnode_handle argument instead of dev.

Signed-off-by: Dmitry Torokhov <dtor@xxxxxxxxxxxx>
Signed-off-by: Furquan Shaikh <furquan@xxxxxxxxxxxx>
---
drivers/acpi/property.c | 8 +++++---
drivers/base/property.c | 2 +-
include/linux/acpi.h | 5 +++--
3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/drivers/acpi/property.c b/drivers/acpi/property.c
index 3afddcd834ef..b87e822e3a51 100644
--- a/drivers/acpi/property.c
+++ b/drivers/acpi/property.c
@@ -866,15 +866,17 @@ int acpi_node_prop_read(struct fwnode_handle *fwnode, const char *propname,

/**
* acpi_get_next_subnode - Return the next child node handle for a device.
- * @dev: Device to find the next child node for.
+ * @node: node to find the next child node for. Must be ACPI device node,
+ * not data node.
* @child: Handle to one of the device's child nodes or a null handle.
*/
-struct fwnode_handle *acpi_get_next_subnode(struct device *dev,
+struct fwnode_handle *acpi_get_next_subnode(struct fwnode_handle *node,
struct fwnode_handle *child)
{
- struct acpi_device *adev = ACPI_COMPANION(dev);
+ struct acpi_device *adev;
struct list_head *head, *next;

+ adev = to_acpi_device_node(node);
if (!adev)
return NULL;

diff --git a/drivers/base/property.c b/drivers/base/property.c
index 43a36d68c3fd..f2f8220534c4 100644
--- a/drivers/base/property.c
+++ b/drivers/base/property.c
@@ -881,7 +881,7 @@ struct fwnode_handle *device_get_next_child_node(struct device *dev,
if (node)
return &node->fwnode;
} else if (IS_ENABLED(CONFIG_ACPI)) {
- return acpi_get_next_subnode(dev, child);
+ return acpi_get_next_subnode(dev->fwnode, child);
}
return NULL;
}
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index 5b36974ed60a..0331a9dbe4f2 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -999,7 +999,7 @@ int acpi_node_prop_read(struct fwnode_handle *fwnode, const char *propname,
int acpi_dev_prop_read(struct acpi_device *adev, const char *propname,
enum dev_prop_type proptype, void *val, size_t nval);

-struct fwnode_handle *acpi_get_next_subnode(struct device *dev,
+struct fwnode_handle *acpi_get_next_subnode(struct fwnode_handle *node,
struct fwnode_handle *subnode);

struct acpi_probe_entry;
@@ -1117,7 +1117,8 @@ static inline int acpi_dev_prop_read(struct acpi_device *adev,
return -ENXIO;
}

-static inline struct fwnode_handle *acpi_get_next_subnode(struct device *dev,
+static inline struct fwnode_handle *acpi_get_next_subnode(
+ struct fwnode_handle *node,
struct fwnode_handle *subnode)
{
return NULL;
--
2.11.0.483.g087da7b7c-goog