summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/devtree.h
diff options
context:
space:
mode:
authorMichael Brown2025-08-05 14:55:23 +0200
committerMichael Brown2025-08-05 15:39:56 +0200
commit2e4e1f7e9e474f6555009238304780448d3ea238 (patch)
tree46b9b88bc02456729ba9c67f4372c577b320bda2 /src/include/ipxe/devtree.h
parent[gpio] Add a framework for GPIO controllers (diff)
downloadipxe-2e4e1f7e9e474f6555009238304780448d3ea238.tar.gz
ipxe-2e4e1f7e9e474f6555009238304780448d3ea238.tar.xz
ipxe-2e4e1f7e9e474f6555009238304780448d3ea238.zip
[dwgpio] Add driver for the DesignWare GPIO controller
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/devtree.h')
-rw-r--r--src/include/ipxe/devtree.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/include/ipxe/devtree.h b/src/include/ipxe/devtree.h
index cdf173938..2bf473a3b 100644
--- a/src/include/ipxe/devtree.h
+++ b/src/include/ipxe/devtree.h
@@ -77,9 +77,21 @@ static inline void * dt_get_drvdata ( struct dt_device *dt ) {
return dt->priv;
}
+/**
+ * Get devicetree parent device
+ *
+ * @v dt Devicetree device
+ * @ret parent Parent devicetree device
+ */
+static inline struct dt_device * dt_parent ( struct dt_device *dt ) {
+ return container_of ( dt->dev.parent, struct dt_device, dev );
+}
+
extern void * dt_ioremap ( struct dt_device *dt, unsigned int offset,
unsigned int index, size_t len );
extern int dt_probe_node ( struct device *parent, unsigned int offset );
extern void dt_remove_node ( struct device *parent );
+extern int dt_probe_children ( struct dt_device *parent, unsigned int offset );
+extern void dt_remove_children ( struct dt_device *parent );
#endif /* _IPXE_DEVTREE_H */