Merge branch '2021-03-27-master-imports'
authorTom Rini <trini@konsulko.com>
Sat, 27 Mar 2021 15:58:37 +0000 (11:58 -0400)
committerTom Rini <trini@konsulko.com>
Sat, 27 Mar 2021 15:58:37 +0000 (11:58 -0400)
- Rework the deprecation warnings to be consistently phrased.
- Add in a warning for DM_I2C, for a year from next release.
- Fix Azure builds of Windows host tools.

.azure-pipelines.yml
Makefile
doc/driver-model/migration.rst

index 506e0c0..a7e27fa 100644 (file)
@@ -23,7 +23,7 @@ jobs:
           %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm -Syyuu"
         displayName: 'Update MSYS2'
       - script: |
-          %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -S make gcc bison flex diffutils openssl-devel"
+          %CD:~0,2%\msys64\usr\bin\bash -lc "pacman --noconfirm --needed -Sy make gcc bison flex diffutils openssl-devel"
         displayName: 'Install Toolchain'
       - script: |
           echo make tools-only_defconfig tools-only NO_SDL=1 > build-tools.sh
index 3ebb38b..e9b9c15 100644 (file)
--- 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)
 
@@ -1031,80 +1058,6 @@ endif
 
 ifeq ($(CONFIG_DEPRECATED),y)
        $(warning "You have deprecated configuration options enabled in your .config! Please check your configuration.")
-ifeq ($(CONFIG_SPI),y)
-ifneq ($(CONFIG_DM_SPI)$(CONFIG_OF_CONTROL),yy)
-       $(warning "The relevant config item with associated code will remove in v2019.07 release.")
-endif
-endif
-endif
-ifneq ($(CONFIG_DM),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM. CONFIG_DM will be"
-       @echo >&2 "compulsory starting with the v2020.01 release."
-       @echo >&2 "Failure to update may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-ifeq ($(CONFIG_MMC),y)
-ifneq ($(CONFIG_DM_MMC)$(CONFIG_BLK),yy)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_MMC. Please update"
-       @echo >&2 "the board to use CONFIG_DM_MMC before the v2019.04 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_USB),y)
-ifneq ($(CONFIG_DM_USB)$(CONFIG_OF_CONTROL)$(CONFIG_BLK),yyy)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_USB. Please update"
-       @echo >&2 "the board to use CONFIG_DM_USB before the v2019.07 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_MVSATA_IDE),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does use CONFIG_MVSATA_IDE which is not"
-       @echo >&2 "ported to driver-model (DM) yet. Please update the storage"
-       @echo >&2 "controller driver to use CONFIG_AHCI before the v2019.07"
-       @echo >&2 "release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-ifeq ($(CONFIG_LIBATA),y)
-ifneq ($(CONFIG_AHCI),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does use CONFIG_LIBATA but has CONFIG_AHCI not"
-       @echo >&2 "enabled. Please update the storage controller driver to use"
-       @echo >&2 "CONFIG_AHCI before the v2019.07 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifeq ($(CONFIG_PCI),y)
-ifneq ($(CONFIG_DM_PCI),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_PCI Please update"
-       @echo >&2 "the board to use CONFIG_DM_PCI before the v2019.07 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_LCD)$(CONFIG_VIDEO),)
-ifneq ($(CONFIG_DM_VIDEO),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_VIDEO Please update"
-       @echo >&2 "the board to use CONFIG_DM_VIDEO before the v2019.07 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
 endif
 ifeq ($(CONFIG_OF_EMBED),y)
        @echo >&2 "===================== WARNING ======================"
@@ -1114,38 +1067,6 @@ ifeq ($(CONFIG_OF_EMBED),y)
        @echo >&2 "See doc/README.fdt-control for more info."
        @echo >&2 "===================================================="
 endif
-ifeq ($(CONFIG_SPI_FLASH),y)
-ifneq ($(CONFIG_DM_SPI_FLASH)$(CONFIG_OF_CONTROL),yy)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_SPI_FLASH. Please update"
-       @echo >&2 "the board to use CONFIG_SPI_FLASH before the v2019.07 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_WATCHDOG)$(CONFIG_HW_WATCHDOG),)
-ifneq ($(CONFIG_WDT),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_WDT (DM watchdog support)."
-       @echo >&2 "Please update the board to use CONFIG_WDT before the"
-       @echo >&2 "v2019.10 release."
-       @echo >&2 "Failure to update by the deadline may result in board removal."
-       @echo >&2 "See doc/driver-model/migration.rst for more info."
-       @echo >&2 "===================================================="
-endif
-endif
-ifneq ($(CONFIG_NET),)
-ifneq ($(CONFIG_DM_ETH),y)
-       @echo >&2 "===================== WARNING ======================"
-       @echo >&2 "This board does not use CONFIG_DM_ETH (Driver Model"
-       @echo >&2 "for Ethernet drivers). Please update the board to use"
-       @echo >&2 "CONFIG_DM_ETH before the v2020.07 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 "===================================================="
-endif
-endif
 ifneq ($(CONFIG_SPL_FIT_GENERATOR),)
        @echo >&2 "===================== WARNING ======================"
        @echo >&2 "This board uses CONFIG_SPL_FIT_GENERATOR. Please migrate"
@@ -1153,6 +1074,29 @@ ifneq ($(CONFIG_SPL_FIT_GENERATOR),)
        @echo >&2 "arch-specific scripts with no tests."
        @echo >&2 "===================================================="
 endif
+ifneq ($(CONFIG_DM),y)
+       @echo >&2 "===================== WARNING ======================"
+       @echo >&2 "This board does not use CONFIG_DM. CONFIG_DM will be"
+       @echo >&2 "compulsory starting with the v2020.01 release."
+       @echo >&2 "Failure to update may result in board removal."
+       @echo >&2 "See doc/driver-model/migration.rst for more info."
+       @echo >&2 "===================================================="
+endif
+       $(call deprecated,CONFIG_DM_MMC CONFIG_BLK,MMC,v2019.04,$(CONFIG_MMC))
+       $(call deprecated,CONFIG_DM_USB CONFIG_OF_CONTROL CONFIG_BLK,\
+               USB,v2019.07,$(CONFIG_USB))
+       $(call deprecated,CONFIG_AHCI,AHCI instead of CONFIG_MVSATA_IDE,v2019.07, \
+               $(CONFIG_MVSATA_IDE))
+       $(call deprecated,CONFIG_AHCI,AHCI,v2019.07, $(CONFIG_LIBATA))
+       $(call deprecated,CONFIG_DM_PCI,PCI,v2019.07,$(CONFIG_PCI))
+       $(call deprecated,CONFIG_DM_VIDEO,video,v2019.07,\
+               $(CONFIG_LCD)$(CONFIG_VIDEO))
+       $(call deprecated,CONFIG_DM_SPI_FLASH,SPI flash,v2019.07,\
+               $(CONFIG_SPI_FLASH))
+       $(call deprecated,CONFIG_WDT,DM watchdog,v2019.10,\
+               $(CONFIG_WATCHDOG)$(CONFIG_HW_WATCHDOG))
+       $(call deprecated,CONFIG_DM_ETH,Ethernet drivers,v2020.07,$(CONFIG_NET))
+       $(call deprecated,CONFIG_DM_I2C,I2C drivers,v2022.04,$(CONFIG_I2C))
        @# Check that this build does not use CONFIG options that we do not
        @# know about unless they are in Kconfig. All the existing CONFIG
        @# options are whitelisted, so new ones should not be added.
index 2284e8a..8d0bb76 100644 (file)
@@ -99,3 +99,11 @@ Deadline: 2020.07
 The network subsystem has supported the driver model since early 2015.
 Maintainers should submit patches switching over to using CONFIG_DM_ETH and
 other base driver model options in time for inclusion in the 2020.07 release.
+
+CONFIG_DM_I2C
+-------------
+Deadline: 2021.10
+
+The I2C subsystem has supported the driver model since early 2015.
+Maintainers should submit patches switching over to using CONFIG_DM_I2C and
+other base driver model options in time for inclusion in the 2021.10 release.