[U-Boot] [RFC PATCH 04/17] kconfig: add defconfig files for all boards

Masahiro Yamada
2014-03-31T08:56:51Z

Hi Daniel,

On Fri, 28 Mar 2014 21:35:37 +0100
Daniel Schwierzeck <daniel.schwierzeck@gmail.com> wrote:
> 2014-03-28 3:25 GMT+01:00 Masahiro Yamada <yamada.m@jp.panasonic.com>:
> >>
> >> Those boards have linker errors, but I do not understand yet why. For
> >> example on ARM the linker complains about multiple definition of
> >> board_init() and board_eth_init(). The solely difference is that there
> >> are one or two additional intermediate objects (board/built-in.o and
> >> if necessary board/VENDOR/built-in.o). But board/built-in.o and
> >> board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o
> >> contain the same symbols and object code. The strange thing is that
> >> the error only affects some boards.
> >
> > Have you figured out the multiple definition error?
> >
> > They are nasty ones and have their own linker scripts. :-(
> > For cm_t335 board, board/compulab/cm_t335/u-boot.lds needs modifying.
> >
> > --- a/board/compulab/cm_t335/u-boot.lds
> > +++ b/board/compulab/cm_t335/u-boot.lds
> > @@ -19,7 +19,7 @@ SECTIONS
> > {
> > *(.__image_copy_start)
> > CPUDIR/start.o (.text*)
> > - board/compulab/cm_t335/built-in.o (.text*)
> > + board/built-in.o (.text*)
> > *(.text*)
> > }
> >
>
> that would fix it. But I looked through several linker scripts and saw
> that some boards use that for size optimization. I think we should
> ignore board/built-in.o and keep the direct linking of
> board/BOARD/built-in.o respectively board/VENDOR/BOARD/built-in.o and
> optionally board/vendor/common/built-in.o

I am not sure if that change has an impact to the size of outputs.
Anyway, in your plan, how would they be fixed?

BTW,
> while read -r status arch cpu soc vendor board target options maintainers; do
> case $status in
> Active|Orphan)
> ;;
> *)
> continue
> ;;
> esac
>
> if [ "$board" = "-" ]; then
> board=$target
> fi
>
> BOARD=${board^^}
> BOARD=${BOARD/-/_}

This does not work correctly.

The only first occurrence of '-' will be replaced with '_'.

For exampile, "FOO-BAR-BAZ" will be converted to "FOO_BAR-BAZ".

Some makefiles should be fixed.

--- a/board/Makefile
+++ b/board/Makefile
@@ -11,7 +11,7 @@ obj-$(CONFIG_BOARD_BF506F_EZKIT) += bf506f-ezkit/
obj-$(CONFIG_BOARD_BF518F_EZBRD) += bf518f-ezbrd/
obj-$(CONFIG_BOARD_BF525_UCR2) += bf525-ucr2/
obj-$(CONFIG_BOARD_BF526_EZBRD) += bf526-ezbrd/
-obj-$(CONFIG_BOARD_BF527_AD7160-EVAL) += bf527-ad7160-eval/
+obj-$(CONFIG_BOARD_BF527_AD7160_EVAL) += bf527-ad7160-eval/
obj-$(CONFIG_BOARD_BF527_EZKIT) += bf527-ezkit/
obj-$(CONFIG_BOARD_BF527_SDP) += bf527-sdp/
obj-$(CONFIG_BOARD_BF533_EZKIT) += bf533-ezkit/
diff --git a/board/earthlcd/Makefile b/board/earthlcd/Makefile
index 61956b4..f618674 100644
--- a/board/earthlcd/Makefile
+++ b/board/earthlcd/Makefile
@@ -1 +1 @@
-obj-$(CONFIG_BOARD_FAVR_32-EZKIT) += favr-32-ezkit/
+obj-$(CONFIG_BOARD_FAVR_32_EZKIT) += favr-32-ezkit/

Best Regards
Masahiro Yamada