#
# NOTE! Don't add files that are generated in specific
# subdirectories here. Add them in the ".gitignore" file
# in that subdirectory instead.
#
# Normal rules (sorted alphabetically)
#
.*
!.checkpatch.conf
*.a
*.asn1.[ch]
*.bin
*.cfgout
*.cover
*.dtb
*.dtbo
*.dtb.S
*.elf
*.exe
*.gcda
*.gcno
*.i
*.img
*.lex.c
*.lst
*.mod.c
*.mbx
*.o
*.o.*
*.order
*.patch
*.s
*.su
*.swp
*.tab.[ch]

# Build tree
/build*

#
# Top-level generic files
#
fit-dtb.blob*
/MLO*
/SPL*
/System.map
/u-boot*
/boards.cfg
/*.log

#
# git files that we don't want to ignore even it they are dot-files
#
!.gitignore
!.mailmap
!.get_maintainer.*

#
# Generated files
#
/spl/
/tpl/
/defconfig

#
# Generated include files
#
/include/config/
/include/generated/

# stgit generated dirs
patches-*
.stgit-edit.txt

# quilt's files
patches
series

# gdb files
.gdb_history

# cscope files
cscope.*

# tags files
/tags
/ctags
/etags

# gnu global files
GPATH
GRTAGS
GSYMS
GTAGS

*.orig
*~
\#*#

# Python cache
__pycache__

# Python code coverage output (python3-coverage html)
/htmlcov/

# pylint files
/pylint.cur
/pylint.out/

# moveconfig database
/moveconfig.db
