aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-12-19 10:40:14 -0700
committerSimon Glass <sjg@chromium.org>2021-01-05 12:24:41 -0700
commitf10643cf8a4ca006d1ad194e930cd292fd869d17 (patch)
tree66cd9383fc5dbd8e02f999d1db5562995f441b21 /include
parent7d14ee443ca674314e0fe5c3e25f48e52a8fd5ee (diff)
downloadu-boot-f10643cf8a4ca006d1ad194e930cd292fd869d17.zip
u-boot-f10643cf8a4ca006d1ad194e930cd292fd869d17.tar.gz
u-boot-f10643cf8a4ca006d1ad194e930cd292fd869d17.tar.bz2
dm: core: Access device ofnode through functions
At present ofnode is present in the device even if it is never used. With of-platdata this field is not used, so can be removed. In preparation for this, change the access to go through inline functions. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r--include/dm/device.h23
-rw-r--r--include/dm/read.h2
-rw-r--r--include/linux/mtd/mtd.h4
3 files changed, 24 insertions, 5 deletions
diff --git a/include/dm/device.h b/include/dm/device.h
index 4a1224b..1b27420 100644
--- a/include/dm/device.h
+++ b/include/dm/device.h
@@ -200,7 +200,11 @@ static inline void dev_bic_flags(struct udevice *dev, u32 bic)
*/
static inline ofnode dev_ofnode(const struct udevice *dev)
{
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
return dev->node;
+#else
+ return ofnode_null();
+#endif
}
/* Returns non-zero if the device is active (probed and not removed) */
@@ -208,12 +212,27 @@ static inline ofnode dev_ofnode(const struct udevice *dev)
static inline int dev_of_offset(const struct udevice *dev)
{
- return ofnode_to_offset(dev->node);
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
+ return ofnode_to_offset(dev_ofnode(dev));
+#else
+ return -1;
+#endif
}
static inline bool dev_has_ofnode(const struct udevice *dev)
{
- return ofnode_valid(dev->node);
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
+ return ofnode_valid(dev_ofnode(dev));
+#else
+ return false;
+#endif
+}
+
+static inline void dev_set_ofnode(struct udevice *dev, ofnode node)
+{
+#if !CONFIG_IS_ENABLED(OF_PLATDATA)
+ dev->node = node;
+#endif
}
static inline int dev_seq(const struct udevice *dev)
diff --git a/include/dm/read.h b/include/dm/read.h
index d5cdd87..fc987f7 100644
--- a/include/dm/read.h
+++ b/include/dm/read.h
@@ -21,7 +21,7 @@ struct resource;
#if CONFIG_IS_ENABLED(OF_LIVE)
static inline const struct device_node *dev_np(const struct udevice *dev)
{
- return ofnode_to_np(dev->node);
+ return ofnode_to_np(dev_ofnode(dev));
}
#else
static inline const struct device_node *dev_np(const struct udevice *dev)
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index 54d03d0..9278549 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -334,12 +334,12 @@ struct mtd_info {
#if IS_ENABLED(CONFIG_DM)
static inline void mtd_set_ofnode(struct mtd_info *mtd, ofnode node)
{
- mtd->dev->node = node;
+ dev_set_ofnode(mtd->dev, node);
}
static inline const ofnode mtd_get_ofnode(struct mtd_info *mtd)
{
- return mtd->dev->node;
+ return dev_ofnode(mtd->dev);
}
#else
struct device_node;