Re: [U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-24 Thread Kumar Gala

On Oct 23, 2011, at 3:49 AM, Wolfgang Denk wrote:

 Dear Kumar Gala,
 
 In message 1318619444-2059-1-git-send-email-ga...@kernel.crashing.org you 
 wrote:
 From: Shengzhou Liu shengzhou@freescale.com
 
 Add common function fdt_set_node_status() to assist in various locations
 that we set a nodes status.  This function utilizes the status values
 that are part of the EPAPR spec (on power.org).
 
 fdt_set_status_by_alias() is based on fdt_set_node_status() but uses an
 alias string to identify the node to update.
 
 We also add some shortcut functions to help the common cases of setting
 okay and disabled:
 
  fdt_status_okay()
  fdt_status_disabled()
  fdt_status_okay_by_alias()
  fdt_status_disabled_by_alias()
 
 Finally, we fixup the corenet_ds ethernet code which previously had
 a function by the same name that can be replaced with the new helpers.
 
 Signed-off-by: Shengzhou Liu shengzhou@freescale.com
 Signed-off-by: Kumar Gala ga...@kernel.crashing.org
 
 This patch breaks a number of boards by growing the code size even for
 boards which never make use of this new stuff.
 
 Affected boards: TQM8555 TQM8541
 
 [Building with ELDK 4.2]:
 
 + ./MAKEALL TQM8555
 Configuring for TQM8555 - Board: TQM85xx, Options: 
 MPC8555,TQM8555=y,HOSTNAME=tqm8555,BOARDNAME=TQM8555
 ppc_6xx-ld: warning: dot moved backwards before `.bss'
 ppc_6xx-ld: warning: dot moved backwards before `.bss'
 ppc_6xx-ld: u-boot: section .text lma 0xfffc overlaps previous sections
 ppc_6xx-ld: u-boot: section .rodata lma 0xfffef388 overlaps previous sections
 ppc_6xx-ld: u-boot: section .reloc lma 0xa400 overlaps previous sections
 ppc_6xx-ld: u-boot: section .data lma 0xcd3c overlaps previous sections
 ppc_6xx-ld: u-boot: section .u_boot_cmd lma 0xea68 overlaps previous 
 sections
 ppc_6xx-ld: u-boot: section .bootpg lma 0xf0dc overlaps previous sections


Is part of our issue with older gcc-4.2 toolchain that the linker doesn't 
garbage collect unused functions?

- k
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-24 Thread Wolfgang Denk
Dear Kumar Gala,

In message 8d0c487d-8573-4556-ad02-60daf1104...@kernel.crashing.org you wrote:
 
  [Building with ELDK 4.2]:
...
 Is part of our issue with older gcc-4.2 toolchain that the linker
 doesn't garbage collect unused functions?

Which binutils version is minimally needed?  ElDK 4.2 uses GNU ld
version 2.17.50.0.12 20070128 ...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
I am more bored than you could ever possibly be.  Go back to work.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-23 Thread Wolfgang Denk
Dear Kumar Gala,

In message 1318619444-2059-1-git-send-email-ga...@kernel.crashing.org you 
wrote:
 From: Shengzhou Liu shengzhou@freescale.com
 
 Add common function fdt_set_node_status() to assist in various locations
 that we set a nodes status.  This function utilizes the status values
 that are part of the EPAPR spec (on power.org).
 
 fdt_set_status_by_alias() is based on fdt_set_node_status() but uses an
 alias string to identify the node to update.
 
 We also add some shortcut functions to help the common cases of setting
 okay and disabled:
 
   fdt_status_okay()
   fdt_status_disabled()
   fdt_status_okay_by_alias()
   fdt_status_disabled_by_alias()
 
 Finally, we fixup the corenet_ds ethernet code which previously had
 a function by the same name that can be replaced with the new helpers.
 
 Signed-off-by: Shengzhou Liu shengzhou@freescale.com
 Signed-off-by: Kumar Gala ga...@kernel.crashing.org

This patch breaks a number of boards by growing the code size even for
boards which never make use of this new stuff.

Affected boards: TQM8555 TQM8541

[Building with ELDK 4.2]:

+ ./MAKEALL TQM8555
Configuring for TQM8555 - Board: TQM85xx, Options: 
MPC8555,TQM8555=y,HOSTNAME=tqm8555,BOARDNAME=TQM8555
ppc_6xx-ld: warning: dot moved backwards before `.bss'
ppc_6xx-ld: warning: dot moved backwards before `.bss'
ppc_6xx-ld: u-boot: section .text lma 0xfffc overlaps previous sections
ppc_6xx-ld: u-boot: section .rodata lma 0xfffef388 overlaps previous sections
ppc_6xx-ld: u-boot: section .reloc lma 0xa400 overlaps previous sections
ppc_6xx-ld: u-boot: section .data lma 0xcd3c overlaps previous sections
ppc_6xx-ld: u-boot: section .u_boot_cmd lma 0xea68 overlaps previous 
sections
ppc_6xx-ld: u-boot: section .bootpg lma 0xf0dc overlaps previous sections


Please fix.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH, MD: Wolfgang Denk  Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: w...@denx.de
Each honest calling, each walk of life, has its own  elite,  its  own
aristocracy based on excellence of performance. - James Bryant Conant
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-20 Thread Kumar Gala

On Oct 15, 2011, at 8:04 AM, Jerry Van Baren wrote:

 Hi Kumar, Shengzhou,
 
 On 10/14/2011 03:10 PM, Kumar Gala wrote:
 From: Shengzhou Liushengzhou@freescale.com
 
 Add common function fdt_set_node_status() to assist in various locations
 that we set a nodes status.  This function utilizes the status values
 that are part of the EPAPR spec (on power.org).
 
 fdt_set_status_by_alias() is based on fdt_set_node_status() but uses an
 alias string to identify the node to update.
 
 We also add some shortcut functions to help the common cases of setting
 okay and disabled:
 
  fdt_status_okay()
  fdt_status_disabled()
  fdt_status_okay_by_alias()
  fdt_status_disabled_by_alias()
 
 Finally, we fixup the corenet_ds ethernet code which previously had
 a function by the same name that can be replaced with the new helpers.
 
 Signed-off-by: Shengzhou Liushengzhou@freescale.com
 Signed-off-by: Kumar Galaga...@kernel.crashing.org
 ---
  board/freescale/corenet_ds/eth_hydra.c |   26 ++
  board/freescale/corenet_ds/eth_p4080.c |   36 +--
  common/fdt_support.c   |   60 
 +++-
  include/fdt_support.h  |   28 +++
  4 files changed, 101 insertions(+), 49 deletions(-)
 
 While this touches fdt_support.[ch] which is nominally mine, it is coupled 
 with the Freescale support.  I could make you break it into two, but then I 
 would have to do more work and you (and wd) would have to make sure they went 
 into u-boot in the right order.  That sounds ugly, so I would prefer Kumar 
 apply it to his subrepo to feed into u-boot.
 
 Acked-by: Gerald Van Baren vanba...@cideas.com
 
 Best regards,
 gvb

applied to 85xx

- k

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-15 Thread Jerry Van Baren
Hi Kumar, Shengzhou,

On 10/14/2011 03:10 PM, Kumar Gala wrote:
 From: Shengzhou Liushengzhou@freescale.com

 Add common function fdt_set_node_status() to assist in various locations
 that we set a nodes status.  This function utilizes the status values
 that are part of the EPAPR spec (on power.org).

 fdt_set_status_by_alias() is based on fdt_set_node_status() but uses an
 alias string to identify the node to update.

 We also add some shortcut functions to help the common cases of setting
 okay and disabled:

   fdt_status_okay()
   fdt_status_disabled()
   fdt_status_okay_by_alias()
   fdt_status_disabled_by_alias()

 Finally, we fixup the corenet_ds ethernet code which previously had
 a function by the same name that can be replaced with the new helpers.

 Signed-off-by: Shengzhou Liushengzhou@freescale.com
 Signed-off-by: Kumar Galaga...@kernel.crashing.org
 ---
   board/freescale/corenet_ds/eth_hydra.c |   26 ++
   board/freescale/corenet_ds/eth_p4080.c |   36 +--
   common/fdt_support.c   |   60 
 +++-
   include/fdt_support.h  |   28 +++
   4 files changed, 101 insertions(+), 49 deletions(-)

While this touches fdt_support.[ch] which is nominally mine, it is 
coupled with the Freescale support.  I could make you break it into two, 
but then I would have to do more work and you (and wd) would have to 
make sure they went into u-boot in the right order.  That sounds ugly, 
so I would prefer Kumar apply it to his subrepo to feed into u-boot.

Acked-by: Gerald Van Baren vanba...@cideas.com

Best regards,
gvb

[snip]
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 1/2] fdt: Add new fdt_set_node_status fdt_set_status_by_alias helpers

2011-10-14 Thread Kumar Gala
From: Shengzhou Liu shengzhou@freescale.com

Add common function fdt_set_node_status() to assist in various locations
that we set a nodes status.  This function utilizes the status values
that are part of the EPAPR spec (on power.org).

fdt_set_status_by_alias() is based on fdt_set_node_status() but uses an
alias string to identify the node to update.

We also add some shortcut functions to help the common cases of setting
okay and disabled:

fdt_status_okay()
fdt_status_disabled()
fdt_status_okay_by_alias()
fdt_status_disabled_by_alias()

Finally, we fixup the corenet_ds ethernet code which previously had
a function by the same name that can be replaced with the new helpers.

Signed-off-by: Shengzhou Liu shengzhou@freescale.com
Signed-off-by: Kumar Gala ga...@kernel.crashing.org
---
 board/freescale/corenet_ds/eth_hydra.c |   26 ++
 board/freescale/corenet_ds/eth_p4080.c |   36 +--
 common/fdt_support.c   |   60 +++-
 include/fdt_support.h  |   28 +++
 4 files changed, 101 insertions(+), 49 deletions(-)

diff --git a/board/freescale/corenet_ds/eth_hydra.c 
b/board/freescale/corenet_ds/eth_hydra.c
index 91b3408..a7a5e13 100644
--- a/board/freescale/corenet_ds/eth_hydra.c
+++ b/board/freescale/corenet_ds/eth_hydra.c
@@ -70,6 +70,7 @@
 #include fm_eth.h
 #include fsl_mdio.h
 #include malloc.h
+#include fdt_support.h
 #include asm/fsl_dtsec.h
 
 #include ../common/ngpixis.h
@@ -200,25 +201,6 @@ static int hydra_mdio_init(char *realbusname, char 
*fakebusname)
 }
 
 /*
- * Given an alias or a path for a node, set the status of that node.
- *
- * If 'alias' is not a valid alias, then it is treated as a full path to the
- * node.  No error checking is performed.
- *
- * This function is normally called to set the status for a virtual MDIO node.
- */
-static void fdt_set_node_status(void *fdt, const char *alias,
-   const char *status)
-{
-   const char *path = fdt_get_alias(fdt, alias);
-
-   if (!path)
-   path = alias;
-
-   do_fixup_by_path(fdt, path, status, status, strlen(status) + 1, 1);
-}
-
-/*
  * Given an alias or a path for a node, set the mux value of that node.
  *
  * If 'alias' is not a valid alias, then it is treated as a full path to the
@@ -372,14 +354,14 @@ void fdt_fixup_board_enet(void *fdt)
case PHY_INTERFACE_MODE_SGMII:
lane = serdes_get_first_lane(SGMII_FM1_DTSEC1 + idx);
if (lane = 0) {
-   fdt_set_node_status(fdt, emi1_sgmii, okay);
+   fdt_status_okay_by_alias(fdt, emi1_sgmii);
/* Also set the MUX value */
fdt_set_mdio_mux(fdt, emi1_sgmii,
 mdio_mux[i].val);
}
break;
case PHY_INTERFACE_MODE_RGMII:
-   fdt_set_node_status(fdt, emi1_rgmii, okay);
+   fdt_status_okay_by_alias(fdt, emi1_rgmii);
break;
default:
break;
@@ -388,7 +370,7 @@ void fdt_fixup_board_enet(void *fdt)
 
lane = serdes_get_first_lane(XAUI_FM1);
if (lane = 0)
-   fdt_set_node_status(fdt, emi2_xgmii, okay);
+   fdt_status_okay_by_alias(fdt, emi2_xgmii);
 #endif
 }
 
diff --git a/board/freescale/corenet_ds/eth_p4080.c 
b/board/freescale/corenet_ds/eth_p4080.c
index d4657f7..00dfa9a 100644
--- a/board/freescale/corenet_ds/eth_p4080.c
+++ b/board/freescale/corenet_ds/eth_p4080.c
@@ -199,22 +199,6 @@ static int p4080ds_mdio_init(char *realbusname, u32 muxval)
return mdio_register(bus);
 }
 
-/*
- * Sets the specified node's status to the value contained in status
- * If the first character of the specified path is / then we use
- * alias as a path.  Otherwise, we look for an alias of that name
- */
-static void fdt_set_node_status(void *fdt, const char *alias,
-   const char *status)
-{
-   const char *path = fdt_get_alias(fdt, alias);
-
-   if (!path)
-   path = alias;
-
-   do_fixup_by_path(fdt, path, status, status, strlen(status) + 1, 1);
-}
-
 void board_ft_fman_fixup_port(void *blob, char * prop, phys_addr_t pa,
enum fm_port port, int offset)
 {
@@ -255,28 +239,28 @@ void fdt_fixup_board_enet(void *fdt)
 */
 
/* We've got six MDIO nodes that may or may not need to exist */
-   fdt_set_node_status(fdt, emi1_slot3, disabled);
-   fdt_set_node_status(fdt, emi1_slot4, disabled);
-   fdt_set_node_status(fdt, emi1_slot5, disabled);
-   fdt_set_node_status(fdt, emi2_slot4, disabled);
-   fdt_set_node_status(fdt, emi2_slot5, disabled);
+   fdt_status_disabled_by_alias(fdt, emi1_slot3);