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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux