# Not Linux, so don't expect a Linux tree.
--no-tree

# Temporary for false positive in checkpatch
--ignore COMPLEX_MACRO

# For CFG_SYS_I2C_NOPROBES
--ignore MULTISTATEMENT_MACRO_USE_DO_WHILE

# For simple_strtoul
--ignore CONSIDER_KSTRTO

# For min/max
--ignore MINMAX

# enable more tests
--strict

# Not Linux, so we don't recommend usleep_range() over udelay()
--ignore USLEEP_RANGE

# We also do not have a functionally different mdelay() and udelay()
--ignore LONG_UDELAY

# Ignore networking block comment style
--ignore NETWORKING_BLOCK_COMMENT_STYLE

# Ignore "WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet
# addresses are __aligned(2)".
--ignore PREFER_ETHER_ADDR_COPY

# ENOSYS is a conventionally used error, even though U-Boot lacks system calls.
--ignore ENOSYS

# A bit shorter of a description is OK with us.
--min-conf-desc-length=2

# Extra checks for U-Boot
--u-boot
