Message ID | 20211103020244.25428-12-kabel@kernel.org |
---|---|
State | Superseded |
Delegated to: | Stefan Roese |
Headers | show |
Series | Some mvebu comphy + mox + fdt_support changes | expand |
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
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;