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

# Ignore aspects we don't follow here.
--ignore C99_COMMENTS
--ignore GLOBAL_INITIALISERS
--ignore INITIALISED_STATIC
--ignore LINE_SPACING
--ignore NEW_TYPEDEFS
--ignore PREFER_ALIGNED
--ignore PREFER_PACKED
--ignore PREFER_PRINTF
--ignore SPLIT_STRING
--ignore BLOCK_COMMENT_STYLE
--ignore AVOID_EXTERNS
--ignore VOLATILE
--ignore CONFIG_DESCRIPTION
--ignore MISSING_SPACE

# FILE_PATH_CHANGES seems to not be working correctly. It will
# choke on added / deleted files even if the MAINTAINERS file
# is touched.
--ignore FILE_PATH_CHANGES

# This one has a linux path hard coded, so it would choke on
# some commits unnecessarily.
--ignore EXECUTE_PERMISSIONS
