X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/6123a1b5c5c97d90224ffa0dc6706dd7af2ebb9e..6942ebae59c3904674dce6b67cd07c43a3bbe00d:/lunaix-os/includes/hal/devtreem.h diff --git a/lunaix-os/includes/hal/devtreem.h b/lunaix-os/includes/hal/devtreem.h new file mode 100644 index 0000000..c8d10c2 --- /dev/null +++ b/lunaix-os/includes/hal/devtreem.h @@ -0,0 +1,48 @@ +#ifndef __LUNAIX_DEVTREE_TOP_H +#define __LUNAIX_DEVTREE_TOP_H + +struct device_def; +struct device; + +#ifdef CONFIG_USE_DEVICETREE + +#include "devtree.h" +#include +#include +#include + +typedef struct dt_node* devtree_link_t; + +#define dt_node_morpher morphable_attrs(dt_node, mobj) + +struct dtm_driver_info +{ + struct list_node node; + const char* pattern; +}; + +struct dtm_driver_record +{ + struct hlist_node node; + struct list_head infos; + struct device_def* def; +}; + +void +dtm_register_entry(struct device_def* def, const char* pattern); + +#else + +#include + +typedef void* devtree_link_t; + +static inline void +dtm_register_entry(struct device_def* def, const char* pattern) +{ + return; +} + +#endif + +#endif /* __LUNAIX_DEVTREE_TOP_H */