diff mbox series

Makefile: Add a warning about ad-hoc CONFIG options

Message ID 20210918182122.1854781-1-sjg@chromium.org
State Deferred
Delegated to: Tom Rini
Headers show
Series Makefile: Add a warning about ad-hoc CONFIG options | expand

Commit Message

Simon Glass Sept. 18, 2021, 6:21 p.m. UTC
The Kconfig feature was added in 2014. Some 7 years later there are still
quite a few CONFIG options that have not been migrated. It is time to
close this out.

Add a deadline and a warning for boards to migrate to Kconfig.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 Makefile | 10 ++++++++++
 1 file changed, 10 insertions(+)

Comments

Tom Rini Sept. 20, 2021, 3:20 p.m. UTC | #1
On Sat, Sep 18, 2021 at 12:21:21PM -0600, Simon Glass wrote:

> The Kconfig feature was added in 2014. Some 7 years later there are still
> quite a few CONFIG options that have not been migrated. It is time to
> close this out.
> 
> Add a deadline and a warning for boards to migrate to Kconfig.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

I agree with the sentiment.  But we aren't at the point where even aside
from environment and a few outstanding migrations I've posted but not
yet pulled, that any platform is 100% clean.  There's still even
migrated-but-in-config.h symbols seemingly everywhere.
Simon Glass Sept. 21, 2021, 1:11 a.m. UTC | #2
Hi Tom,

On Mon, 20 Sept 2021 at 09:20, Tom Rini <trini@konsulko.com> wrote:
>
> On Sat, Sep 18, 2021 at 12:21:21PM -0600, Simon Glass wrote:
>
> > The Kconfig feature was added in 2014. Some 7 years later there are still
> > quite a few CONFIG options that have not been migrated. It is time to
> > close this out.
> >
> > Add a deadline and a warning for boards to migrate to Kconfig.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
>
> I agree with the sentiment.  But we aren't at the point where even aside
> from environment and a few outstanding migrations I've posted but not
> yet pulled, that any platform is 100% clean.  There's still even
> migrated-but-in-config.h symbols seemingly everywhere.

Indeed!

So perhaps the trigger for this would be to have one board that
doesn't have a config.h ?

Regards,
Simon
Tom Rini Sept. 21, 2021, 2:49 p.m. UTC | #3
On Mon, Sep 20, 2021 at 07:11:26PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Mon, 20 Sept 2021 at 09:20, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Sat, Sep 18, 2021 at 12:21:21PM -0600, Simon Glass wrote:
> >
> > > The Kconfig feature was added in 2014. Some 7 years later there are still
> > > quite a few CONFIG options that have not been migrated. It is time to
> > > close this out.
> > >
> > > Add a deadline and a warning for boards to migrate to Kconfig.
> > >
> > > Signed-off-by: Simon Glass <sjg@chromium.org>
> >
> > I agree with the sentiment.  But we aren't at the point where even aside
> > from environment and a few outstanding migrations I've posted but not
> > yet pulled, that any platform is 100% clean.  There's still even
> > migrated-but-in-config.h symbols seemingly everywhere.
> 
> Indeed!
> 
> So perhaps the trigger for this would be to have one board that
> doesn't have a config.h ?

I'm not sure.  There's, largely, the ability to confirm that a
conversion is identical here, unlike with DM migrations.  Setting aside
environment (which thanks for picking up again), there's a few tricky
conversions that might be best served by code updates (like
CONFIG_SYS_NAND_ECCPOS I think can be removed IF drivers are converted
to use mtd_ooblayout_get_eccbytes() instead, which is how both the Linux
Kernel, and a few more modern in-tree drivers do this today) or really
just moving information to some other header.  But we shouldn't be stuck
with groups of boards that are unconverted.  I feel like NAND is
probably going to be the worst subsystem to finish converting and that's
just going to highlight further "this should be updated for DM an DT.."
of which only a few users have been.
Simon Glass Oct. 21, 2021, 8:17 p.m. UTC | #4
Hi Tom,

On Tue, 21 Sept 2021 at 08:49, Tom Rini <trini@konsulko.com> wrote:
>
> On Mon, Sep 20, 2021 at 07:11:26PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Mon, 20 Sept 2021 at 09:20, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Sat, Sep 18, 2021 at 12:21:21PM -0600, Simon Glass wrote:
> > >
> > > > The Kconfig feature was added in 2014. Some 7 years later there are still
> > > > quite a few CONFIG options that have not been migrated. It is time to
> > > > close this out.
> > > >
> > > > Add a deadline and a warning for boards to migrate to Kconfig.
> > > >
> > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > >
> > > I agree with the sentiment.  But we aren't at the point where even aside
> > > from environment and a few outstanding migrations I've posted but not
> > > yet pulled, that any platform is 100% clean.  There's still even
> > > migrated-but-in-config.h symbols seemingly everywhere.
> >
> > Indeed!
> >
> > So perhaps the trigger for this would be to have one board that
> > doesn't have a config.h ?
>
> I'm not sure.  There's, largely, the ability to confirm that a
> conversion is identical here, unlike with DM migrations.  Setting aside
> environment (which thanks for picking up again), there's a few tricky
> conversions that might be best served by code updates (like
> CONFIG_SYS_NAND_ECCPOS I think can be removed IF drivers are converted
> to use mtd_ooblayout_get_eccbytes() instead, which is how both the Linux
> Kernel, and a few more modern in-tree drivers do this today) or really
> just moving information to some other header.  But we shouldn't be stuck
> with groups of boards that are unconverted.  I feel like NAND is
> probably going to be the worst subsystem to finish converting and that's
> just going to highlight further "this should be updated for DM an DT.."
> of which only a few users have been.

Hmm yes NAND looks a bit grim. Perhaps we can look at this when we
have the env thing in and can see the possibility of fully migrated
boards.

Regards,
Simon
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index 3014788e14e..7e73e6df1ef 100644
--- a/Makefile
+++ b/Makefile
@@ -1132,6 +1132,16 @@  endif
 	@# know about unless they are in Kconfig. All the existing CONFIG
 	@# options are whitelisted, so new ones should not be added.
 	$(call cmd,cfgcheck,u-boot.cfg)
+	@if [ -s include/autoconf.mk ]; then \
+		echo >&2 "===================== WARNING ======================"; \
+		echo >&2 "This board uses ad-hoc CONFIG options, i.e. those"; \
+		echo >&2 "not defined by a Kconfig option."; \
+		echo >&2 "Support for these will be dropped starting with the"; \
+		echo >&2 "v2022.10 release. Please add new Kconfig options"; \
+		echo >&2 "as needed, or use devicetree."; \
+		echo >&2 "Failure to update may result in board removal."; \
+		echo >&2 "===================================================="; \
+	fi
 
 PHONY += dtbs
 dtbs: dts/dt.dtb