/* SPDX-License-Identifier: GPL-2.0 */ /* * Copyright (C) 2021 MediaTek Inc. */ #ifndef _MKP_RBTREE_H_ #define _MKP_RBTREE_H_ #include #include // for phys_addr_t #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // for MODULE_VADDR #include // for phys_addr_t #include #include #include #include #include #include "debug.h" struct mkp_rb_node { struct rb_node rb_node; phys_addr_t addr; phys_addr_t size; uint32_t handle; }; void traverse_rbtree(struct rb_root *root); struct mkp_rb_node *mkp_rbtree_search(struct rb_root *root, phys_addr_t addr); int mkp_rbtree_insert(struct rb_root *root, struct mkp_rb_node *ins); int mkp_rbtree_erase(struct rb_root *root, phys_addr_t addr); #endif /* _MKP_RBTREE_H */