dm: core: add dev_read_addr_ptr()
The dev_read_addr_ptr() mimics the behaviour of the devfdt_get_addr_ptr(), retrieving the first address of the node's reg-property and returning it as a pointer (or NULL on failure). Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
		
							parent
							
								
									af82315164
								
							
						
					
					
						commit
						c131c8bca8
					
				|  | @ -57,6 +57,13 @@ fdt_addr_t dev_read_addr(struct udevice *dev) | ||||||
| 	return dev_read_addr_index(dev, 0); | 	return dev_read_addr_index(dev, 0); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void *dev_read_addr_ptr(struct udevice *dev) | ||||||
|  | { | ||||||
|  | 	fdt_addr_t addr = dev_read_addr(dev); | ||||||
|  | 
 | ||||||
|  | 	return (addr == FDT_ADDR_T_NONE) ? NULL : (void *)addr; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property, | fdt_addr_t dev_read_addr_size(struct udevice *dev, const char *property, | ||||||
| 				fdt_size_t *sizep) | 				fdt_size_t *sizep) | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -112,6 +112,16 @@ fdt_addr_t dev_read_addr_index(struct udevice *dev, int index); | ||||||
|  */ |  */ | ||||||
| fdt_addr_t dev_read_addr(struct udevice *dev); | fdt_addr_t dev_read_addr(struct udevice *dev); | ||||||
| 
 | 
 | ||||||
|  | /**
 | ||||||
|  |  * dev_read_addr_ptr() - Get the reg property of a device | ||||||
|  |  *                       as a pointer | ||||||
|  |  * | ||||||
|  |  * @dev: Device to read from | ||||||
|  |  * | ||||||
|  |  * @return pointer or NULL if not found | ||||||
|  |  */ | ||||||
|  | void *dev_read_addr_ptr(struct udevice *dev); | ||||||
|  | 
 | ||||||
| /**
 | /**
 | ||||||
|  * dev_read_addr_size() - get address and size from a device property |  * dev_read_addr_size() - get address and size from a device property | ||||||
|  * |  * | ||||||
|  | @ -417,6 +427,11 @@ static inline fdt_addr_t dev_read_addr(struct udevice *dev) | ||||||
| 	return devfdt_get_addr(dev); | 	return devfdt_get_addr(dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | static inline void *dev_read_addr_ptr(struct udevice *dev) | ||||||
|  | { | ||||||
|  | 	return devfdt_get_addr_ptr(dev); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| static inline fdt_addr_t dev_read_addr_size(struct udevice *dev, | static inline fdt_addr_t dev_read_addr_size(struct udevice *dev, | ||||||
| 					    const char *propname, | 					    const char *propname, | ||||||
| 					    fdt_size_t *sizep) | 					    fdt_size_t *sizep) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue