diff mbox

u-boot: 2015.07 - fix creation of .config

Message ID 1438351475-14447-1-git-send-email-abrodkin@synopsys.com
State Accepted
Commit aacf0ae9e3e28257101a7fb882313d83ebbda232
Headers show

Commit Message

Alexey Brodkin July 31, 2015, 2:04 p.m. UTC
Due to recent changes in U-Boot, see
http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
re-creation of .config from defconfig by "make oldconfig" happened
incorrectly.

Default prompt for target selection was set as No that lead to missing platform
selection by automated scripts like that:
------------------>8------------------
"yes "" | make oldconfig" on defconfig
------------------>8------------------

And that lead to build failure:
------------------>8------------------
$ make
scripts/kconfig/conf --silentoldconfig Kconfig
  CHK     include/config.h
  UPD     include/config.h
  GEN     include/autoconf.mk
In file included from ./include/common.h:18:0:
include/config.h:5:22: fatal error: configs/.h: No such file or directory
 #include <configs/.h>
                      ^
compilation terminated.
scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed
make[1]: *** [include/autoconf.mk] Error 1
------------------>8------------------

This patch reverts mentioned change making possible to build U-Boot
2015.07 in Buildroot.

Note there's a probability that this particular patch won't make its way
in upstream U-Boot and better solution will be found there. But for now
we need to fix U-Boot building in Buildroot anyways.

Hopefully for the next release this patch won't be necessary.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 ...rch-Make-board-selection-choices-optional.patch | 742 +++++++++++++++++++++
 1 file changed, 742 insertions(+)
 create mode 100644 boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch

Comments

Thomas Petazzoni July 31, 2015, 2:18 p.m. UTC | #1
Alexey,

On Fri, 31 Jul 2015 17:04:35 +0300, Alexey Brodkin wrote:
> Due to recent changes in U-Boot, see
> http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
> re-creation of .config from defconfig by "make oldconfig" happened
> incorrectly.

Hum, reverting an upstream patch doesn't really seem like a proper
solution for the problem. Also, it will only fix the problem for those
using exactly U-Boot 2015.07, but not for the majority of users who
have to use a vendor-specific U-Boot version (unfortunately).

So I believe we need to fix this properly, not by reverting an upstream
patch.

Thomas
Alexey Brodkin July 31, 2015, 3:14 p.m. UTC | #2
Hi Thomas,

On Fri, 2015-07-31 at 16:18 +0200, Thomas Petazzoni wrote:
> Alexey,
> 
> On Fri, 31 Jul 2015 17:04:35 +0300, Alexey Brodkin wrote:
> > Due to recent changes in U-Boot, see
> > http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
> > re-creation of .config from defconfig by "make oldconfig" happened
> > incorrectly.
> 
> Hum, reverting an upstream patch doesn't really seem like a proper
> solution for the problem. Also, it will only fix the problem for those
> using exactly U-Boot 2015.07, but not for the majority of users who
> have to use a vendor-specific U-Boot version (unfortunately).
> 
> So I believe we need to fix this properly, not by reverting an upstream
> patch.

To be honest I think that revert will happen upstream as well.
Recently I started discussion on that regard here http://lists.denx.de/pipermail/u-boot/2015-July/221101.html

The point is that problem has to be resolved upstream anyways in that or another way and I'll make sure
it happens sooner [I hope] or later. Because you know we prefer to stick to upstream and so we do care upstream
projects work for us.

And if [I hope] discussed problem is gone before the next release of Buildroot do we really care
how the problem is solved in Buildroot for existing release?

Note that problem I'm attempting to fix doesn't really affect U-Boot compilation or execution.
This is only related to its buildsystem. As a developers of U-Boot we [even though it was not I in person
behind that patch but I saw this and didn't recognize upcoming problem with oldconfig] wanted to make
life of U-Boot users a bit easier [see commit message to the original commit] but that attempt
caused problems for those who builds U-Boot in non-standard way [I mean not via "make xxx_defconfig && make"].

Hopefully that comment makes sense.

If not do you think there's a better way to fix a failure on attempt to build vanilla U-Boot v2015.07?

BTW speaking about vendor-specific U-Boot versions I think it's now mostly our legacy now.
If I'm not mistaken lots of boards may use vanilla U-Boot. For example Cubieboards and Wandboards
(I own these boards and tried vanilla U-boot on them) and many more ARM boards supported in Fedora
for ARM like Pandaboard, Olinuxinos etc. So it's just a matter of maintainers of those boards
(if we have them at all) to try latest vanilla U-Boot and update defconfigs then if all works.

-Alexey
Alexey Brodkin Aug. 3, 2015, 11:16 a.m. UTC | #3
Hi Thomas,

On Fri, 2015-07-31 at 18:14 +0300, Alexey Brodkin wrote:
> Hi Thomas,
> 
> On Fri, 2015-07-31 at 16:18 +0200, Thomas Petazzoni wrote:
> > Alexey,
> > 
> > On Fri, 31 Jul 2015 17:04:35 +0300, Alexey Brodkin wrote:
> > > Due to recent changes in U-Boot, see
> > > http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
> > > re-creation of .config from defconfig by "make oldconfig" happened
> > > incorrectly.
> > 
> > Hum, reverting an upstream patch doesn't really seem like a proper
> > solution for the problem. Also, it will only fix the problem for those
> > using exactly U-Boot 2015.07, but not for the majority of users who
> > have to use a vendor-specific U-Boot version (unfortunately).
> > 
> > So I believe we need to fix this properly, not by reverting an upstream
> > patch.
> 
> To be honest I think that revert will happen upstream as well.
> Recently I started discussion on that regard here http://lists.denx.de/pipermail/u-boot/2015-July/221101.html
> 
> The point is that problem has to be resolved upstream anyways in that or another way and I'll make sure
> it happens sooner [I hope] or later. Because you know we prefer to stick to upstream and so we do care upstream
> projects work for us.
> 
> And if [I hope] discussed problem is gone before the next release of Buildroot do we really care
> how the problem is solved in Buildroot for existing release?
> 
> Note that problem I'm attempting to fix doesn't really affect U-Boot compilation or execution.
> This is only related to its buildsystem. As a developers of U-Boot we [even though it was not I in person
> behind that patch but I saw this and didn't recognize upcoming problem with oldconfig] wanted to make
> life of U-Boot users a bit easier [see commit message to the original commit] but that attempt
> caused problems for those who builds U-Boot in non-standard way [I mean not via "make xxx_defconfig && make"].
> 
> Hopefully that comment makes sense.
> 
> If not do you think there's a better way to fix a failure on attempt to build vanilla U-Boot v2015.07?
> 
> BTW speaking about vendor-specific U-Boot versions I think it's now mostly our legacy now.
> If I'm not mistaken lots of boards may use vanilla U-Boot. For example Cubieboards and Wandboards
> (I own these boards and tried vanilla U-boot on them) and many more ARM boards supported in Fedora
> for ARM like Pandaboard, Olinuxinos etc. So it's just a matter of maintainers of those boards
> (if we have them at all) to try latest vanilla U-Boot and update defconfigs then if all works.

Looks like resolution in upstream U-Boot will be with specification of default "platform" for each architecture.
See http://lists.denx.de/pipermail/u-boot/2015-August/221418.html, 
http://lists.denx.de/pipermail/u-boot/2015-August/221417.html

Still this will take quite some time to update all affected 54 Kconfigs.

So probably proposed patch with revert in Buildroot makes perfect sense as we only build U-Boot but not
adding new "platforms" etc i.e. proposed patch IMHO won't hurt.

-Alexey
Alexey Brodkin Aug. 11, 2015, 12:20 p.m. UTC | #4
Hi Thomas,

On Mon, 2015-08-03 at 14:15 +0300, Alexey Brodkin wrote:
> Hi Thomas,
> 
> On Fri, 2015-07-31 at 18:14 +0300, Alexey Brodkin wrote:
> > Hi Thomas,
> > 
> > On Fri, 2015-07-31 at 16:18 +0200, Thomas Petazzoni wrote:
> > > Alexey,
> > > 
> > > On Fri, 31 Jul 2015 17:04:35 +0300, Alexey Brodkin wrote:
> > > > Due to recent changes in U-Boot, see
> > > > http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
> > > > re-creation of .config from defconfig by "make oldconfig" happened
> > > > incorrectly.
> > > 
> > > Hum, reverting an upstream patch doesn't really seem like a proper
> > > solution for the problem. Also, it will only fix the problem for those
> > > using exactly U-Boot 2015.07, but not for the majority of users who
> > > have to use a vendor-specific U-Boot version (unfortunately).
> > > 
> > > So I believe we need to fix this properly, not by reverting an upstream
> > > patch.
> > 
> > To be honest I think that revert will happen upstream as well.
> > Recently I started discussion on that regard here http://lists.denx.de/pipermail/u-boot/2015-July/221101.html
> > 
> > The point is that problem has to be resolved upstream anyways in that or another way and I'll make sure
> > it happens sooner [I hope] or later. Because you know we prefer to stick to upstream and so we do care upstream
> > projects work for us.
> > 
> > And if [I hope] discussed problem is gone before the next release of Buildroot do we really care
> > how the problem is solved in Buildroot for existing release?
> > 
> > Note that problem I'm attempting to fix doesn't really affect U-Boot compilation or execution.
> > This is only related to its buildsystem. As a developers of U-Boot we [even though it was not I in person
> > behind that patch but I saw this and didn't recognize upcoming problem with oldconfig] wanted to make
> > life of U-Boot users a bit easier [see commit message to the original commit] but that attempt
> > caused problems for those who builds U-Boot in non-standard way [I mean not via "make xxx_defconfig && make"].
> > 
> > Hopefully that comment makes sense.
> > 
> > If not do you think there's a better way to fix a failure on attempt to build vanilla U-Boot v2015.07?
> > 
> > BTW speaking about vendor-specific U-Boot versions I think it's now mostly our legacy now.
> > If I'm not mistaken lots of boards may use vanilla U-Boot. For example Cubieboards and Wandboards
> > (I own these boards and tried vanilla U-boot on them) and many more ARM boards supported in Fedora
> > for ARM like Pandaboard, Olinuxinos etc. So it's just a matter of maintainers of those boards
> > (if we have them at all) to try latest vanilla U-Boot and update defconfigs then if all works.
> 
> Looks like resolution in upstream U-Boot will be with specification of default "platform" for each architecture.
> See http://lists.denx.de/pipermail/u-boot/2015-August/221418.html, 
> http://lists.denx.de/pipermail/u-boot/2015-August/221417.html
> 
> Still this will take quite some time to update all affected 54 Kconfigs.
> 
> So probably proposed patch with revert in Buildroot makes perfect sense as we only build U-Boot but not
> adding new "platforms" etc i.e. proposed patch IMHO won't hurt.
> 
> -Alexey

Any chance for this one to be applied?
Note without this change or anything similar U-Boot from snsp_axs10x_defconfig fails to config.

-Alexey
Thomas Petazzoni Aug. 12, 2015, 8:23 a.m. UTC | #5
Dear Alexey Brodkin,

On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:

> Any chance for this one to be applied?
> Note without this change or anything similar U-Boot from
> snsp_axs10x_defconfig fails to config.

I haven't had the time to look into this in detail. It would be great
if Yann, or Jörg could have a look. I remain unhappy with solving such
a problem by using a patch against U-Boot 2015.07, because it means
anyone specifying a slightly different U-Boot version (but based on
2015.07) will still have the problem.

Best regards,

Thomas
Jörg Krause Aug. 16, 2015, 9:43 p.m. UTC | #6
Hi Thomas, Alexey,

On Mi, 2015-08-12 at 10:23 +0200, Thomas Petazzoni wrote:
> Dear Alexey Brodkin,
> 
> On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> 
> > Any chance for this one to be applied?
> > Note without this change or anything similar U-Boot from
> > snsp_axs10x_defconfig fails to config.
> 
> I haven't had the time to look into this in detail. It would be great
> if Yann, or Jörg could have a look. I remain unhappy with solving
> such
> a problem by using a patch against U-Boot 2015.07, because it means
> anyone specifying a slightly different U-Boot version (but based on
> 2015.07) will still have the problem.

It looks like upstream [1] does not revert this patch but fixes the
problem with this patch [2]. Alexey, does this patch solves your
problem?

Best regards
Jörg Krause


[1]
https://www.mail-archive.com/u-boot@lists.denx.de/msg179681.html 

[2]
http://patchwork.ozlabs.org/patch/502793/
Alexey Brodkin Aug. 17, 2015, 6:37 a.m. UTC | #7
Hi Jorg,

On Sun, 2015-08-16 at 23:43 +0200, Jörg Krause wrote:
> Hi Thomas, Alexey,
> 
> On Mi, 2015-08-12 at 10:23 +0200, Thomas Petazzoni wrote:
> > Dear Alexey Brodkin,
> > 
> > On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> > 
> > > Any chance for this one to be applied?
> > > Note without this change or anything similar U-Boot from
> > > snsp_axs10x_defconfig fails to config.
> > 
> > I haven't had the time to look into this in detail. It would be great
> > if Yann, or Jörg could have a look. I remain unhappy with solving
> > such
> > a problem by using a patch against U-Boot 2015.07, because it means
> > anyone specifying a slightly different U-Boot version (but based on
> > 2015.07) will still have the problem.
> 
> It looks like upstream [1] does not revert this patch but fixes the
> problem with this patch [2]. Alexey, does this patch solves your
> problem?
> 
> Best regards
> Jörg Krause
> 
> 
> [1]
> https://www.mail-archive.com/u-boot@lists.denx.de/msg179681.html 
> 
> [2]
> http://patchwork.ozlabs.org/patch/502793/

The thing is [2] solves problem only for ARM, while other arches are still
affected. And that means ARC is not cured by that patch.

Indeed proper fix is to patch all arches in the same way,
i.e. select default option for each and every architecture in U-Boot.

But speaking about Buildroot that approach has at least 2 downsides:
 1) Not all arches are fixed upstream so in Buildroot we'll have patches
    that are not there in upstream yet.

 2) We'll have quite a few patches in Buildroot for U-boot each fixing
    a separate arch.

If (1) and (2) are OK for Buildroot I'll try to come up with those patches ASAP.

My initial approach was IMHO the cleanest and simplest. But if it doesn't work
we'll do another fix :)

-Alexey
Yann E. MORIN Aug. 17, 2015, 9:31 a.m. UTC | #8
Alexey, All,

On 2015-08-17 06:37 +0000, Alexey Brodkin spake thusly:
> On Sun, 2015-08-16 at 23:43 +0200, Jörg Krause wrote:
> > Hi Thomas, Alexey,
> > 
> > On Mi, 2015-08-12 at 10:23 +0200, Thomas Petazzoni wrote:
> > > Dear Alexey Brodkin,
> > > 
> > > On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> > > 
> > > > Any chance for this one to be applied?
> > > > Note without this change or anything similar U-Boot from
> > > > snsp_axs10x_defconfig fails to config.
> > > 
> > > I haven't had the time to look into this in detail. It would be great
> > > if Yann, or Jörg could have a look. I remain unhappy with solving
> > > such
> > > a problem by using a patch against U-Boot 2015.07, because it means
> > > anyone specifying a slightly different U-Boot version (but based on
> > > 2015.07) will still have the problem.
> > 
> > It looks like upstream [1] does not revert this patch but fixes the
> > problem with this patch [2]. Alexey, does this patch solves your
> > problem?
> > 
> > Best regards
> > Jörg Krause
> > 
> > 
> > [1]
> > https://www.mail-archive.com/u-boot@lists.denx.de/msg179681.html 
> > 
> > [2]
> > http://patchwork.ozlabs.org/patch/502793/
> 
> The thing is [2] solves problem only for ARM, while other arches are still
> affected. And that means ARC is not cured by that patch.
> 
> Indeed proper fix is to patch all arches in the same way,
> i.e. select default option for each and every architecture in U-Boot.
> 
> But speaking about Buildroot that approach has at least 2 downsides:
>  1) Not all arches are fixed upstream so in Buildroot we'll have patches
>     that are not there in upstream yet.
> 
>  2) We'll have quite a few patches in Buildroot for U-boot each fixing
>     a separate arch.
> 
> If (1) and (2) are OK for Buildroot I'll try to come up with those patches ASAP.
> 
> My initial approach was IMHO the cleanest and simplest. But if it doesn't work
> we'll do another fix :)

OK, chiming in...

I guess removing the "optional" keywork would be the simplest solution,
indeed.

But then I'm afraid that defconfig files bundled with U-Boot will no
longer work. If they still work, then I'm OK for having a local patch
that reverts upstream's (until upstream fixes all of their archs).

Regards,
Yann E. MORIN.
Alexey Brodkin Aug. 17, 2015, 9:58 a.m. UTC | #9
Hi Yann,

On Mon, 2015-08-17 at 11:31 +0200, Yann E. MORIN wrote:
> Alexey, All,
> 
> On 2015-08-17 06:37 +0000, Alexey Brodkin spake thusly:
> > On Sun, 2015-08-16 at 23:43 +0200, Jörg Krause wrote:
> > > Hi Thomas, Alexey,
> > > 
> > > On Mi, 2015-08-12 at 10:23 +0200, Thomas Petazzoni wrote:
> > > > Dear Alexey Brodkin,
> > > > 
> > > > On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> > > > 
> > > > > Any chance for this one to be applied?
> > > > > Note without this change or anything similar U-Boot from
> > > > > snsp_axs10x_defconfig fails to config.
> > > > 
> > > > I haven't had the time to look into this in detail. It would be great
> > > > if Yann, or Jörg could have a look. I remain unhappy with solving
> > > > such
> > > > a problem by using a patch against U-Boot 2015.07, because it means
> > > > anyone specifying a slightly different U-Boot version (but based on
> > > > 2015.07) will still have the problem.
> > > 
> > > It looks like upstream [1] does not revert this patch but fixes the
> > > problem with this patch [2]. Alexey, does this patch solves your
> > > problem?
> > > 
> > > Best regards
> > > Jörg Krause
> > > 
> > > 
> > > [1]
> > > https://www.mail-archive.com/u-boot@lists.denx.de/msg179681.html 
> > > 
> > > [2]
> > > http://patchwork.ozlabs.org/patch/502793/
> > 
> > The thing is [2] solves problem only for ARM, while other arches are still
> > affected. And that means ARC is not cured by that patch.
> > 
> > Indeed proper fix is to patch all arches in the same way,
> > i.e. select default option for each and every architecture in U-Boot.
> > 
> > But speaking about Buildroot that approach has at least 2 downsides:
> >  1) Not all arches are fixed upstream so in Buildroot we'll have patches
> >     that are not there in upstream yet.
> > 
> >  2) We'll have quite a few patches in Buildroot for U-boot each fixing
> >     a separate arch.
> > 
> > If (1) and (2) are OK for Buildroot I'll try to come up with those patches ASAP.
> > 
> > My initial approach was IMHO the cleanest and simplest. But if it doesn't work
> > we'll do another fix :)
> 
> OK, chiming in...
> 
> I guess removing the "optional" keywork would be the simplest solution,
> indeed.
> 
> But then I'm afraid that defconfig files bundled with U-Boot will no
> longer work. If they still work, then I'm OK for having a local patch
> that reverts upstream's (until upstream fixes all of their archs).

Ok that's probably another mystery of Kconfig but defconfigs bundled with
U-Boot do work. They worked both before reverted patch and after.

What doesn't work is "make oldconfig".
See in U-Boot (let's forget about Buildroot for a minute) we usually build stuff
with defconfigs this way "make xxx_defconfig". And it worked and it works still.

But in Buildroot what we do we take "xxx_deconfig", copy it from "configs" folder
to the root of U-Boot build folder as .config, do changes we need and then to get
correctly expanded .config for building we finally do "make oldconfig".

And that's where the problem happens. Kconfig just skips items marked as optional
and so platforms are not set properly and build fails.

In other words I would blame Kconfig and I even spent some time trying to
figure out if there's a way to fix Kconfig simply. But to no avail. And so
I decided to work-around Kconfig issue.

Hope that comment makes sense.

-Alexey
Arnout Vandecappelle Aug. 22, 2015, 10:57 p.m. UTC | #10
On 08/12/2015 10:23 AM, Thomas Petazzoni wrote:
> Dear Alexey Brodkin,
> 
> On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> 
>> Any chance for this one to be applied?
>> Note without this change or anything similar U-Boot from
>> snsp_axs10x_defconfig fails to config.
> 
> I haven't had the time to look into this in detail. It would be great
> if Yann, or Jörg could have a look. I remain unhappy with solving such
> a problem by using a patch against U-Boot 2015.07, because it means
> anyone specifying a slightly different U-Boot version (but based on
> 2015.07) will still have the problem.

 I assume the problem will be fixed soon upstream, so the chance that some chip
vendor releases a U-Boot based on 2015.07 is not that high. And if someone is
making their own modified git copy of 2015.07, they'll notice _very_ quickly
that it fails and with any luck they'll notice the patch in buildroot.

 Not fixing the problem at all in 2015.08 is obviously worse.

 We could do a sed independent of the U-Boot version, but that runs the risk of
breaking some other random non-2015.07 version completely.

 The problem is in fact in Kconfig (as noted in Tom Rini's comment in
http://patchwork.ozlabs.org/patch/502793/ ) so a fundamental solution is not easy.

 Regards,
 Arnout
Alexey Brodkin Aug. 28, 2015, 9:36 a.m. UTC | #11
Hi Thomas,

On Sun, 2015-08-23 at 00:57 +0200, Arnout Vandecappelle wrote:
> On 08/12/2015 10:23 AM, Thomas Petazzoni wrote:
> > Dear Alexey Brodkin,
> > 
> > On Tue, 11 Aug 2015 12:20:01 +0000, Alexey Brodkin wrote:
> > 
> > > Any chance for this one to be applied?
> > > Note without this change or anything similar U-Boot from
> > > snsp_axs10x_defconfig fails to config.
> > 
> > I haven't had the time to look into this in detail. It would be great
> > if Yann, or Jörg could have a look. I remain unhappy with solving such
> > a problem by using a patch against U-Boot 2015.07, because it means
> > anyone specifying a slightly different U-Boot version (but based on
> > 2015.07) will still have the problem.
> 
>  I assume the problem will be fixed soon upstream, so the chance that some chip
> vendor releases a U-Boot based on 2015.07 is not that high. And if someone is
> making their own modified git copy of 2015.07, they'll notice _very_ quickly
> that it fails and with any luck they'll notice the patch in buildroot.
> 
>  Not fixing the problem at all in 2015.08 is obviously worse.
> 
>  We could do a sed independent of the U-Boot version, but that runs the risk of
> breaking some other random non-2015.07 version completely.
> 
>  The problem is in fact in Kconfig (as noted in Tom Rini's comment in
> http://patchwork.ozlabs.org/patch/502793/ ) so a fundamental solution is not easy.

So we're well beyond rc2 and release will inevitably happen from day to day still
this problem is not resolved. Anything else we're going to consider here?

-Alexey
Peter Korsgaard Aug. 30, 2015, 8:41 p.m. UTC | #12
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes:

Hi,

>> I haven't had the time to look into this in detail. It would be great
 >> if Yann, or Jörg could have a look. I remain unhappy with solving such
 >> a problem by using a patch against U-Boot 2015.07, because it means
 >> anyone specifying a slightly different U-Boot version (but based on
 >> 2015.07) will still have the problem.

 >  I assume the problem will be fixed soon upstream, so the chance that some chip
 > vendor releases a U-Boot based on 2015.07 is not that high. And if someone is
 > making their own modified git copy of 2015.07, they'll notice _very_ quickly
 > that it fails and with any luck they'll notice the patch in buildroot.

 >  Not fixing the problem at all in 2015.08 is obviously worse.

Agreed.

 >  We could do a sed independent of the U-Boot version, but that runs the risk of
 > breaking some other random non-2015.07 version completely.

Yeah, that sounds a bit scary.
Peter Korsgaard Aug. 30, 2015, 8:51 p.m. UTC | #13
>>>>> "Alexey" == Alexey Brodkin <Alexey.Brodkin@synopsys.com> writes:

 > Due to recent changes in U-Boot, see
 > http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
 > re-creation of .config from defconfig by "make oldconfig" happened
 > incorrectly.

 > Default prompt for target selection was set as No that lead to missing platform
 > selection by automated scripts like that:
 ------------------> 8------------------
 > "yes "" | make oldconfig" on defconfig
 ------------------> 8------------------

 > And that lead to build failure:
 ------------------> 8------------------
 > $ make
 > scripts/kconfig/conf --silentoldconfig Kconfig
 >   CHK     include/config.h
 >   UPD     include/config.h
 >   GEN     include/autoconf.mk
 > In file included from ./include/common.h:18:0:
 > include/config.h:5:22: fatal error: configs/.h: No such file or directory
 >  #include <configs/.h>
 >                       ^
 > compilation terminated.
 > scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed
 > make[1]: *** [include/autoconf.mk] Error 1
 ------------------> 8------------------

 > This patch reverts mentioned change making possible to build U-Boot
 > 2015.07 in Buildroot.

 > Note there's a probability that this particular patch won't make its way
 > in upstream U-Boot and better solution will be found there. But for now
 > we need to fix U-Boot building in Buildroot anyways.

 > Hopefully for the next release this patch won't be necessary.

 > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
 > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed, thanks.

While doing a test build I noticed that u-boot nowadays needs dtc:

  CHK     include/generated/timestamp_autogenerated.h
  UPD     include/generated/timestamp_autogenerated.h
./scripts/dtc-version.sh: line 17: dtc: command not found
./scripts/dtc-version.sh: line 18: dtc: command not found
*** Your dtc is too old, please upgrade to dtc 1.4 or newer
Makefile:1297: recipe for target 'checkdtc' failed
make[1]: *** [checkdtc] Error 1
make[1]: *** Waiting for unfinished jobs....
  UPD     include/config/uboot.release
make[1]: *** wait: No child processes.  Stop.
package/pkg-generic.mk:156: recipe for target '/home/peko/source/buildroot/output/build/uboot-2015.07/.stamp_built' failed

So perhaps we should consider adding host support to our dtc package and add
host-dtc to the uboot dependencies?
Alexey Brodkin Aug. 31, 2015, 4:43 p.m. UTC | #14
Hi Peter,

On Sun, 2015-08-30 at 22:51 +0200, Peter Korsgaard wrote:
> > > > > > "Alexey" == Alexey Brodkin <Alexey.Brodkin@synopsys.com> writes:
> 
>  > Due to recent changes in U-Boot, see
>  > http://git.denx.de/?p=u-boot.git;a=commit;h=a26cd04920dc069fd6e91abb785426cf6c29f45f
>  > re-creation of .config from defconfig by "make oldconfig" happened
>  > incorrectly.
> 
>  > Default prompt for target selection was set as No that lead to missing platform
>  > selection by automated scripts like that:
>  ------------------> 8------------------
>  > "yes "" | make oldconfig" on defconfig
>  ------------------> 8------------------
> 
>  > And that lead to build failure:
>  ------------------> 8------------------
>  > $ make
>  > scripts/kconfig/conf --silentoldconfig Kconfig
>  >   CHK     include/config.h
>  >   UPD     include/config.h
>  >   GEN     include/autoconf.mk
>  > In file included from ./include/common.h:18:0:
>  > include/config.h:5:22: fatal error: configs/.h: No such file or directory
>  >  #include <configs/.h>
>  >                       ^
>  > compilation terminated.
>  > scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed
>  > make[1]: *** [include/autoconf.mk] Error 1
>  ------------------> 8------------------
> 
>  > This patch reverts mentioned change making possible to build U-Boot
>  > 2015.07 in Buildroot.
> 
>  > Note there's a probability that this particular patch won't make its way
>  > in upstream U-Boot and better solution will be found there. But for now
>  > we need to fix U-Boot building in Buildroot anyways.
> 
>  > Hopefully for the next release this patch won't be necessary.
> 
>  > Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
>  > Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> 
> Committed, thanks.
> 
> While doing a test build I noticed that u-boot nowadays needs dtc:
> 
>   CHK     include/generated/timestamp_autogenerated.h
>   UPD     include/generated/timestamp_autogenerated.h
> ./scripts/dtc-version.sh: line 17: dtc: command not found
> ./scripts/dtc-version.sh: line 18: dtc: command not found
> *** Your dtc is too old, please upgrade to dtc 1.4 or newer
> Makefile:1297: recipe for target 'checkdtc' failed
> make[1]: *** [checkdtc] Error 1
> make[1]: *** Waiting for unfinished jobs....
>   UPD     include/config/uboot.release
> make[1]: *** wait: No child processes.  Stop.
> package/pkg-generic.mk:156: recipe for target '/home/peko/source/buildroot/output/build/uboot-2015.07/.stamp_built'
> failed
> 
> So perhaps we should consider adding host support to our dtc package and add
> host-dtc to the uboot dependencies?

Indeed that will help on older machines.
I haven't seen that failure just because I'm on latest Fedora so DTC is pretty recent.

I'll take a look at how to enable host DTC.

-Alexey
diff mbox

Patch

diff --git a/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch b/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch
new file mode 100644
index 0000000..8b814f2
--- /dev/null
+++ b/boot/uboot/2015.07/0001-Revert-arch-Make-board-selection-choices-optional.patch
@@ -0,0 +1,742 @@ 
+From ee11fed43e2bd029f71af1e72ab9bb5652f5fc54 Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Wed, 29 Jul 2015 20:32:59 +0300
+Subject: [PATCH] Revert "arch: Make board selection choices optional"
+
+This reverts commit a26cd04920dc069fd6e91abb785426cf6c29f45f.
+
+Reverted commit caused an issue with "make oldconfig" - default prompt
+for target selection was set as No that lead to missing platform
+selection by automated scripts like that:
+------------------>8------------------
+"yes "" | make oldconfig" on defconfig
+------------------>8------------------
+
+And that lead to build failure:
+------------------>8------------------
+$ make
+scripts/kconfig/conf --silentoldconfig Kconfig
+  CHK     include/config.h
+  UPD     include/config.h
+  GEN     include/autoconf.mk
+In file included from ./include/common.h:18:0:
+include/config.h:5:22: fatal error: configs/.h: No such file or directory
+ #include <configs/.h>
+                      ^
+compilation terminated.
+scripts/Makefile.autoconf:72: recipe for target 'include/autoconf.mk' failed
+make[1]: *** [include/autoconf.mk] Error 1
+------------------>8------------------
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ arch/arc/Kconfig                     | 1 -
+ arch/arm/Kconfig                     | 1 -
+ arch/arm/cpu/armv7/exynos/Kconfig    | 1 -
+ arch/arm/cpu/armv7/mx5/Kconfig       | 1 -
+ arch/arm/cpu/armv7/mx6/Kconfig       | 1 -
+ arch/arm/cpu/armv7/omap3/Kconfig     | 1 -
+ arch/arm/cpu/armv7/omap4/Kconfig     | 1 -
+ arch/arm/cpu/armv7/omap5/Kconfig     | 1 -
+ arch/arm/cpu/armv7/rmobile/Kconfig   | 1 -
+ arch/arm/cpu/armv7/s5pc1xx/Kconfig   | 1 -
+ arch/arm/mach-at91/Kconfig           | 1 -
+ arch/arm/mach-bcm283x/Kconfig        | 1 -
+ arch/arm/mach-davinci/Kconfig        | 1 -
+ arch/arm/mach-integrator/Kconfig     | 2 --
+ arch/arm/mach-keystone/Kconfig       | 1 -
+ arch/arm/mach-kirkwood/Kconfig       | 1 -
+ arch/arm/mach-nomadik/Kconfig        | 1 -
+ arch/arm/mach-orion5x/Kconfig        | 1 -
+ arch/arm/mach-socfpga/Kconfig        | 1 -
+ arch/arm/mach-tegra/Kconfig          | 1 -
+ arch/arm/mach-tegra/tegra114/Kconfig | 1 -
+ arch/arm/mach-tegra/tegra124/Kconfig | 1 -
+ arch/arm/mach-tegra/tegra20/Kconfig  | 1 -
+ arch/arm/mach-tegra/tegra30/Kconfig  | 1 -
+ arch/arm/mach-zynq/Kconfig           | 1 -
+ arch/avr32/Kconfig                   | 1 -
+ arch/blackfin/Kconfig                | 1 -
+ arch/m68k/Kconfig                    | 1 -
+ arch/microblaze/Kconfig              | 1 -
+ arch/mips/Kconfig                    | 1 -
+ arch/nds32/Kconfig                   | 1 -
+ arch/nios2/Kconfig                   | 1 -
+ arch/openrisc/Kconfig                | 1 -
+ arch/powerpc/Kconfig                 | 1 -
+ arch/powerpc/cpu/mpc512x/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc5xx/Kconfig      | 1 -
+ arch/powerpc/cpu/mpc5xxx/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc8260/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc83xx/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc85xx/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc86xx/Kconfig     | 1 -
+ arch/powerpc/cpu/mpc8xx/Kconfig      | 1 -
+ arch/powerpc/cpu/ppc4xx/Kconfig      | 1 -
+ arch/sh/Kconfig                      | 1 -
+ arch/sparc/Kconfig                   | 1 -
+ board/amcc/canyonlands/Kconfig       | 1 -
+ board/coreboot/Kconfig               | 1 -
+ board/dbau1x00/Kconfig               | 1 -
+ board/google/Kconfig                 | 1 -
+ board/intel/Kconfig                  | 1 -
+ board/micronas/vct/Kconfig           | 1 -
+ board/seco/Kconfig                   | 2 --
+ board/sunxi/Kconfig                  | 1 -
+ 53 files changed, 55 deletions(-)
+
+diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
+index 925e312..640cda8 100644
+--- a/arch/arc/Kconfig
++++ b/arch/arc/Kconfig
+@@ -129,7 +129,6 @@ config ARC_CACHE_LINE_SHIFT
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_TB100
+ 	bool "Support tb100"
+diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
+index 9908b43..8eeb46c 100644
+--- a/arch/arm/Kconfig
++++ b/arch/arm/Kconfig
+@@ -64,7 +64,6 @@ config SEMIHOSTING
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config ARCH_AT91
+ 	bool "Atmel AT91"
+diff --git a/arch/arm/cpu/armv7/exynos/Kconfig b/arch/arm/cpu/armv7/exynos/Kconfig
+index 4a7d82f..f2fe748 100644
+--- a/arch/arm/cpu/armv7/exynos/Kconfig
++++ b/arch/arm/cpu/armv7/exynos/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_EXYNOS
+ 
+ choice
+ 	prompt "EXYNOS board select"
+-	optional
+ 
+ config TARGET_SMDKV310
+ 	select SUPPORT_SPL
+diff --git a/arch/arm/cpu/armv7/mx5/Kconfig b/arch/arm/cpu/armv7/mx5/Kconfig
+index 9f250c6..2d6c0ce 100644
+--- a/arch/arm/cpu/armv7/mx5/Kconfig
++++ b/arch/arm/cpu/armv7/mx5/Kconfig
+@@ -12,7 +12,6 @@ config MX53
+ 
+ choice
+ 	prompt "MX5 board select"
+-	optional
+ 
+ config TARGET_USBARMORY
+ 	bool "Support USB armory"
+diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig
+index 10908c4..662596f 100644
+--- a/arch/arm/cpu/armv7/mx6/Kconfig
++++ b/arch/arm/cpu/armv7/mx6/Kconfig
+@@ -27,7 +27,6 @@ config MX6SX
+ 
+ choice
+ 	prompt "MX6 board select"
+-	optional
+ 
+ config TARGET_SECOMX6
+ 	bool "Support secomx6 boards"
+diff --git a/arch/arm/cpu/armv7/omap3/Kconfig b/arch/arm/cpu/armv7/omap3/Kconfig
+index b32a6b0..cc82c50 100644
+--- a/arch/arm/cpu/armv7/omap3/Kconfig
++++ b/arch/arm/cpu/armv7/omap3/Kconfig
+@@ -2,7 +2,6 @@ if OMAP34XX
+ 
+ choice
+ 	prompt "OMAP3 board select"
+-	optional
+ 
+ config TARGET_AM3517_EVM
+ 	bool "AM3517 EVM"
+diff --git a/arch/arm/cpu/armv7/omap4/Kconfig b/arch/arm/cpu/armv7/omap4/Kconfig
+index df27ea1..eccf897 100644
+--- a/arch/arm/cpu/armv7/omap4/Kconfig
++++ b/arch/arm/cpu/armv7/omap4/Kconfig
+@@ -2,7 +2,6 @@ if OMAP44XX
+ 
+ choice
+ 	prompt "OMAP4 board select"
+-	optional
+ 
+ config TARGET_DUOVERO
+ 	bool "OMAP4430 Gumstix Duovero"
+diff --git a/arch/arm/cpu/armv7/omap5/Kconfig b/arch/arm/cpu/armv7/omap5/Kconfig
+index 20c3bd9..aca862d 100644
+--- a/arch/arm/cpu/armv7/omap5/Kconfig
++++ b/arch/arm/cpu/armv7/omap5/Kconfig
+@@ -2,7 +2,6 @@ if OMAP54XX
+ 
+ choice
+ 	prompt "OMAP5 board select"
+-	optional
+ 
+ config TARGET_CM_T54
+ 	bool "CompuLab CM-T54"
+diff --git a/arch/arm/cpu/armv7/rmobile/Kconfig b/arch/arm/cpu/armv7/rmobile/Kconfig
+index ef56286..638b63d 100644
+--- a/arch/arm/cpu/armv7/rmobile/Kconfig
++++ b/arch/arm/cpu/armv7/rmobile/Kconfig
+@@ -2,7 +2,6 @@ if RMOBILE
+ 
+ choice
+ 	prompt "Renesus ARM SoCs board select"
+-	optional
+ 
+ config TARGET_ARMADILLO_800EVA
+ 	bool "armadillo 800 eva board"
+diff --git a/arch/arm/cpu/armv7/s5pc1xx/Kconfig b/arch/arm/cpu/armv7/s5pc1xx/Kconfig
+index 792ef59..65cc9eb 100644
+--- a/arch/arm/cpu/armv7/s5pc1xx/Kconfig
++++ b/arch/arm/cpu/armv7/s5pc1xx/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_S5PC1XX
+ 
+ choice
+ 	prompt "S5PC1XX board select"
+-	optional
+ 
+ config TARGET_S5P_GONI
+ 	bool "S5P Goni board"
+diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
+index bbf4228..5dc2cb2 100644
+--- a/arch/arm/mach-at91/Kconfig
++++ b/arch/arm/mach-at91/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_AT91
+ 
+ choice
+ 	prompt "Atmel AT91 board select"
+-	optional
+ 
+ config TARGET_AT91RM9200EK
+ 	bool "Atmel AT91RM9200 evaluation kit"
+diff --git a/arch/arm/mach-bcm283x/Kconfig b/arch/arm/mach-bcm283x/Kconfig
+index 2315a13..d40f505 100644
+--- a/arch/arm/mach-bcm283x/Kconfig
++++ b/arch/arm/mach-bcm283x/Kconfig
+@@ -3,7 +3,6 @@ menu "Broadcom BCM283X family"
+ 
+ choice
+ 	prompt "Broadcom BCM283X board select"
+-	optional
+ 
+ config TARGET_RPI
+ 	bool "Raspberry Pi"
+diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
+index e6cb390..3ef55d3 100644
+--- a/arch/arm/mach-davinci/Kconfig
++++ b/arch/arm/mach-davinci/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_DAVINCI
+ 
+ choice
+ 	prompt "DaVinci board select"
+-	optional
+ 
+ config TARGET_ENBW_CMC
+ 	bool "EnBW CMC board"
+diff --git a/arch/arm/mach-integrator/Kconfig b/arch/arm/mach-integrator/Kconfig
+index c54d69d..8ffc544 100644
+--- a/arch/arm/mach-integrator/Kconfig
++++ b/arch/arm/mach-integrator/Kconfig
+@@ -3,7 +3,6 @@ menu "Integrator Options"
+ 
+ choice
+ 	prompt "Integrator platform select"
+-	optional
+ 
+ config ARCH_INTEGRATOR_AP
+ 	bool "Support Integrator/AP platform"
+@@ -19,7 +18,6 @@ config ARCH_CINTEGRATOR
+ 
+ choice
+ 	prompt "Integrator core module select"
+-	optional
+ 
+ config CM720T
+ 	bool "Core Module for ARM720T"
+diff --git a/arch/arm/mach-keystone/Kconfig b/arch/arm/mach-keystone/Kconfig
+index 67f1a33..134ae87 100644
+--- a/arch/arm/mach-keystone/Kconfig
++++ b/arch/arm/mach-keystone/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_KEYSTONE
+ 
+ choice
+ 	prompt "TI Keystone board select"
+-	optional
+ 
+ config TARGET_K2HK_EVM
+ 	bool "TI Keystone 2 Kepler/Hawking EVM"
+diff --git a/arch/arm/mach-kirkwood/Kconfig b/arch/arm/mach-kirkwood/Kconfig
+index 1261885..45c6687 100644
+--- a/arch/arm/mach-kirkwood/Kconfig
++++ b/arch/arm/mach-kirkwood/Kconfig
+@@ -2,7 +2,6 @@ if KIRKWOOD
+ 
+ choice
+ 	prompt "Marvell Kirkwood board select"
+-	optional
+ 
+ config TARGET_OPENRD
+ 	bool "Marvell OpenRD Board"
+diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig
+index ba72a41..265f336 100644
+--- a/arch/arm/mach-nomadik/Kconfig
++++ b/arch/arm/mach-nomadik/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_NOMADIK
+ 
+ choice
+ 	prompt "Nomadik board select"
+-	optional
+ 
+ config NOMADIK_NHK8815
+ 	bool "ST 8815 Nomadik Hardware Kit"
+diff --git a/arch/arm/mach-orion5x/Kconfig b/arch/arm/mach-orion5x/Kconfig
+index 7644b8d..291c511 100644
+--- a/arch/arm/mach-orion5x/Kconfig
++++ b/arch/arm/mach-orion5x/Kconfig
+@@ -2,7 +2,6 @@ if ORION5X
+ 
+ choice
+ 	prompt "Marvell Orion board select"
+-	optional
+ 
+ config TARGET_EDMINIV2
+ 	bool "LaCie Ethernet Disk mini V2"
+diff --git a/arch/arm/mach-socfpga/Kconfig b/arch/arm/mach-socfpga/Kconfig
+index e46c348..204efca 100644
+--- a/arch/arm/mach-socfpga/Kconfig
++++ b/arch/arm/mach-socfpga/Kconfig
+@@ -2,7 +2,6 @@ if ARCH_SOCFPGA
+ 
+ choice
+ 	prompt "Altera SOCFPGA board select"
+-	optional
+ 
+ config TARGET_SOCFPGA_ARRIA5
+ 	bool "Altera SOCFPGA Arria V"
+diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
+index 54bd648..ef77c84 100644
+--- a/arch/arm/mach-tegra/Kconfig
++++ b/arch/arm/mach-tegra/Kconfig
+@@ -2,7 +2,6 @@ if TEGRA
+ 
+ choice
+ 	prompt "Tegra SoC select"
+-	optional
+ 
+ config TEGRA20
+ 	bool "Tegra20 family"
+diff --git a/arch/arm/mach-tegra/tegra114/Kconfig b/arch/arm/mach-tegra/tegra114/Kconfig
+index 1047b92..31012bc 100644
+--- a/arch/arm/mach-tegra/tegra114/Kconfig
++++ b/arch/arm/mach-tegra/tegra114/Kconfig
+@@ -2,7 +2,6 @@ if TEGRA114
+ 
+ choice
+ 	prompt "Tegra114 board select"
+-	optional
+ 
+ config TARGET_DALMORE
+ 	bool "NVIDIA Tegra114 Dalmore evaluation board"
+diff --git a/arch/arm/mach-tegra/tegra124/Kconfig b/arch/arm/mach-tegra/tegra124/Kconfig
+index f3324ff..86c1301 100644
+--- a/arch/arm/mach-tegra/tegra124/Kconfig
++++ b/arch/arm/mach-tegra/tegra124/Kconfig
+@@ -2,7 +2,6 @@ if TEGRA124
+ 
+ choice
+ 	prompt "Tegra124 board select"
+-	optional
+ 
+ config TARGET_JETSON_TK1
+ 	bool "NVIDIA Tegra124 Jetson TK1 board"
+diff --git a/arch/arm/mach-tegra/tegra20/Kconfig b/arch/arm/mach-tegra/tegra20/Kconfig
+index 1bb8dff..7f09f81 100644
+--- a/arch/arm/mach-tegra/tegra20/Kconfig
++++ b/arch/arm/mach-tegra/tegra20/Kconfig
+@@ -2,7 +2,6 @@ if TEGRA20
+ 
+ choice
+ 	prompt "Tegra20 board select"
+-	optional
+ 
+ config TARGET_HARMONY
+ 	bool "NVIDIA Tegra20 Harmony evaluation board"
+diff --git a/arch/arm/mach-tegra/tegra30/Kconfig b/arch/arm/mach-tegra/tegra30/Kconfig
+index e78331e..3abdc7b 100644
+--- a/arch/arm/mach-tegra/tegra30/Kconfig
++++ b/arch/arm/mach-tegra/tegra30/Kconfig
+@@ -2,7 +2,6 @@ if TEGRA30
+ 
+ choice
+ 	prompt "Tegra30 board select"
+-	optional
+ 
+ config TARGET_APALIS_T30
+ 	bool "Toradex Apalis T30 board"
+diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
+index 1de5b07..6b0e295 100644
+--- a/arch/arm/mach-zynq/Kconfig
++++ b/arch/arm/mach-zynq/Kconfig
+@@ -10,7 +10,6 @@ config ZYNQ_CUSTOM_INIT
+ 
+ choice
+ 	prompt "Xilinx Zynq board select"
+-	optional
+ 
+ config TARGET_ZYNQ_ZED
+ 	bool "Zynq ZedBoard"
+diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
+index eb33774..801b9cc 100644
+--- a/arch/avr32/Kconfig
++++ b/arch/avr32/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_ATNGW100
+ 	bool "Support atngw100"
+diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
+index 0a2fb4d..31913fe 100644
+--- a/arch/blackfin/Kconfig
++++ b/arch/blackfin/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_BCT_BRETTL2
+ 	bool "Support bct-brettl2"
+diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
+index 26509b7..69cb0f7 100644
+--- a/arch/m68k/Kconfig
++++ b/arch/m68k/Kconfig
+@@ -114,7 +114,6 @@ config M548x
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_M52277EVB
+ 	bool "Support M52277EVB"
+diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig
+index 077b2a7..6f419f0 100644
+--- a/arch/microblaze/Kconfig
++++ b/arch/microblaze/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_MICROBLAZE_GENERIC
+ 	bool "Support microblaze-generic"
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 7f7e258..87b94ac 100644
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -10,7 +10,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_QEMU_MIPS
+ 	bool "Support qemu-mips"
+diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig
+index 98b0282..81b0a01 100644
+--- a/arch/nds32/Kconfig
++++ b/arch/nds32/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_ADP_AG101
+ 	bool "Support adp-ag101"
+diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
+index 8ae7f6e..b3be7b5 100644
+--- a/arch/nios2/Kconfig
++++ b/arch/nios2/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_NIOS2_GENERIC
+ 	bool "Support nios2-generic"
+diff --git a/arch/openrisc/Kconfig b/arch/openrisc/Kconfig
+index 11014d1..4d62b4c 100644
+--- a/arch/openrisc/Kconfig
++++ b/arch/openrisc/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_OPENRISC_GENERIC
+ 	bool "Support openrisc-generic"
+diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
+index 3b3f446..8e5a3e2 100644
+--- a/arch/powerpc/Kconfig
++++ b/arch/powerpc/Kconfig
+@@ -6,7 +6,6 @@ config SYS_ARCH
+ 
+ choice
+ 	prompt "CPU select"
+-	optional
+ 
+ config MPC512X
+ 	bool "MPC512X"
+diff --git a/arch/powerpc/cpu/mpc512x/Kconfig b/arch/powerpc/cpu/mpc512x/Kconfig
+index 53450ae..a0f0ede 100644
+--- a/arch/powerpc/cpu/mpc512x/Kconfig
++++ b/arch/powerpc/cpu/mpc512x/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_PDM360NG
+ 	bool "Support pdm360ng"
+diff --git a/arch/powerpc/cpu/mpc5xx/Kconfig b/arch/powerpc/cpu/mpc5xx/Kconfig
+index 5275447..aad4a7c 100644
+--- a/arch/powerpc/cpu/mpc5xx/Kconfig
++++ b/arch/powerpc/cpu/mpc5xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_CMI_MPC5XX
+ 	bool "Support cmi_mpc5xx"
+diff --git a/arch/powerpc/cpu/mpc5xxx/Kconfig b/arch/powerpc/cpu/mpc5xxx/Kconfig
+index 5d49228..eec9d7d 100644
+--- a/arch/powerpc/cpu/mpc5xxx/Kconfig
++++ b/arch/powerpc/cpu/mpc5xxx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_A3M071
+ 	bool "Support a3m071"
+diff --git a/arch/powerpc/cpu/mpc8260/Kconfig b/arch/powerpc/cpu/mpc8260/Kconfig
+index e93732d..55941c8 100644
+--- a/arch/powerpc/cpu/mpc8260/Kconfig
++++ b/arch/powerpc/cpu/mpc8260/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_KM82XX
+ 	bool "Support km82xx"
+diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
+index 3fb901f..88a3bd6 100644
+--- a/arch/powerpc/cpu/mpc83xx/Kconfig
++++ b/arch/powerpc/cpu/mpc83xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_MPC8308_P1M
+ 	bool "Support mpc8308_p1m"
+diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
+index 3e8d0b1..aff5fdb 100644
+--- a/arch/powerpc/cpu/mpc85xx/Kconfig
++++ b/arch/powerpc/cpu/mpc85xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_SBC8548
+ 	bool "Support sbc8548"
+diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig
+index fe1859d..14e8b1a 100644
+--- a/arch/powerpc/cpu/mpc86xx/Kconfig
++++ b/arch/powerpc/cpu/mpc86xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_SBC8641D
+ 	bool "Support sbc8641d"
+diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
+index 79cee35..e8bcbe9 100644
+--- a/arch/powerpc/cpu/mpc8xx/Kconfig
++++ b/arch/powerpc/cpu/mpc8xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_TQM823L
+ 	bool "Support TQM823L"
+diff --git a/arch/powerpc/cpu/ppc4xx/Kconfig b/arch/powerpc/cpu/ppc4xx/Kconfig
+index 10b86e0..4d5954a 100644
+--- a/arch/powerpc/cpu/ppc4xx/Kconfig
++++ b/arch/powerpc/cpu/ppc4xx/Kconfig
+@@ -6,7 +6,6 @@ config SYS_CPU
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_CSB272
+ 	bool "Support csb272"
+diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
+index 6ac22af..ff8f5b5 100644
+--- a/arch/sh/Kconfig
++++ b/arch/sh/Kconfig
+@@ -29,7 +29,6 @@ config SH_32BIT
+ 
+ choice
+ 	prompt "Target select"
+-	optional
+ 
+ config TARGET_RSK7203
+ 	bool "RSK+ 7203"
+diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
+index 04dc08f..2df09b2 100644
+--- a/arch/sparc/Kconfig
++++ b/arch/sparc/Kconfig
+@@ -14,7 +14,6 @@ config LEON3
+ 
+ choice
+ 	prompt "Board select"
+-	optional
+ 
+ config TARGET_GRSIM_LEON2
+ 	bool "GRSIM simulating a LEON2 board"
+diff --git a/board/amcc/canyonlands/Kconfig b/board/amcc/canyonlands/Kconfig
+index a655dbc..ef66ad4 100644
+--- a/board/amcc/canyonlands/Kconfig
++++ b/board/amcc/canyonlands/Kconfig
+@@ -11,7 +11,6 @@ config SYS_CONFIG_NAME
+ 
+ choice BOARD_TYPE
+ 	prompt "Select which board to build for"
+-	optional
+ 
+ config CANYONLANDS
+ 	bool "Glacier"
+diff --git a/board/coreboot/Kconfig b/board/coreboot/Kconfig
+index ede6065..dc9b70f 100644
+--- a/board/coreboot/Kconfig
++++ b/board/coreboot/Kconfig
+@@ -8,7 +8,6 @@ if VENDOR_COREBOOT
+ 
+ choice
+ 	prompt "Mainboard model"
+-	optional
+ 
+ config TARGET_COREBOOT
+ 	bool "coreboot"
+diff --git a/board/dbau1x00/Kconfig b/board/dbau1x00/Kconfig
+index b813adb..1286e45 100644
+--- a/board/dbau1x00/Kconfig
++++ b/board/dbau1x00/Kconfig
+@@ -13,7 +13,6 @@ menu "dbau1x00 board options"
+ 
+ choice
+ 	prompt "Select au1x00 SoC type"
+-	optional
+ 
+ config DBAU1100
+ 	bool "Select AU1100"
+diff --git a/board/google/Kconfig b/board/google/Kconfig
+index e9559c9..302f68e 100644
+--- a/board/google/Kconfig
++++ b/board/google/Kconfig
+@@ -8,7 +8,6 @@ if VENDOR_GOOGLE
+ 
+ choice
+ 	prompt "Mainboard model"
+-	optional
+ 
+ config TARGET_CHROMEBOOK_LINK
+ 	bool "Chromebook link"
+diff --git a/board/intel/Kconfig b/board/intel/Kconfig
+index 3d9ecf0..7fe21b9 100644
+--- a/board/intel/Kconfig
++++ b/board/intel/Kconfig
+@@ -8,7 +8,6 @@ if VENDOR_INTEL
+ 
+ choice
+ 	prompt "Mainboard model"
+-	optional
+ 
+ config TARGET_CROWNBAY
+ 	bool "Crown Bay"
+diff --git a/board/micronas/vct/Kconfig b/board/micronas/vct/Kconfig
+index c518079..288a1ae 100644
+--- a/board/micronas/vct/Kconfig
++++ b/board/micronas/vct/Kconfig
+@@ -13,7 +13,6 @@ menu "vct board options"
+ 
+ choice
+ 	prompt "Board variant"
+-	optional
+ 
+ config VCT_PLATINUM
+ 	bool "Enable VCT_PLATINUM"
+diff --git a/board/seco/Kconfig b/board/seco/Kconfig
+index af16697..dcb1ac8 100644
+--- a/board/seco/Kconfig
++++ b/board/seco/Kconfig
+@@ -2,7 +2,6 @@ if TARGET_SECOMX6
+ 
+ choice
+ 	prompt "SECO i.MX6 Board variant"
+-	optional
+ 
+ config SECOMX6_Q7
+ 	bool "Q7"
+@@ -17,7 +16,6 @@ endchoice
+ 
+ choice
+ 	prompt "SECO i.MX6 SoC variant"
+-	optional
+ 
+ config SECOMX6Q
+ 	bool "i.MX6Q"
+diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
+index 2a1cd3c..808de26 100644
+--- a/board/sunxi/Kconfig
++++ b/board/sunxi/Kconfig
+@@ -18,7 +18,6 @@ config SUNXI_GEN_SUN6I
+ 
+ choice
+ 	prompt "Sunxi SoC Variant"
+-	optional
+ 
+ config MACH_SUN4I
+ 	bool "sun4i (Allwinner A10)"
+-- 
+2.4.3
+