# Checks specific to U-Boot
sub u_boot_line {
my ($realfile, $line, $herecurr) = @_;
+
+ # ask for a test if a new uclass ID is added
+ if ($realfile =~ /uclass-id.h/ && $line =~ /^\+/) {
+ WARN("NEW_UCLASS",
+ "Possible new uclass - make sure to add a sandbox driver, plus a test in test/dm/<name>.c\n" . $herecurr);
+ }
+
+ # try to get people to use the livetree API
+ if ($line =~ /^\+.*fdtdec_/) {
+ WARN("LIVETREE",
+ "Use the livetree API (dev_read_...)\n" . $herecurr);
+ }
+
+ # add tests for new commands
+ if ($line =~ /^\+.*do_($Ident)\(struct cmd_tbl.*/) {
+ WARN("CMD_TEST",
+ "Possible new command - make sure you add a test\n" . $herecurr);
+ }
+
+ # use if instead of #if
+ if ($line =~ /^\+#if.*CONFIG.*/) {
+ WARN("PREFER_IF",
+ "Use 'if (IS_ENABLED(CONFIG...))' instead of '#if or #ifdef' where possible\n" . $herecurr);
+ }
+
+ # use defconfig to manage CONFIG_CMD options
+ if ($line =~ /\+\s*#\s*(define|undef)\s+(CONFIG_CMD\w*)\b/) {
+ ERROR("DEFINE_CONFIG_CMD",
+ "All commands are managed by Kconfig\n" . $herecurr);
+ }
}
sub process {