diff options
| author | GUI <[email protected]> | 2023-08-02 12:48:24 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-08-02 12:48:24 +0800 |
| commit | d3417aa0d757955497e3fde70d6c20ec0fbb8f2f (patch) | |
| tree | b909c67502cd25e024cb33cb66a4a53b6d9d2626 /components | |
| parent | f5fe1a5d7b9117339ffce00035fd58a2c0ff3f3a (diff) | |
Prepare some api for DM (#7894)
Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'components')
| -rw-r--r-- | components/drivers/ofw/base.c | 7 | ||||
| -rwxr-xr-x | components/drivers/ofw/fdt.c | 9 | ||||
| -rwxr-xr-x | components/drivers/ofw/irq.c | 3 | ||||
| -rw-r--r-- | components/mm/ioremap.c | 10 | ||||
| -rw-r--r-- | components/mm/ioremap.h | 1 | ||||
| -rw-r--r-- | components/mm/mm_page.h | 2 |
6 files changed, 24 insertions, 8 deletions
diff --git a/components/drivers/ofw/base.c b/components/drivers/ofw/base.c index 63f6d2702e..6f8f20e806 100644 --- a/components/drivers/ofw/base.c +++ b/components/drivers/ofw/base.c @@ -10,6 +10,7 @@ #include <rtthread.h> +#include <string.h> #include <drivers/ofw.h> #include <drivers/ofw_io.h> #include <drivers/ofw_fdt.h> @@ -249,7 +250,7 @@ rt_bool_t rt_ofw_node_tag_equ(const struct rt_ofw_node *np, const char *tag) if (np && tag) { const char *node_name = rt_fdt_node_name(np->full_name); - rt_size_t tag_len = rt_strchrnul(node_name, '@') - node_name; + rt_size_t tag_len = strchrnul(node_name, '@') - node_name; ret = (rt_strlen(tag) == tag_len && !rt_strncmp(node_name, tag, tag_len)); } @@ -569,7 +570,7 @@ struct rt_ofw_node *rt_ofw_find_node_by_ids_r(struct rt_ofw_node *from, const st struct rt_ofw_node *rt_ofw_find_node_by_path(const char *path) { - struct rt_ofw_node *np, *parent, *tmp; + struct rt_ofw_node *np = RT_NULL, *parent, *tmp = RT_NULL; if (path) { @@ -584,7 +585,7 @@ struct rt_ofw_node *rt_ofw_find_node_by_path(const char *path) while (*path) { - const char *next = rt_strchrnul(path, '/'); + const char *next = strchrnul(path, '/'); rt_size_t len = next - path; tmp = RT_NULL; diff --git a/components/drivers/ofw/fdt.c b/components/drivers/ofw/fdt.c index 1d3388e79d..d64feec9cd 100755 --- a/components/drivers/ofw/fdt.c +++ b/components/drivers/ofw/fdt.c @@ -11,6 +11,7 @@ #include <rthw.h> #include <rtthread.h> +#include <string.h> #include <drivers/ofw_fdt.h> #include <drivers/ofw_raw.h> #include <drivers/core/dm.h> @@ -40,7 +41,7 @@ static rt_size_t _root_addr_cells; const char *rt_fdt_node_name(const char *full_name) { - const char *node_name = rt_strrchr(full_name, '/'); + const char *node_name = strrchr(full_name, '/'); return node_name ? node_name + 1 : full_name; } @@ -701,7 +702,7 @@ rt_err_t rt_fdt_scan_chosen_stdout(void) if (stdout_path && len) { - const char *path_split = rt_strchrnul(stdout_path, ':'); + const char *path_split = strchrnul(stdout_path, ':'); if (*path_split != '\0') { @@ -780,13 +781,13 @@ rt_err_t rt_fdt_scan_chosen_stdout(void) if (*options) { - type_len = rt_strchrnul(options, ',') - options; + type_len = strchrnul(options, ',') - options; } } if (options && *options && *options != ' ') { - options_len = rt_strchrnul(options, ' ') - options; + options_len = strchrnul(options, ' ') - options; } /* console > stdout-path */ diff --git a/components/drivers/ofw/irq.c b/components/drivers/ofw/irq.c index 69ac3b3d5e..97483d8a5e 100755 --- a/components/drivers/ofw/irq.c +++ b/components/drivers/ofw/irq.c @@ -10,6 +10,7 @@ #include <rtthread.h> +#include <string.h> #include <drivers/pic.h> #include <drivers/ofw.h> #include <drivers/ofw_io.h> @@ -130,7 +131,7 @@ static rt_err_t ofw_parse_irq_map(struct rt_ofw_node *np, struct rt_ofw_cell_arg * <0x1800 0 0 4 &gic 0 0 GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>; // INTD * }; * - * In fact, basically no SoC will be use multi ic to implemented INTx. + * In fact, almost no SoC will be use multi IC to implement INTx. * before call ofw_parse_irq_map(np, &args): * * args.data = addr; diff --git a/components/mm/ioremap.c b/components/mm/ioremap.c index 04f09fdbaf..5d31185e57 100644 --- a/components/mm/ioremap.c +++ b/components/mm/ioremap.c @@ -76,6 +76,16 @@ static void *_ioremap_type(void *paddr, size_t size, enum ioremap_type type) return v_addr; } +rt_weak void *rt_ioremap_early(void *paddr, size_t size) +{ + if (!size) + { + return RT_NULL; + } + + return paddr; +} + void *rt_ioremap(void *paddr, size_t size) { return _ioremap_type(paddr, size, MM_AREA_TYPE_PHY); diff --git a/components/mm/ioremap.h b/components/mm/ioremap.h index 7ac9d196a9..f17b5d5fff 100644 --- a/components/mm/ioremap.h +++ b/components/mm/ioremap.h @@ -30,6 +30,7 @@ extern "C" { * | Currently as non-cacheable */ +void *rt_ioremap_early(void *paddr, size_t size); void *rt_ioremap(void *paddr, size_t size); void *rt_ioremap_nocache(void *paddr, size_t size); void *rt_ioremap_cached(void *paddr, size_t size); diff --git a/components/mm/mm_page.h b/components/mm/mm_page.h index 99cb5a804e..a0171d6672 100644 --- a/components/mm/mm_page.h +++ b/components/mm/mm_page.h @@ -63,6 +63,8 @@ typedef struct tag_region { rt_size_t start; rt_size_t end; + + const char *name; } rt_region_t; extern const rt_size_t rt_mpr_size; |
