mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 00:15:51 +07:00
54196ccbe0
We now have several OF match tables using linker sections that are nearly the same definition. The only variation is the callback function prototype. Create a common define for creating linker section OF match table entries which each table declaration can use. Acked-by: Grant Likely <grant.likely@linaro.org> Signed-off-by: Rob Herring <robh@kernel.org>
40 lines
1.1 KiB
C
40 lines
1.1 KiB
C
#ifndef __OF_RESERVED_MEM_H
|
|
#define __OF_RESERVED_MEM_H
|
|
|
|
struct device;
|
|
struct of_phandle_args;
|
|
struct reserved_mem_ops;
|
|
|
|
struct reserved_mem {
|
|
const char *name;
|
|
unsigned long fdt_node;
|
|
const struct reserved_mem_ops *ops;
|
|
phys_addr_t base;
|
|
phys_addr_t size;
|
|
void *priv;
|
|
};
|
|
|
|
struct reserved_mem_ops {
|
|
void (*device_init)(struct reserved_mem *rmem,
|
|
struct device *dev);
|
|
void (*device_release)(struct reserved_mem *rmem,
|
|
struct device *dev);
|
|
};
|
|
|
|
typedef int (*reservedmem_of_init_fn)(struct reserved_mem *rmem);
|
|
|
|
#define RESERVEDMEM_OF_DECLARE(name, compat, init) \
|
|
_OF_DECLARE(reservedmem, name, compat, init, reservedmem_of_init_fn)
|
|
|
|
#ifdef CONFIG_OF_RESERVED_MEM
|
|
void fdt_init_reserved_mem(void);
|
|
void fdt_reserved_mem_save_node(unsigned long node, const char *uname,
|
|
phys_addr_t base, phys_addr_t size);
|
|
#else
|
|
static inline void fdt_init_reserved_mem(void) { }
|
|
static inline void fdt_reserved_mem_save_node(unsigned long node,
|
|
const char *uname, phys_addr_t base, phys_addr_t size) { }
|
|
#endif
|
|
|
|
#endif /* __OF_RESERVED_MEM_H */
|