
On 11/3/21 03:02, Marek Behún wrote:
From: Marek Behún marek.behun@nic.cz
Move Turris MOX specific remove_disabled_nodes() to fdt_support with name fdt_delete_disabled_nodes(), so that others can potentially use it.
Signed-off-by: Marek Behún marek.behun@nic.cz
Reviewed-by: Stefan Roese sr@denx.de
Thanks, Stefan
board/CZ.NIC/turris_mox/turris_mox.c | 20 +------------------- common/fdt_support.c | 23 +++++++++++++++++++++++ include/fdt_support.h | 2 ++ 3 files changed, 26 insertions(+), 19 deletions(-)
diff --git a/board/CZ.NIC/turris_mox/turris_mox.c b/board/CZ.NIC/turris_mox/turris_mox.c index 809ce82d20..b61c5b1cb6 100644 --- a/board/CZ.NIC/turris_mox/turris_mox.c +++ b/board/CZ.NIC/turris_mox/turris_mox.c @@ -749,24 +749,6 @@ static int setup_switch(void *blob, int id) return 0; }
-static int remove_disabled_nodes(void *blob) -{
- while (1) {
int res, offset;
offset = fdt_node_offset_by_prop_value(blob, -1, "status",
"disabled", 9);
if (offset < 0)
break;
res = fdt_del_node(blob, offset);
if (res < 0)
return res;
- }
- return 0;
-}
- int ft_board_setup(void *blob, struct bd_info *bd) { int res;
@@ -872,7 +854,7 @@ int ft_board_setup(void *blob, struct bd_info *bd) fdt_fixup_ethernet(blob);
/* Finally remove disabled nodes, as per Rob Herring's request. */
- remove_disabled_nodes(blob);
fdt_delete_disabled_nodes(blob);
return 0; }
diff --git a/common/fdt_support.c b/common/fdt_support.c index c2e16727e1..b2ba0825df 100644 --- a/common/fdt_support.c +++ b/common/fdt_support.c @@ -695,6 +695,29 @@ int fdt_shrink_to_minimum(void *blob, uint extrasize) return actualsize; }
+/**
- fdt_delete_disabled_nodes: Delete all nodes with status == "disabled"
- @blob: ptr to device tree
- */
+int fdt_delete_disabled_nodes(void *blob) +{
- while (1) {
int ret, offset;
offset = fdt_node_offset_by_prop_value(blob, -1, "status",
"disabled", 9);
if (offset < 0)
break;
ret = fdt_del_node(blob, offset);
if (ret < 0)
return ret;
- }
- return 0;
+}
- #ifdef CONFIG_PCI #define CONFIG_SYS_PCI_NR_INBOUND_WIN 4
diff --git a/include/fdt_support.h b/include/fdt_support.h index d40586725b..8ec461af6c 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -228,6 +228,8 @@ void set_working_fdt_addr(ulong addr); int fdt_shrink_to_minimum(void *blob, uint extrasize); int fdt_increase_size(void *fdt, int add_len);
+int fdt_delete_disabled_nodes(void *blob);
int fdt_fixup_nor_flash_size(void *blob);
struct node_info;
Viele Grüße, Stefan Roese