10 Feb, 2022

1 commit

  • When building for a custom board, it is quite common to maintain a
    private branch which include some defconfig and .dts files. But to
    hook up those .dts files requires modifying a file "belonging" to
    upstream U-Boot, the arch/*/dts/Makefile. Forward-porting that branch
    to a newer upstream then often results in a conflict which, while it
    is trivial to resolve by hand, makes it harder to have a CI do "try to
    build our board against latest upstream".

    The .config usually includes information on precisely what .dtb(s) are
    needed, so to avoid having to modify the Makefile, simply add the
    files in (SPL_)OF_LIST to dtb-y.

    A technicality is that (SPL_)OF_LIST is not always defined, so rework
    the Kconfig symbols so that (SPL_)OF_LIST is always defined (when
    (SPL_)OF_CONTROL), but only prompted for in the cases which used to be
    their "depends on".

    nios2 and microblaze already have something like this in their
    dts/Makefile, and the rationale in commit 41f59f68539 is similar to
    the above. So this simply generalizes existing practice. Followup
    patches could remove the logic in those two makefiles, just as there's
    potential for moving some common boilerplate from all the
    arch/*/dts/Makefile files to the new scripts/Makefile.dts.

    Signed-off-by: Rasmus Villemoes
    Reviewed-by: Simon Glass

    Rasmus Villemoes
     

13 Jan, 2022

1 commit


27 Dec, 2021

1 commit

  • Because of how these symbols work, and the remaining board config.h file
    uses, we need to do these at the same time. In some cases we just get
    to move rather directly to the defconfigs. A few cases require manual
    intervention.

    For the case of the eb_cpu5282 we need to select HW_WATCHDOG for the
    target, given how it's implemented.

    For the cases of m53menlo, dh_imx6, display5, and display5_factory we
    disable SPL watchdog support as the particular combination of options
    they want would require either more symbols or enabling SPL_DM.

    Signed-off-by: Tom Rini

    Tom Rini
     

30 Sep, 2021

2 commits


24 Sep, 2021

1 commit

  • Switch arc/arm/m68k/microblaze/mips/ppc arch_lmb_reserve() to
    arch_lmb_reserve_generic().

    Reviewed-by: Tom Rini
    Signed-off-by: Marek Vasut
    Cc: Alexey Brodkin
    Cc: Angelo Dureghello
    Cc: Daniel Schwierzeck
    Cc: Eugeniy Paltsev
    Cc: Hai Pham
    Cc: Michal Simek
    Cc: Simon Goldschmidt
    Cc: Tom Rini
    Cc: Wolfgang Denk

    Marek Vasut
     

18 Sep, 2021

3 commits


19 Jul, 2021

4 commits


08 Jul, 2021

2 commits

  • These board has not been converted to CONFIG_DM_PCI by the deadline.
    Remove them. As this is the last of the mcf547x_8x family of boards,
    remove that support as well.

    Cc: TsiChung Liew
    Signed-off-by: Tom Rini

    Tom Rini
     
  • These board has not been converted to CONFIG_DM_PCI by the deadline.
    Remove them. As this is all of the CONFIG_M548x platforms as well,
    remove that code.

    Cc: TsiChung Liew
    Signed-off-by: Tom Rini

    Tom Rini
     

23 Jun, 2021

1 commit

  • All symbols that are defined in Kconfig will always be defined (or not)
    prior to preprocessing due to the -include directive while building.
    However, symbols which are not yet migrated will only be defined (or
    not) once the board config.h is included, via . While the end
    goal must be to migrate all symbols, today we have cases where the size
    of gd will get mismatched within the build, based on include order.
    Mitigate this by making sure that any that uses
    symbols not in Kconfig does start with . Remove this when not
    needed.

    Cc: Alexey Brodkin
    Cc: Eugeniy Paltsev
    Cc: Huan Wang
    Cc: Angelo Dureghello
    Cc: Rick Chen
    Signed-off-by: Tom Rini

    Tom Rini
     

27 Apr, 2021

1 commit

  • Having WATCHDOG_RESET() called automatically from the timer interrupt
    runs counter to the idea of a watchdog device - if the board runs into
    an infinite loops with interrupts still enabled, the watchdog will
    never fire.

    When using CONFIG_(SPL_)WDT, the watchdog_reset function is a lot more
    complicated than just poking a few SOC-specific registers - it
    involves accessing all kinds of global data, and if the interrupt
    happens at the wrong time (say, in the middle of an WATCHDOG_RESET()
    call from ordinary code), that can end up corrupting said global data.

    Allow the board to opt out of calling WATCHDOG_RESET() from the timer
    interrupt handler by setting CONFIG_SYS_WATCHDOG_FREQ to 0 - as that
    setting is currently nonsensical (it would be compile-time
    divide-by-zero), it cannot affect any existing boards.

    Add documentation for both the existing and extended meaning of
    CONFIG_SYS_WATCHDOG_FREQ.

    Signed-off-by: Rasmus Villemoes

    Rasmus Villemoes
     

23 Apr, 2021

1 commit


15 Feb, 2021

1 commit


03 Feb, 2021

2 commits

  • At present we have bdinfo_print_num() to print unsigned long numbers.
    We also have print_phys_addr() which accept numbers that might be
    64-bit on a 32-bit platform.

    Rename these 2 functions to be clearer:

    bdinfo_print_num() => bdinfo_print_num_l()
    print_phys_addr() => bdinfo_print_num_ll()

    While we are here, make bdinfo_print_num_ll() public so that it can
    be used outside cmd/bdinfo.c in the future.

    Signed-off-by: Bin Meng

    Bin Meng
     
  • Move this out of the common header and include it only where needed. In
    a number of cases this requires adding "struct udevice;" to avoid adding
    another large header or in other cases replacing / adding missing header
    files that had been pulled in, very indirectly. Finally, we have a few
    cases where we did not need to include at all, so
    remove that include.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Rini

    Simon Glass
     

16 Jan, 2021

1 commit


06 Jan, 2021

1 commit


04 Nov, 2020

1 commit

  • CONFIG_NEEDS_MANUAL_RELOC macro was out of Kconfig. Move it there to be
    able to use compile-time checks to reduce the number of build paths.

    Fixes: f9a882438966 ("dm: core: Convert #ifdef to if() in root.c") for Microblaze
    Reviewed-by: Tom Rini
    Signed-off-by: Michal Simek

    Michal Simek
     

07 Aug, 2020

2 commits


17 Jul, 2020

2 commits

  • Some code was not converted by coccinelle, somehow.

    I manually fixed up the remaining, and comments, README docs.

    Signed-off-by: Masahiro Yamada
    [trini: Add arch/arm/mach-davinci/include/mach/sdmmc_defs.h and
    include/fdt_support.h]
    Signed-off-by: Tom Rini

    Masahiro Yamada
     
  • The Linux coding style guide (Documentation/process/coding-style.rst)
    clearly says:

    It's a **mistake** to use typedef for structures and pointers.

    Besides, using typedef for structures is annoying when you try to make
    headers self-contained.

    Let's say you have the following function declaration in a header:

    void foo(bd_t *bd);

    This is not self-contained since bd_t is not defined.

    To tell the compiler what 'bd_t' is, you need to include

    #include
    void foo(bd_t *bd);

    Then, the include direcective pulls in more bloat needlessly.

    If you use 'struct bd_info' instead, it is enough to put a forward
    declaration as follows:

    struct bd_info;
    void foo(struct bd_info *bd);

    Right, typedef'ing bd_t is a mistake.

    I used coccinelle to generate this commit.

    The semantic patch that makes this change is as follows:


    @@
    typedef bd_t;
    @@
    -bd_t
    +struct bd_info

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

01 Jul, 2020

1 commit

  • In order to support the compiler providing information used within
    Kconfig itself we cannot have the compiler be determined by
    arch/*/config.mk as we will not be able to evaluate that yet. Given
    that most documentation tells people to specify CROSS_COMPILE, remove
    these references.

    Cc: Huan Wang
    Cc: Angelo Dureghello
    Cc: Michal Simek
    Cc: Rick Chen
    Cc: Thomas Chou
    Cc: Wolfgang Denk
    Cc: Marek Vasut
    Cc: Nobuhiro Iwamatsu
    Cc: Simon Glass
    Cc: Bin Meng
    Cc: Max Filippov
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass
    Acked-by: Michal Simek

    Tom Rini
     

26 Jun, 2020

2 commits


19 May, 2020

8 commits


10 Apr, 2020

1 commit

  • Align Kconfig and Kbuild logic to Linux 4.19 release with minimal impact
    on files outside of this scope.

    Our previous Kconfig sync was done by commit 5972ff077e0f ("kconfig /
    kbuild: re-sync with Linux 4.18").

    In this particular re-sync in order to keep clang support working a
    number of related changes needed to be pulled in that had been missed
    previously. Not all of these changes we easily traceable and so have
    been omitted from the list below.

    The imported Linux commits are:
    [From prior to v4.18]
    9f3f1fd29976 kbuild: Add __cc-option macro
    d7f14c66c273 kbuild: Enable Large File Support for hostprogs
    6d79a7b424a5 kbuild: suppress warnings from 'getconf LFS_*'
    24403874316a Shared library support
    86a9df597cdd kbuild: fix linker feature test macros when cross compiling with Clang
    0294e6f4a000 kbuild: simplify ld-option implementation

    [From v4.18 to v4.19]
    96f14fe738b6 kbuild: Rename HOSTCFLAGS to KBUILD_HOSTCFLAGS
    10844aebf448 kbuild: Rename HOSTCXXFLAGS to KBUILD_HOSTCXXFLAGS
    b90a368000ab kbuild: Rename HOSTLDFLAGS to KBUILD_HOSTLDFLAGS
    8377bd2b9ee1 kbuild: Rename HOST_LOADLIBES to KBUILD_HOSTLDLIBS
    f92d19e0ef9b kbuild: Use HOST*FLAGS options from the command line
    4ab3b80159d4 kconfig: check for pkg-config on make {menu,n,g,x}config
    693359f7ac90 kconfig: rename SYMBOL_AUTO to SYMBOL_NO_WRITE
    f60b992e30ff kbuild: replace $(LDFLAGS) $(ldflags-y) with $(ld_flags)
    2fb9279f2c3e kbuild: change ld_flags to contain LDFLAGS_$(@F)
    c931d34ea085 arm64: build with baremetal linker target instead of Linux when available
    5accd7f3360e kconfig: handle format string before calling conf_message_callback()
    a2ff4040151a kconfig: rename file_write_dep and move it to confdata.c
    0608182ad542 kconfig: split out useful helpers in confdata.c
    adc18acf42a1 kconfig: remove unneeded directory generation from local*config
    79123b1389cc kconfig: create directories needed for syncconfig by itself
    16952b77d8b5 kconfig: make syncconfig update .config regardless of sym_change_count
    d6c6ab93e17f kbuild: remove deprecated host-progs variable
    56869d45e364 kconfig: fix the rule of mainmenu_stmt symbol
    c151272d1687 kconfig: remove unused sym_get_env_prop() function
    1880861226c1 kconfig: remove P_ENV property type
    e3fd9b5384f3 scripts/dtc: consolidate include path options in Makefile
    4bf6a9af0e91 kconfig: add build-only configurator targets
    f1575595d156 kconfig: error out when seeing recursive dependency
    5e8c5299d315 kconfig: report recursive dependency involving 'imply'
    f498926c47aa kconfig: improve the recursive dependency report
    98a4afbfafd2 kconfig: fix "Can't open ..." in parallel build
    9a9ddcf47831 kconfig: suppress "configuration written to .config" for syncconfig
    87a32e624037 kbuild: pass LDFLAGS to recordmcount.pl
    d503ac531a52 kbuild: rename LDFLAGS to KBUILD_LDFLAGS
    217c3e019675 disable stringop truncation warnings for now
    bc8d2e20a3eb kconfig: remove a spurious self-assignment
    fd65465b7016 kconfig: do not require pkg-config on make {menu,n}config
    5a4630aadb9a ftrace: Build with CPPFLAGS to get -Qunused-arguments

    Note that this adds new cleanup work to do in that we should adapt the
    shared library support we have to what is now upstream.

    Signed-off-by: Tom Rini
    Reviewed-by: Masahiro Yamada

    Tom Rini