From e0d749c23b604dd6dfb94d95a59e5db30900d0e7 Mon Sep 17 00:00:00 2001 From: Michael Niewöhner Date: Fri, 18 Sep 2020 03:12:00 +0200 Subject: lint: check for misuse of Kconfig SUBSYSTEM_*_ID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Check that nobody misuses the Kconfigs SUBSYSTEM_*_ID. They are meant to be used for overriding the devicetree subsystem ids locally but shall not be added to a board's Kconfig. Instead, the devicetree option `subsystemid` should be used. Add a linter script for this that finds and warns about such misuse. Also add a note in the Kconfigs' description. TEST=CB:45513 Change-Id: I21c021c718154f1396f795a555af47a76d6efe03 Signed-off-by: Michael Niewöhner Reviewed-on: https://review.coreboot.org/c/coreboot/+/45513 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- util/lint/lint-stable-024-kconfig-no-subsystem | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100755 util/lint/lint-stable-024-kconfig-no-subsystem (limited to 'util') diff --git a/util/lint/lint-stable-024-kconfig-no-subsystem b/util/lint/lint-stable-024-kconfig-no-subsystem new file mode 100755 index 0000000000..46dbc971f0 --- /dev/null +++ b/util/lint/lint-stable-024-kconfig-no-subsystem @@ -0,0 +1,18 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-or-later +# +# DESCR: Check that no board's Kconfig sets SUBSYSTEM_(VENDOR|DEVICE)_ID + +LC_ALL=C export LC_ALL +FAIL=0 + +for i in src/mainboard/*/* src/mainboard/*/*/variants/*; do + if [ -r $i/Kconfig ]; then + if grep -Eq "^\s*config\s+SUBSYSTEM_(VENDOR|DEVICE)_ID\>" $i/Kconfig; then + echo "$i: Mainboard sets SUBSYSTEM_*_ID. Set 'subsystemid' in devicetree instead!" + FAIL=1 + fi + fi +done + +exit $FAIL -- cgit v1.2.3