at v3.16 39 lines 1.1 kB view raw
1#ifndef __OF_RESERVED_MEM_H 2#define __OF_RESERVED_MEM_H 3 4struct device; 5struct of_phandle_args; 6struct reserved_mem_ops; 7 8struct reserved_mem { 9 const char *name; 10 unsigned long fdt_node; 11 const struct reserved_mem_ops *ops; 12 phys_addr_t base; 13 phys_addr_t size; 14 void *priv; 15}; 16 17struct reserved_mem_ops { 18 void (*device_init)(struct reserved_mem *rmem, 19 struct device *dev); 20 void (*device_release)(struct reserved_mem *rmem, 21 struct device *dev); 22}; 23 24typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem); 25 26#define RESERVEDMEM_OF_DECLARE(name, compat, init) \ 27 _OF_DECLARE(reservedmem, name, compat, init, reservedmem_of_init_fn) 28 29#ifdef CONFIG_OF_RESERVED_MEM 30void fdt_init_reserved_mem(void); 31void fdt_reserved_mem_save_node(unsigned long node, const char *uname, 32 phys_addr_t base, phys_addr_t size); 33#else 34static inline void fdt_init_reserved_mem(void) { } 35static inline void fdt_reserved_mem_save_node(unsigned long node, 36 const char *uname, phys_addr_t base, phys_addr_t size) { } 37#endif 38 39#endif /* __OF_RESERVED_MEM_H */