All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marek Vasut <marex@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, v3, 15/15] of: clean up OF_CONTROL ifdef conditionals
Date: Fri, 21 Aug 2015 10:16:49 +0200	[thread overview]
Message-ID: <201508211016.49824.marex@denx.de> (raw)
In-Reply-To: <CAK7LNATnw0+i50G2VMVoB_xYb_r95nzxaa=oEZZ8sw=XQ62X+A@mail.gmail.com>

On Friday, August 21, 2015 at 09:55:25 AM, Masahiro Yamada wrote:
> Hi Marek,

Hi Masahiro,

> 2015-08-20 6:15 GMT+09:00 Marek Vasut <marex@denx.de>:
> > On Wednesday, August 19, 2015 at 02:02:18 PM, Tom Rini wrote:
> >> On Wed, Aug 19, 2015 at 06:39:29AM +0200, Marek Vasut wrote:
> >> > On Tuesday, August 18, 2015 at 07:53:23 PM, Tom Rini wrote:
> >> > > On Wed, Aug 12, 2015 at 07:31:55AM +0900, Masahiro Yamada wrote:
> >> > > > We have flipped CONFIG_SPL_DISABLE_OF_CONTROL.  We have cleansing
> >> > > > devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear
> >> > > > 
> >> > > > away the ugly logic in include/fdtdec.h:
> >> > > >  #ifdef CONFIG_OF_CONTROL
> >> > > >  # if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL)
> >> > > >  #  define OF_CONTROL 0
> >> > > >  # else
> >> > > >  #  define OF_CONTROL 1
> >> > > >  # endif
> >> > > >  #else
> >> > > >  # define OF_CONTROL 0
> >> > > >  #endif
> >> > > > 
> >> > > > Now CONFIG_IS_ENABLED(OF_CONTROL) is the substitute.  It refers to
> >> > > > CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for
> >> > > > SPL.
> >> > > > 
> >> > > > Also, we no longer have to cancel CONFIG_OF_CONTROL in
> >> > > > include/config_uncmd_spl.h and scripts/Makefile.spl.
> >> > > > 
> >> > > > Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> >> > > > Reviewed-by: Tom Rini <trini@konsulko.com>
> >> > > > Reviewed-by: Simon Glass <sjg@chromium.org>
> >> > > > Acked-by: Linus Walleij <linus.walleij@linaro.org>
> >> > > 
> >> > > (With a slight change due to samsun PR, but applied cleanly after
> >> > > rename)
> >> > > Applied to u-boot/master, thanks!
> >> > 
> >> > And this just broke just about every SoCFPGA platform (try ie.
> >> > socfpga_cyclone5) ;-) I poked into this a bit and noticed that adding
> >> > #include <linux/kconfig.h> into include/configs/socfpga_common.h fixes
> >> > the issue, but I'd like to check with you if this is the correct way
> >> > of fixing it.
> >> 
> >> Broke it how?
> >> $ ./tools/buildman/buildman socfpga_cyclone5
> >> boards.cfg is up to date. Nothing to do.
> >> Building current source for 1 boards (1 thread, 6 jobs per thread)
> >> 
> >>     1    0    0 /1      socfpga_cyclone5
> > 
> > Looks like I wasn't really accurate and mainline actually managed to
> > avoid this breakage. I only triggered it with a custom patch, which
> > enables env in SPI NOR (see the spit below).
> > 
> > I suspect the problem is caused by tools/envcrc.c, which does include the
> > board config file (which uses this CONFIG_IS_ENABLED()), but does not
> > include a header file which defines it.
> > 
> > The question therefore is, shall we not used CONFIG_IS_ENABLED() in board
> > config files or shall we include linux/kconfig.h in tools/envcrc.c ?
> 
> Our final goal is:
>     We should not use any CONFIG_* in host tools.
>     Actually, some host tools in U-boot depend on the board
> configuration, which is weird.
>   If we could rip off CONFIG_* from them, neither CONFIG_IS_ENABLED()
> nor linux/kconfig.h
>   is needed for host tools.  I believe this is the right thing to do.
>     Any volunteer?
> 
> 
> What I can suggest now is:
>     Do not use CONFIG_IS_ENABLED() in board config headers.

Yup, this is what I'll do :)

> include/config/microblaze-generic.h does this:
> 
> #if !defined(CONFIG_OF_CONTROL) || \
> (defined(CONFIG_SPL_BUILD) && !defined(CONFIG_SPL_OF_CONTROL))
> /* ddr sdram - main memory */
> # define CONFIG_SYS_SDRAM_BASE XILINX_RAM_START
> # define CONFIG_SYS_SDRAM_SIZE XILINX_RAM_SIZE
> #endif
> 
> 
> This is indeed ugly, but works...

I don't think I even need this :)

Best regards,
Marek Vasut

  reply	other threads:[~2015-08-21  8:16 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 22:31 [U-Boot] [PATCH v3 00/15] Add macros to ease our life with independent CONFIGs between U-Boot and SPL Masahiro Yamada
2015-08-11 22:31 ` [U-Boot] [PATCH v3 01/15] kbuild: fixdep: optimize code slightly Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 02/15] kbuild: add a makefile macro useful with per-image config options Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 03/15] linux/kconfig.h: add CPP macros useful for " Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 04/15] spl: move SPL driver entries to driver/Makefile Masahiro Yamada
2015-08-18 17:16   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 05/15] dm: unify obj-$(CONFIG_DM) and obj-$(CONFIG_SPL_DM) entries Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 06/15] clk: rename CONFIG_SPL_CLK_SUPPORT to CONFIG_SPL_CLK Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 07/15] clk: unify obj-$(CONFIG_CLK) and obj-$(CONFIG_SPL_CLK) entries Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 08/15] ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 09/15] ram: unify obj-$(CONFIG_RAM) and obj-$(CONFIG_SPL_RAM) entries Masahiro Yamada
2015-08-18 17:52   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 10/15] led: rename CONFIG_SPL_LED_SUPPORT to CONFIG_SPL_LED Masahiro Yamada
2015-08-18 17:53   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 11/15] led: unify obj-$(CONFIG_LED) and obj-$(CONFIG_SPL_LED) entries Masahiro Yamada
2015-08-18 17:53   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 12/15] dm: drop CONFIG_DM_DEVICE_REMOVE from uncmd list Masahiro Yamada
2015-08-18 17:53   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 13/15] fdtdec: fix OF_CONTROL switch Masahiro Yamada
2015-08-18 17:53   ` [U-Boot] [U-Boot,v3,13/15] " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 14/15] of: flip CONFIG_SPL_DISABLE_OF_CONTROL into CONFIG_SPL_OF_CONTROL Masahiro Yamada
2015-08-11 22:47   ` Marek Vasut
2015-08-11 23:38     ` Masahiro Yamada
2015-08-11 23:47       ` Marek Vasut
2015-08-18 17:53   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 15/15] of: clean up OF_CONTROL ifdef conditionals Masahiro Yamada
2015-08-17  3:09   ` Masahiro Yamada
2015-08-18 17:53   ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-19  4:39     ` Marek Vasut
2015-08-19 12:02       ` Tom Rini
2015-08-19 21:15         ` Marek Vasut
2015-08-21  7:55           ` Masahiro Yamada
2015-08-21  8:16             ` Marek Vasut [this message]
2015-08-21 11:57               ` Michal Simek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201508211016.49824.marex@denx.de \
    --to=marex@denx.de \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.