All of lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [PATCH v4 02/14] Makefile: Add common code to report deprecation
Date: Thu, 25 Mar 2021 21:24:33 +1300	[thread overview]
Message-ID: <20210325082445.519028-3-sjg@chromium.org> (raw)
In-Reply-To: <20210325082445.519028-1-sjg@chromium.org>

Add a function which can be called to report a migration problem. This
will make it easier to add new migration checks, since the logic and
strings are not spread out over 8 lines of code.

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

(no changes since v1)

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

diff --git a/Makefile b/Makefile
index b735a6ae6cd..063f88d3103 100644
--- a/Makefile
+++ b/Makefile
@@ -1017,6 +1017,33 @@ quiet_cmd_cfgcheck = CFGCHK  $2
 cmd_cfgcheck = $(srctree)/scripts/check-config.sh $2 \
 		$(srctree)/scripts/config_whitelist.txt $(srctree)
 
+# Concat the value of all the CONFIGs (result is 'y' or 'yy', etc. )
+got = $(foreach cfg,$(1),$($(cfg)))
+
+# expected value 'y for each one
+expect = $(foreach cfg,$(1),y)
+
+# Show a deprecation message
+# Args:
+# 1: List of CONFIG_DM_... to migrate to (e.g. "CONFIG_DM_MMC CONFIG_BLK")
+# 2: Name of component (e.g . "Ethernet drivers")
+# 3: Release deadline (e.g. "v202.07")
+# 4: Condition to require before checking (e.g. "$(CONFIG_NET)")
+# Note: Script avoids bash construct, hence the strange double 'if'
+# (patches welcome!)
+define deprecated
+	if [ -n "$(strip $(4))" ]; then if [ "$(got)" != "$(expect)" ]; then \
+		echo >&2 "===================== WARNING ======================"; \
+		echo >&2 "This board does not use $(firstword $(1)) (Driver Model"; \
+		echo >&2 "for $(2)). Please update the board to use"; \
+		echo >&2 "$(firstword $(1)) before the $(3) release. Failure to"; \
+		echo >&2 "update by the deadline may result in board removal."; \
+		echo >&2 "See doc/driver-model/migration.rst for more info."; \
+		echo >&2 "===================================================="; \
+	fi; fi
+
+endef
+
 PHONY += inputs
 inputs: $(INPUTS-y)
 
-- 
2.31.0.291.g576ba9dcdaf-goog

  parent reply	other threads:[~2021-03-25  8:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-25  8:24 [PATCH v4 00/14] Makefile: Update migration warnings Simon Glass
2021-03-25  8:24 ` [PATCH v4 01/14] Makefile: Move non-DM migration messages to the top Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` Simon Glass [this message]
2021-03-27 17:12   ` [PATCH v4 02/14] Makefile: Add common code to report deprecation Tom Rini
2021-03-25  8:24 ` [PATCH v4 03/14] Makefile: Use common code for MMC deprecation warning Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 04/14] Makefile: Use common code for USB " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 05/14] Makefile: Use common code for MVSATA_IDE " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 06/14] Makefile: Use common code for LIBATA " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 07/14] Makefile: Use common code for PCI " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 08/14] Makefile: Use common code for DM_VIDEO " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 09/14] Makefile: Use common code for SPI_FLASH " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 10/14] Makefile: Use common code for WDT " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 11/14] Makefile: Use common code for DM_ETH " Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 12/14] Makefile: Drop the old SPI flash migration message Simon Glass
2021-03-27 17:12   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 13/14] dm: i2c: Add a migration method for I2C Simon Glass
2021-03-27 17:13   ` Tom Rini
2021-03-25  8:24 ` [PATCH v4 14/14] dm: gpio: Add a migration message for GPIO Simon Glass
2021-03-27 15:58   ` Tom Rini
2021-03-27 16:05     ` Tom Rini
2021-03-31  6:46 ` [PATCH v4 00/14] Makefile: Update migration warnings Bin Meng
2021-03-31 16:39   ` Tom Rini
2021-03-31 22:19     ` Simon Glass

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=20210325082445.519028-3-sjg@chromium.org \
    --to=sjg@chromium.org \
    --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.