________________________________
From: Troy Kisky
Sent: Tuesday, January 24, 2023 2:52 PM
To: u-boot@lists.denx.de <u-boot@lists.denx.de>; sba...@denx.de 
<sba...@denx.de>; tr...@konsulko.com <tr...@konsulko.com>; feste...@gmail.com 
<feste...@gmail.com>
Cc: s...@chromium.org <s...@chromium.org>; ma...@denx.de <ma...@denx.de>
Subject: CONFIG_IS_ENABLED vs IS_ENABLED

Hi Guys

In a recent debugging session, I stumbled across this line
drivers/mmc/mmc.c:      if (CONFIG_IS_ENABLED(MMC_QUIRKS) && mmc->quirks & 
quirk)

which prevents retries in SPL code, and was causing booting from an SD card to 
fail.
So I wrote a little script to print uses of
CONFIG_IS_ENABLED(x) which might need to be
IS_ENABLED(CONFIG_x) like the above one.

Here it is if you want to try it out.

git grep CONFIG_IS_ENABLED|sed -n -e 
"s/\(CONFIG_IS_ENABLED([0-9a-zA-Z_]*)\)/\n\1\n/gp"| \
sed -n -r "s/CONFIG_IS_ENABLED\(([0-9a-zA-Z_]+)\)/\1/p" |sort -u|xargs -I {} \
sh -c "git grep -E 'config [ST]PL_{}' | grep -q -E -w '[ST]PL_{}' || git grep 
'CONFIG_IS_ENABLED({})'"

It prints CONFIG_IS_ENABLED(x) uses where there is no SPL_x or TPL_x.

BR
Troy

_______
And here is the opposite check

git grep -w IS_ENABLED|sed -n -e 
"s/\(IS_ENABLED(CONFIG_[0-9a-zA-Z_]*)\)/\n\1\n/gp"| \
sed -n -r "s/IS_ENABLED\(CONFIG_([0-9a-zA-Z_]+)\)/\1/p" |sort -u|xargs -I {} \
sh -c "git grep -E 'config [ST]PL_{}' | grep -q -E -w '[ST]PL_{}' && git grep 
'IS_ENABLED(CONFIG_{})'"


It prints uses of IS_ENABLED(CONFIG_x) where CONFIG_SPL_x exists.


BR
Troy



THIS MESSAGE, ANY ATTACHMENT(S), AND THE INFORMATION CONTAINED HEREIN MAY BE 
PROPRIETARY TO LAIRD CONNECTIVITY, LLC., BOUNDARY DEVICES, LLC. AND/OR ANOTHER 
PARTY, AND MAY FURTHER BE INTENDED TO BE KEPT CONFIDENTIAL. IF YOU ARE NOT THE 
INTENDED RECIPIENT, PLEASE DELETE THE EMAIL AND ANY ATTACHMENTS, AND 
IMMEDIATELY NOTIFY THE SENDER BY RETURN EMAIL. THIS MESSAGE AND ITS CONTENTS 
ARE THE PROPERTY OF LAIRD CONNECTIVITY, LLC. AND BOUNDARY DEVICES, LLC. AND MAY 
NOT BE REPRODUCED OR USED WITHOUT THE EXPRESS WRITTEN CONSENT OF LAIRD 
CONNECTIVITY, LLC. AND BOUNDARY DEVICES, LLC.

Reply via email to