diff options
author | Simon Glass <sjg@chromium.org> | 2020-12-19 10:40:14 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2021-01-05 12:24:41 -0700 |
commit | f10643cf8a4ca006d1ad194e930cd292fd869d17 (patch) | |
tree | 66cd9383fc5dbd8e02f999d1db5562995f441b21 /include | |
parent | 7d14ee443ca674314e0fe5c3e25f48e52a8fd5ee (diff) | |
download | u-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.h | 23 | ||||
-rw-r--r-- | include/dm/read.h | 2 | ||||
-rw-r--r-- | include/linux/mtd/mtd.h | 4 |
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; |