diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5d56a3f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,80 @@
+#
+# NOTE! Don't add files that are generated in specific
+# subdirectories here. Add them in the ".gitignore" file
+# in that subdirectory instead.
+#
+# NOTE! Please use 'git ls-files -i --exclude-standard'
+# command after changing this file, to see if there are
+# any tracked files which get ignored after the change.
+#
+# Normal rules
+#
+.*
+*.o
+*.o.*
+*.a
+*.s
+*.ko
+*.so
+*.so.dbg
+*.mod.c
+*.i
+*.lst
+*.symtypes
+*.order
+modules.builtin
+*.elf
+*.bin
+*.gz
+*.bz2
+*.lzma
+*.xz
+*.lzo
+*.patch
+*.gcno
+
+#
+# Top-level generic files
+#
+/tags
+/TAGS
+/linux
+/vmlinux
+/vmlinuz
+/System.map
+/Module.markers
+/Module.symvers
+
+#
+# git files that we don't want to ignore even it they are dot-files
+#
+!.gitignore
+!.mailmap
+
+#
+# Generated include files
+#
+include/config
+include/linux/version.h
+include/generated
+
+# stgit generated dirs
+patches-*
+
+# quilt's files
+patches
+series
+
+# cscope files
+cscope.*
+ncscope.*
+
+# gnu global files
+GPATH
+GRTAGS
+GSYMS
+GTAGS
+
+*.orig
+*~
+\#*#
diff --git a/.mailmap b/.mailmap
new file mode 100644
index 0000000..1eba28a
--- /dev/null
+++ b/.mailmap
@@ -0,0 +1,109 @@
+#
+# This list is used by git-shortlog to fix a few botched name translations
+# in the git archive, either because the author's full name was messed up
+# and/or not always written the same way, making contributions from the
+# same person appearing not to be so or badly displayed.
+#
+# repo-abbrev: /pub/scm/linux/kernel/git/
+#
+
+Aaron Durbin <adurbin@google.com>
+Adam Oldham <oldhamca@gmail.com>
+Adam Radford <aradford@gmail.com>
+Adrian Bunk <bunk@stusta.de>
+Alan Cox <alan@lxorguk.ukuu.org.uk>
+Alan Cox <root@hraefn.swansea.linux.org.uk>
+Aleksey Gorelov <aleksey_gorelov@phoenix.com>
+Al Viro <viro@ftp.linux.org.uk>
+Al Viro <viro@zenIV.linux.org.uk>
+Andreas Herrmann <aherrman@de.ibm.com>
+Andrew Morton <akpm@osdl.org>
+Andrew Vasquez <andrew.vasquez@qlogic.com>
+Andy Adamson <andros@citi.umich.edu>
+Arnaud Patard <arnaud.patard@rtp-net.org>
+Arnd Bergmann <arnd@arndb.de>
+Axel Dyks <xl@xlsigned.net>
+Axel Lin <axel.lin@gmail.com>
+Ben Gardner <bgardner@wabtec.com>
+Ben M Cahill <ben.m.cahill@intel.com>
+Björn Steinbrink <B.Steinbrink@gmx.de>
+Brian Avery <b.avery@hp.com>
+Brian King <brking@us.ibm.com>
+Christoph Hellwig <hch@lst.de>
+Corey Minyard <minyard@acm.org>
+David Brownell <david-b@pacbell.net>
+David Woodhouse <dwmw2@shinybook.infradead.org>
+Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
+Domen Puncer <domen@coderock.org>
+Douglas Gilbert <dougg@torque.net>
+Ed L. Cashin <ecashin@coraid.com>
+Evgeniy Polyakov <johnpol@2ka.mipt.ru>
+Felipe W Damasio <felipewd@terra.com.br>
+Felix Kuhling <fxkuehl@gmx.de>
+Felix Moeller <felix@derklecks.de>
+Filipe Lautert <filipe@icewall.org>
+Franck Bui-Huu <vagabon.xyz@gmail.com>
+Frank Zago <fzago@systemfabricworks.com>
+Greg Kroah-Hartman <greg@echidna.(none)>
+Greg Kroah-Hartman <gregkh@suse.de>
+Greg Kroah-Hartman <greg@kroah.com>
+Henk Vergonet <Henk.Vergonet@gmail.com>
+Henrik Kretzschmar <henne@nachtwindheim.de>
+Herbert Xu <herbert@gondor.apana.org.au>
+Jacob Shin <Jacob.Shin@amd.com>
+James Bottomley <jejb@mulgrave.(none)>
+James Bottomley <jejb@titanic.il.steeleye.com>
+James E Wilson <wilson@specifix.com>
+James Ketrenos <jketreno@io.(none)>
+Jean Tourrilhes <jt@hpl.hp.com>
+Jeff Garzik <jgarzik@pretzel.yyz.us>
+Jens Axboe <axboe@suse.de>
+Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
+John Stultz <johnstul@us.ibm.com>
+Juha Yrjola <at solidboot.com>
+Juha Yrjola <juha.yrjola@nokia.com>
+Juha Yrjola <juha.yrjola@solidboot.com>
+Kay Sievers <kay.sievers@vrfy.org>
+Kenneth W Chen <kenneth.w.chen@intel.com>
+Koushik <raghavendra.koushik@neterion.com>
+Leonid I Ananiev <leonid.i.ananiev@intel.com>
+Linas Vepstas <linas@austin.ibm.com>
+Mark Brown <broonie@sirena.org.uk>
+Matthieu CASTET <castet.matthieu@free.fr>
+Michael Buesch <mb@bu3sch.de>
+Michael Buesch <mbuesch@freenet.de>
+Michel Dänzer <michel@tungstengraphics.com>
+Mitesh shah <mshah@teja.com>
+Morten Welinder <terra@gnome.org>
+Morten Welinder <welinder@anemone.rentec.com>
+Morten Welinder <welinder@darter.rentec.com>
+Morten Welinder <welinder@troll.com>
+Nguyen Anh Quynh <aquynh@gmail.com>
+Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
+Patrick Mochel <mochel@digitalimplant.org>
+Peter A Jonsson <pj@ludd.ltu.se>
+Peter Oruba <peter@oruba.de>
+Peter Oruba <peter.oruba@amd.com>
+Praveen BP <praveenbp@ti.com>
+Rajesh Shah <rajesh.shah@intel.com>
+Ralf Baechle <ralf@linux-mips.org>
+Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+Rémi Denis-Courmont <rdenis@simphalempin.com>
+Rudolf Marek <R.Marek@sh.cvut.cz>
+Rui Saraiva <rmps@joel.ist.utl.pt>
+Sachin P Sant <ssant@in.ibm.com>
+Sam Ravnborg <sam@mars.ravnborg.org>
+Sascha Hauer <s.hauer@pengutronix.de>
+S.Çağlar Onur <caglar@pardus.org.tr>
+Simon Kelley <simon@thekelleys.org.uk>
+Stéphane Witzmann <stephane.witzmann@ubpmes.univ-bpclermont.fr>
+Stephen Hemminger <shemminger@osdl.org>
+Tejun Heo <htejun@gmail.com>
+Thomas Graf <tgraf@suug.ch>
+Tony Luck <tony.luck@intel.com>
+Tsuneo Yoshioka <Tsuneo.Yoshioka@f-secure.com>
+Uwe Kleine-König <ukleinek@informatik.uni-freiburg.de>
+Uwe Kleine-König <ukl@pengutronix.de>
+Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com>
+Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
+Takashi YOSHII <takashi.yoshii.zj@renesas.com>
diff --git a/Documentation/.gitignore b/Documentation/.gitignore
new file mode 100644
index 0000000..bcd907b
--- /dev/null
+++ b/Documentation/.gitignore
@@ -0,0 +1,7 @@
+filesystems/dnotify_test
+laptops/dslm
+timers/hpet_example
+vm/hugepage-mmap
+vm/hugepage-shm
+vm/map_hugetlb
+
diff --git a/Documentation/DocBook/.gitignore b/Documentation/DocBook/.gitignore
new file mode 100644
index 0000000..c6def35
--- /dev/null
+++ b/Documentation/DocBook/.gitignore
@@ -0,0 +1,10 @@
+*.xml
+*.ps
+*.pdf
+*.html
+*.9.gz
+*.9
+*.aux
+*.dvi
+*.log
+*.out
diff --git a/Documentation/DocBook/dvb/.gitignore b/Documentation/DocBook/dvb/.gitignore
new file mode 100644
index 0000000..d7ec32e
--- /dev/null
+++ b/Documentation/DocBook/dvb/.gitignore
@@ -0,0 +1 @@
+!*.xml
diff --git a/Documentation/DocBook/v4l/.gitignore b/Documentation/DocBook/v4l/.gitignore
new file mode 100644
index 0000000..d7ec32e
--- /dev/null
+++ b/Documentation/DocBook/v4l/.gitignore
@@ -0,0 +1 @@
+!*.xml
diff --git a/Documentation/accounting/.gitignore b/Documentation/accounting/.gitignore
new file mode 100644
index 0000000..8648520
--- /dev/null
+++ b/Documentation/accounting/.gitignore
@@ -0,0 +1 @@
+getdelays
diff --git a/Documentation/auxdisplay/.gitignore b/Documentation/auxdisplay/.gitignore
new file mode 100644
index 0000000..7af2228
--- /dev/null
+++ b/Documentation/auxdisplay/.gitignore
@@ -0,0 +1 @@
+cfag12864b-example
diff --git a/Documentation/connector/.gitignore b/Documentation/connector/.gitignore
new file mode 100644
index 0000000..d2b9c32
--- /dev/null
+++ b/Documentation/connector/.gitignore
@@ -0,0 +1 @@
+ucon
diff --git a/Documentation/ia64/.gitignore b/Documentation/ia64/.gitignore
new file mode 100644
index 0000000..ab806ed
--- /dev/null
+++ b/Documentation/ia64/.gitignore
@@ -0,0 +1 @@
+aliasing-test
diff --git a/Documentation/lguest/.gitignore b/Documentation/lguest/.gitignore
new file mode 100644
index 0000000..115587f
--- /dev/null
+++ b/Documentation/lguest/.gitignore
@@ -0,0 +1 @@
+lguest
diff --git a/Documentation/networking/.gitignore b/Documentation/networking/.gitignore
new file mode 100644
index 0000000..286a568
--- /dev/null
+++ b/Documentation/networking/.gitignore
@@ -0,0 +1 @@
+ifenslave
diff --git a/Documentation/networking/timestamping/.gitignore b/Documentation/networking/timestamping/.gitignore
new file mode 100644
index 0000000..71e81eb
--- /dev/null
+++ b/Documentation/networking/timestamping/.gitignore
@@ -0,0 +1 @@
+timestamping
diff --git a/Documentation/pcmcia/.gitignore b/Documentation/pcmcia/.gitignore
new file mode 100644
index 0000000..53d0813
--- /dev/null
+++ b/Documentation/pcmcia/.gitignore
@@ -0,0 +1 @@
+crc32hash
diff --git a/Documentation/spi/.gitignore b/Documentation/spi/.gitignore
new file mode 100644
index 0000000..4280576
--- /dev/null
+++ b/Documentation/spi/.gitignore
@@ -0,0 +1,2 @@
+spidev_fdx
+spidev_test
diff --git a/Documentation/video4linux/.gitignore b/Documentation/video4linux/.gitignore
new file mode 100644
index 0000000..9527039
--- /dev/null
+++ b/Documentation/video4linux/.gitignore
@@ -0,0 +1 @@
+v4lgrab
diff --git a/Documentation/vm/.gitignore b/Documentation/vm/.gitignore
new file mode 100644
index 0000000..09b164a
--- /dev/null
+++ b/Documentation/vm/.gitignore
@@ -0,0 +1,2 @@
+page-types
+slabinfo
diff --git a/Documentation/watchdog/src/.gitignore b/Documentation/watchdog/src/.gitignore
new file mode 100644
index 0000000..ac90997
--- /dev/null
+++ b/Documentation/watchdog/src/.gitignore
@@ -0,0 +1,2 @@
+watchdog-simple
+watchdog-test
diff --git a/arch/.gitignore b/arch/.gitignore
new file mode 100644
index 0000000..7414689
--- /dev/null
+++ b/arch/.gitignore
@@ -0,0 +1,2 @@
+i386
+x86_64
diff --git a/arch/alpha/kernel/.gitignore b/arch/alpha/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/alpha/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
new file mode 100644
index 0000000..c4f90a1
--- /dev/null
+++ b/arch/arm/boot/.gitignore
@@ -0,0 +1,8 @@
+Image
+zImage
+xipImage
+bootpImage
+uImage
+lib1funcs.S
+piggy.gzip
+vmlinux
diff --git a/arch/arm/boot/compressed/.gitignore b/arch/arm/boot/compressed/.gitignore
new file mode 100644
index 0000000..c602896
--- /dev/null
+++ b/arch/arm/boot/compressed/.gitignore
@@ -0,0 +1,7 @@
+font.c
+lib1funcs.S
+piggy.gzip
+piggy.lzo
+piggy.lzma
+vmlinux
+vmlinux.lds
diff --git a/arch/arm/configs/ambarella_a5s_defconfig b/arch/arm/configs/ambarella_a5s_defconfig
index 7ef6b58..ad71b14 100644
--- a/arch/arm/configs/ambarella_a5s_defconfig
+++ b/arch/arm/configs/ambarella_a5s_defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
 # Linux/arm 2.6.38.8 Kernel Configuration
-# Wed Dec  3 07:35:25 2014
+# Thu May 21 15:33:33 2015
 #
 CONFIG_ARM=y
 CONFIG_HAVE_PWM=y
@@ -659,6 +659,7 @@
 # CONFIG_NET_CLS_IND is not set
 CONFIG_NET_SCH_FIFO=y
 # CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
 # CONFIG_BATMAN_ADV is not set
 
 #
@@ -1494,6 +1495,7 @@
 CONFIG_CONFIGFS_FS=y
 CONFIG_MISC_FILESYSTEMS=y
 # CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
 # CONFIG_HFS_FS is not set
 # CONFIG_HFSPLUS_FS is not set
 # CONFIG_BEFS_FS is not set
@@ -1531,7 +1533,28 @@
 # CONFIG_QNX4FS_FS is not set
 # CONFIG_ROMFS_FS is not set
 # CONFIG_SYSV_FS is not set
-# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=y
+CONFIG_NFS_V3=y
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=y
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_ROOT_NFS is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+# CONFIG_NFS_USE_NEW_IDMAPPER is not set
+# CONFIG_NFSD is not set
+CONFIG_LOCKD=y
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=y
+CONFIG_SUNRPC_GSS=y
+CONFIG_RPCSEC_GSS_KRB5=y
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
 
 #
 # Partition Types
@@ -1627,7 +1650,8 @@
 #
 # Security options
 #
-# CONFIG_KEYS is not set
+CONFIG_KEYS=y
+# CONFIG_KEYS_DEBUG_PROC_KEYS is not set
 # CONFIG_SECURITY_DMESG_RESTRICT is not set
 # CONFIG_SECURITY is not set
 # CONFIG_SECURITYFS is not set
diff --git a/arch/arm/kernel/.gitignore b/arch/arm/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/arm/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/arm/mach-ambarella/init-dropcam-quartz.c b/arch/arm/mach-ambarella/init-dropcam-quartz.c
index 84bdbe7..f028b55 100644
--- a/arch/arm/mach-ambarella/init-dropcam-quartz.c
+++ b/arch/arm/mach-ambarella/init-dropcam-quartz.c
@@ -383,7 +383,7 @@
 
 	ambarella_platform_sd_controller0.slot[1].cd_delay = 100;
 	ambarella_platform_sd_controller0.slot[1].fixed_wp = 0;
-	ambarella_platform_sd_controller0.slot[1].fixed_cd = 0;
+	ambarella_platform_sd_controller0.slot[1].fixed_cd = 1;
 	ambarella_platform_sd_controller0.slot[1].gpio_cd.irq_gpio = -1;
 	ambarella_platform_sd_controller0.slot[1].gpio_cd.irq_line = -1;
 	ambarella_platform_sd_controller0.slot[1].gpio_cd.irq_type = -1;
diff --git a/arch/avr32/boot/images/.gitignore b/arch/avr32/boot/images/.gitignore
new file mode 100644
index 0000000..64ea9d0
--- /dev/null
+++ b/arch/avr32/boot/images/.gitignore
@@ -0,0 +1,4 @@
+uImage
+uImage.srec
+vmlinux.cso
+sfdwarf.log
diff --git a/arch/avr32/kernel/.gitignore b/arch/avr32/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/avr32/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/blackfin/boot/.gitignore b/arch/blackfin/boot/.gitignore
new file mode 100644
index 0000000..229e508
--- /dev/null
+++ b/arch/blackfin/boot/.gitignore
@@ -0,0 +1,2 @@
+vmImage*
+vmlinux*
diff --git a/arch/blackfin/kernel/.gitignore b/arch/blackfin/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/blackfin/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/cris/boot/.gitignore b/arch/cris/boot/.gitignore
new file mode 100644
index 0000000..171a085
--- /dev/null
+++ b/arch/cris/boot/.gitignore
@@ -0,0 +1,2 @@
+Image
+zImage
diff --git a/arch/ia64/kernel/.gitignore b/arch/ia64/kernel/.gitignore
new file mode 100644
index 0000000..21cb0da
--- /dev/null
+++ b/arch/ia64/kernel/.gitignore
@@ -0,0 +1,2 @@
+gate.lds
+vmlinux.lds
diff --git a/arch/m32r/kernel/.gitignore b/arch/m32r/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/m32r/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/m68k/kernel/.gitignore b/arch/m68k/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/m68k/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/m68knommu/kernel/.gitignore b/arch/m68knommu/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/m68knommu/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/mips/boot/.gitignore b/arch/mips/boot/.gitignore
new file mode 100644
index 0000000..f210b09
--- /dev/null
+++ b/arch/mips/boot/.gitignore
@@ -0,0 +1,6 @@
+mkboot
+elf2ecoff
+vmlinux.*
+zImage
+zImage.tmp
+calc_vmlinuz_load_addr
diff --git a/arch/mips/kernel/.gitignore b/arch/mips/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/mips/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/mn10300/boot/.gitignore b/arch/mn10300/boot/.gitignore
new file mode 100644
index 0000000..b6718de
--- /dev/null
+++ b/arch/mn10300/boot/.gitignore
@@ -0,0 +1 @@
+zImage
diff --git a/arch/parisc/kernel/.gitignore b/arch/parisc/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/parisc/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/powerpc/boot/.gitignore b/arch/powerpc/boot/.gitignore
new file mode 100644
index 0000000..3d80c3e
--- /dev/null
+++ b/arch/powerpc/boot/.gitignore
@@ -0,0 +1,48 @@
+addnote
+dtc
+empty.c
+hack-coff
+infblock.c
+infblock.h
+infcodes.c
+infcodes.h
+inffast.c
+inffast.h
+inffixed.h
+inflate.c
+inflate.h
+inftrees.c
+inftrees.h
+infutil.c
+infutil.h
+kernel-vmlinux.strip.c
+kernel-vmlinux.strip.gz
+mktree
+uImage
+cuImage.*
+dtbImage.*
+treeImage.*
+zImage
+zImage.initrd
+zImage.bin.*
+zImage.chrp
+zImage.coff
+zImage.holly
+zImage.iseries
+zImage.*lds
+zImage.miboot
+zImage.pmac
+zImage.pseries
+zconf.h
+zlib.h
+zutil.h
+fdt.c
+fdt.h
+fdt_ro.c
+fdt_rw.c
+fdt_strerror.c
+fdt_sw.c
+fdt_wip.c
+libfdt.h
+libfdt_internal.h
+
diff --git a/arch/powerpc/boot/dtc-src/.gitignore b/arch/powerpc/boot/dtc-src/.gitignore
new file mode 100644
index 0000000..a7c3f94
--- /dev/null
+++ b/arch/powerpc/boot/dtc-src/.gitignore
@@ -0,0 +1,3 @@
+dtc-lexer.lex.c
+dtc-parser.tab.c
+dtc-parser.tab.h
diff --git a/arch/powerpc/kernel/.gitignore b/arch/powerpc/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/powerpc/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/powerpc/kernel/vdso32/.gitignore b/arch/powerpc/kernel/vdso32/.gitignore
new file mode 100644
index 0000000..fea5809
--- /dev/null
+++ b/arch/powerpc/kernel/vdso32/.gitignore
@@ -0,0 +1,2 @@
+vdso32.lds
+vdso32.so.dbg
diff --git a/arch/powerpc/kernel/vdso64/.gitignore b/arch/powerpc/kernel/vdso64/.gitignore
new file mode 100644
index 0000000..77a0b42
--- /dev/null
+++ b/arch/powerpc/kernel/vdso64/.gitignore
@@ -0,0 +1,2 @@
+vdso64.lds
+vdso64.so.dbg
diff --git a/arch/powerpc/platforms/cell/spufs/.gitignore b/arch/powerpc/platforms/cell/spufs/.gitignore
new file mode 100644
index 0000000..a09ee8d
--- /dev/null
+++ b/arch/powerpc/platforms/cell/spufs/.gitignore
@@ -0,0 +1,2 @@
+spu_save_dump.h
+spu_restore_dump.h
diff --git a/arch/sh/boot/.gitignore b/arch/sh/boot/.gitignore
new file mode 100644
index 0000000..541087d
--- /dev/null
+++ b/arch/sh/boot/.gitignore
@@ -0,0 +1,3 @@
+zImage
+vmlinux*
+uImage*
diff --git a/arch/sh/boot/compressed/.gitignore b/arch/sh/boot/compressed/.gitignore
new file mode 100644
index 0000000..2374a83
--- /dev/null
+++ b/arch/sh/boot/compressed/.gitignore
@@ -0,0 +1 @@
+vmlinux.bin.*
diff --git a/arch/sh/kernel/.gitignore b/arch/sh/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/sh/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/sh/kernel/vsyscall/.gitignore b/arch/sh/kernel/vsyscall/.gitignore
new file mode 100644
index 0000000..40836ad
--- /dev/null
+++ b/arch/sh/kernel/vsyscall/.gitignore
@@ -0,0 +1 @@
+vsyscall.lds
diff --git a/arch/sparc/boot/.gitignore b/arch/sparc/boot/.gitignore
new file mode 100644
index 0000000..fc6f398
--- /dev/null
+++ b/arch/sparc/boot/.gitignore
@@ -0,0 +1,8 @@
+btfix.S
+btfixupprep
+image
+zImage
+tftpboot.img
+vmlinux.aout
+piggyback
+
diff --git a/arch/sparc/kernel/.gitignore b/arch/sparc/kernel/.gitignore
new file mode 100644
index 0000000..c5f676c
--- /dev/null
+++ b/arch/sparc/kernel/.gitignore
@@ -0,0 +1 @@
+vmlinux.lds
diff --git a/arch/um/.gitignore b/arch/um/.gitignore
new file mode 100644
index 0000000..a73d3a1
--- /dev/null
+++ b/arch/um/.gitignore
@@ -0,0 +1,3 @@
+kernel/config.c
+kernel/config.tmp
+kernel/vmlinux.lds
diff --git a/arch/x86/.gitignore b/arch/x86/.gitignore
new file mode 100644
index 0000000..0280790
--- /dev/null
+++ b/arch/x86/.gitignore
@@ -0,0 +1,3 @@
+boot/compressed/vmlinux
+tools/test_get_len
+
diff --git a/arch/x86/boot/.gitignore b/arch/x86/boot/.gitignore
new file mode 100644
index 0000000..851fe93
--- /dev/null
+++ b/arch/x86/boot/.gitignore
@@ -0,0 +1,10 @@
+bootsect
+bzImage
+cpustr.h
+mkcpustr
+offsets.h
+voffset.h
+zoffset.h
+setup
+setup.bin
+setup.elf
diff --git a/arch/x86/boot/compressed/.gitignore b/arch/x86/boot/compressed/.gitignore
new file mode 100644
index 0000000..4a46fab
--- /dev/null
+++ b/arch/x86/boot/compressed/.gitignore
@@ -0,0 +1,6 @@
+relocs
+vmlinux.bin.all
+vmlinux.relocs
+vmlinux.lds
+mkpiggy
+piggy.S
diff --git a/arch/x86/boot/tools/.gitignore b/arch/x86/boot/tools/.gitignore
new file mode 100644
index 0000000..378eac2
--- /dev/null
+++ b/arch/x86/boot/tools/.gitignore
@@ -0,0 +1 @@
+build
diff --git a/arch/x86/kernel/.gitignore b/arch/x86/kernel/.gitignore
new file mode 100644
index 0000000..08f4fd7
--- /dev/null
+++ b/arch/x86/kernel/.gitignore
@@ -0,0 +1,3 @@
+vsyscall.lds
+vsyscall_32.lds
+vmlinux.lds
diff --git a/arch/x86/kernel/acpi/realmode/.gitignore b/arch/x86/kernel/acpi/realmode/.gitignore
new file mode 100644
index 0000000..58f1f48
--- /dev/null
+++ b/arch/x86/kernel/acpi/realmode/.gitignore
@@ -0,0 +1,3 @@
+wakeup.bin
+wakeup.elf
+wakeup.lds
diff --git a/arch/x86/kernel/cpu/.gitignore b/arch/x86/kernel/cpu/.gitignore
new file mode 100644
index 0000000..667df55
--- /dev/null
+++ b/arch/x86/kernel/cpu/.gitignore
@@ -0,0 +1 @@
+capflags.c
diff --git a/arch/x86/lib/.gitignore b/arch/x86/lib/.gitignore
new file mode 100644
index 0000000..8df89f0
--- /dev/null
+++ b/arch/x86/lib/.gitignore
@@ -0,0 +1 @@
+inat-tables.c
diff --git a/arch/x86/vdso/.gitignore b/arch/x86/vdso/.gitignore
new file mode 100644
index 0000000..60274d5
--- /dev/null
+++ b/arch/x86/vdso/.gitignore
@@ -0,0 +1,6 @@
+vdso.lds
+vdso-syms.lds
+vdso32-syms.lds
+vdso32-syscall-syms.lds
+vdso32-sysenter-syms.lds
+vdso32-int80-syms.lds
diff --git a/arch/x86/vdso/vdso32/.gitignore b/arch/x86/vdso/vdso32/.gitignore
new file mode 100644
index 0000000..e45fba9
--- /dev/null
+++ b/arch/x86/vdso/vdso32/.gitignore
@@ -0,0 +1 @@
+vdso32.lds
diff --git a/drivers/atm/.gitignore b/drivers/atm/.gitignore
new file mode 100644
index 0000000..fc0ae5e
--- /dev/null
+++ b/drivers/atm/.gitignore
@@ -0,0 +1,5 @@
+# Ignore generated files
+fore200e_mkfirm
+fore200e_pca_fw.c
+pca200e.bin
+pca200e_ecd.bin2
diff --git a/drivers/char/.gitignore b/drivers/char/.gitignore
new file mode 100644
index 0000000..7bcea53
--- /dev/null
+++ b/drivers/char/.gitignore
@@ -0,0 +1,2 @@
+consolemap_deftbl.c
+defkeymap.c
diff --git a/drivers/eisa/.gitignore b/drivers/eisa/.gitignore
new file mode 100644
index 0000000..4b335c0
--- /dev/null
+++ b/drivers/eisa/.gitignore
@@ -0,0 +1 @@
+devlist.h
diff --git a/drivers/gpu/drm/radeon/.gitignore b/drivers/gpu/drm/radeon/.gitignore
new file mode 100644
index 0000000..403eb3a
--- /dev/null
+++ b/drivers/gpu/drm/radeon/.gitignore
@@ -0,0 +1,3 @@
+mkregtable
+*_reg_safe.h
+
diff --git a/drivers/mmc/host/ambarella_sd.c b/drivers/mmc/host/ambarella_sd.c
index 6e7079d..d367f51 100644
--- a/drivers/mmc/host/ambarella_sd.c
+++ b/drivers/mmc/host/ambarella_sd.c
@@ -437,8 +437,10 @@
 	amba_writeb(pinfo->regbase + SD_TMO_OFFSET,
 		CONFIG_SD_AMBARELLA_TIMEOUT_VAL);
 
-	nis_flag = SD_NISEN_REMOVAL	|
-		SD_NISEN_INSERT		|
+	nis_flag =
+		// We don't have any removable card slots.
+		// SD_NISEN_REMOVAL	|
+		// SD_NISEN_INSERT		|
 		SD_NISEN_DMA		|
 		SD_NISEN_BLOCK_GAP	|
 		SD_NISEN_XFR_DONE	|
@@ -520,18 +522,12 @@
 static inline void ambarella_sd_data_done(
 	struct ambarella_sd_mmc_info *pslotinfo, u16 nis, u16 eis)
 {
+	struct mmc_command *cmd;
 	struct mmc_data *data;
+	struct ambarella_sd_controller_info *pinfo;
+	u32 rsp0, rsp1, rsp2, rsp3;
 
-	if ((pslotinfo->state == AMBA_SD_STATE_CMD) &&
-		((pslotinfo->cmd_reg & 0x3) == SD_CMD_RSP_48BUSY)) {
-		if (eis) {
-			pslotinfo->state = AMBA_SD_STATE_ERR;
-		} else {
-			pslotinfo->state = AMBA_SD_STATE_IDLE;
-		}
-		wake_up(&pslotinfo->wait);
-		return;
-	}
+	// We should not receive this IRQ if we have AMBA_SD_STATE_CMD.
 	if (pslotinfo->mrq == NULL) {
 		ambsd_dbg(pslotinfo, "%s: mrq is NULL, nis[0x%x] eis[0x%x]\n",
 			__func__, nis, eis);
@@ -543,6 +539,8 @@
 		return;
 	}
 
+	pinfo = (struct ambarella_sd_controller_info *)pslotinfo->pinfo;
+	cmd = pslotinfo->mrq->cmd;
 	data = pslotinfo->mrq->data;
 	if (eis) {
 		if (eis & SD_EIS_DATA_BIT_ERR) {
@@ -565,6 +563,20 @@
 		data->bytes_xfered = pslotinfo->dma_size;
 	}
 
+	// Our command should be done as well.
+	if (cmd->flags & MMC_RSP_136) {
+		rsp0 = amba_readl(pinfo->regbase + SD_RSP0_OFFSET);
+		rsp1 = amba_readl(pinfo->regbase + SD_RSP1_OFFSET);
+		rsp2 = amba_readl(pinfo->regbase + SD_RSP2_OFFSET);
+		rsp3 = amba_readl(pinfo->regbase + SD_RSP3_OFFSET);
+		cmd->resp[0] = ((rsp3 << 8) | (rsp2 >> 24));
+		cmd->resp[1] = ((rsp2 << 8) | (rsp1 >> 24));
+		cmd->resp[2] = ((rsp1 << 8) | (rsp0 >> 24));
+		cmd->resp[3] = (rsp0 << 8);
+	} else {
+		cmd->resp[0] = amba_readl(pinfo->regbase + SD_RSP0_OFFSET);
+	}
+
 	pslotinfo->state = AMBA_SD_STATE_IDLE;
 	wake_up(&pslotinfo->wait);
 }
@@ -638,8 +650,7 @@
 		cmd->resp[0] = amba_readl(pinfo->regbase + SD_RSP0_OFFSET);
 	}
 
-	if ((pslotinfo->state == AMBA_SD_STATE_CMD) &&
-		((pslotinfo->cmd_reg & 0x3) != SD_CMD_RSP_48BUSY)) {
+	if ((pslotinfo->cmd_reg & 0x3) != SD_CMD_RSP_48BUSY) {
 		pslotinfo->state = AMBA_SD_STATE_IDLE;
 		wake_up(&pslotinfo->wait);
 	}
@@ -651,57 +662,38 @@
 	struct ambarella_sd_mmc_info *pslotinfo = NULL;
 	u16 nis;
 	u16 eis;
-	u32 enabled = 0;
-	u32 i;
+	u16 nixen;
 
 	pinfo = (struct ambarella_sd_controller_info *)devid;
+	// We can hard-code it to slot 1 (wifi).
+	// It is always enabled.
+	pslotinfo = pinfo->pslotinfo[1];
 
 	/* Read the interrupt registers */
 	amba_read2w(pinfo->regbase + SD_NIS_OFFSET, &nis, &eis);
-
-	for (i = 0; i < pinfo->pcontroller->num_slots; i++) {
-		pslotinfo = pinfo->pslotinfo[i];
-		enabled = pslotinfo->plat_info->check_owner();
-		if (enabled)
-			break;
+	if (pslotinfo->state == AMBA_SD_STATE_DATA) {
+		// We sent a data command.
+		if ((nis & (SD_NIS_XFR_DONE | SD_NIS_CMD_DONE)) == SD_NIS_CMD_DONE) {
+			// A card IRQ brought us in, but we don't want to handle the
+			// command done.
+			nis &= ~SD_NIS_CMD_DONE;
+		}
+		// Technically XFR_DONE could also come before CMD_DONE, but this
+		// has never been observed.
 	}
-
 	/* Clear interrupt */
 	amba_write2w(pinfo->regbase + SD_NIS_OFFSET, nis, eis);
-	if (enabled) {
-		ambsd_dbg(pslotinfo, "%s nis = 0x%x, eis = 0x%x & %u\n",
-			__func__, nis, eis, pslotinfo->state);
-	} else {
-		ambsd_dbg(pslotinfo, "%s[false] nis = 0x%x, eis = 0x%x\n",
-			__func__, nis, eis);
-		if (eis) {
-			ambsd_err(pslotinfo,
-				"FIO_CTR_REG = 0x%x, FIO_DMACTR_REG = 0x%x\n",
-				amba_readl(FIO_CTR_REG),
-				amba_readl(FIO_DMACTR_REG));
-			ambarella_sd_reset_all(pslotinfo->mmc);
-		}
-		goto ambarella_sd_irq_exit;
-	}
+
+	ambsd_dbg(pslotinfo, "%s nis = 0x%x, eis = 0x%x & %u\n",
+		__func__, nis, eis, pslotinfo->state);
 
 	if (nis & SD_NIS_CARD) {
 		ambsd_dbg(pslotinfo, "SD_NIS_CARD\n");
 		mmc_signal_sdio_irq(pslotinfo->mmc);
 	}
 
-	if (!ambarella_is_valid_gpio_irq(&pslotinfo->plat_info->gpio_cd) &&
-		(pslotinfo->plat_info->fixed_cd == -1)) {
-		if (nis & SD_NIS_REMOVAL) {
-			ambsd_dbg(pslotinfo, "SD_NIS_REMOVAL\n");
-			mmc_detect_change(pslotinfo->mmc,
-				pslotinfo->plat_info->cd_delay);
-		} else if (nis & SD_NIS_INSERT) {
-			ambsd_dbg(pslotinfo, "SD_NIS_INSERT\n");
-			mmc_detect_change(pslotinfo->mmc,
-				pslotinfo->plat_info->cd_delay);
-		}
-	}
-
+	// SD_NIS_REMOVAL, SD_NIS_INSERT and SD_NIS_DMA are disabled and not
+	// handled.
 	if (eis) {
 		if (eis & (SD_EIS_CMD_TMOUT_ERR | SD_EIS_CMD_CRC_ERR |
 			SD_EIS_CMD_BIT_ERR | SD_EIS_CMD_IDX_ERR |
@@ -720,18 +712,12 @@
 			ambarella_sd_data_done(pslotinfo, nis, eis);
 		}
 	} else {
-		if (nis & SD_NIS_CMD_DONE) {
+		if (nis & SD_NIS_XFR_DONE) {
+			// Both command and data are now done.
+			ambarella_sd_data_done(pslotinfo, nis, eis);
+		} else if (nis & SD_NIS_CMD_DONE) {
 			ambarella_sd_cmd_done(pslotinfo, nis, eis);
 		}
-		if (nis & SD_NIS_XFR_DONE) {
-			ambarella_sd_data_done(pslotinfo, nis, eis);
-		}
-#if 0
-		if (nis & SD_NIS_DMA) {
-			amba_writel(pinfo->regbase + SD_DMA_ADDR_OFFSET,
-			amba_readl(pinfo->regbase + SD_DMA_ADDR_OFFSET));
-		}
-#endif
 	}
 
 ambarella_sd_irq_exit:
@@ -945,34 +931,6 @@
 	}
 }
 
-static u32 ambarella_sd_check_cd(struct mmc_host *mmc)
-{
-	struct ambarella_sd_mmc_info *pslotinfo = mmc_priv(mmc);
-	struct ambarella_sd_controller_info *pinfo;
-	int cdpin;
-	u32 valid_cd = 0;
-
-	pinfo = (struct ambarella_sd_controller_info *)pslotinfo->pinfo;
-
-	if (pslotinfo->plat_info->fixed_cd == 1) {
-		valid_cd = 1;
-	} else if (pslotinfo->plat_info->fixed_cd == 0) {
-		valid_cd = 0;
-	} else {
-		cdpin = ambarella_sd_gpio_cd_check_val(pslotinfo);
-		if (cdpin == 1) {
-			valid_cd = 1;
-		} else if (cdpin == -1) {
-			if (amba_tstbitsl(pinfo->regbase + SD_STA_OFFSET,
-				SD_STA_CARD_INSERTED)) {
-				valid_cd = 1;
-			}
-		}
-	}
-
-	return valid_cd;
-}
-
 static inline void ambarella_sd_prepare_tmo(
 	struct ambarella_sd_mmc_info *pslotinfo,
 	struct mmc_data *pmmcdata)
@@ -1120,42 +1078,37 @@
 	struct ambarella_sd_mmc_info *pslotinfo)
 {
 	struct ambarella_sd_controller_info *pinfo;
-	u32 valid_request = 0;
-	u32 counter = 0;
 	u32 sta_reg;
 	u32 tmpreg;
 	long timeout;
+	u16 nixen_reg;
 
 	pinfo = (struct ambarella_sd_controller_info *)pslotinfo->pinfo;
 
 	ambarella_sd_request_bus(pslotinfo->mmc);
 
-	valid_request = ambarella_sd_check_cd(pslotinfo->mmc);
-	ambsd_dbg(pslotinfo, "cmd = %u valid_request = %u.\n",
-		pslotinfo->mrq->cmd->opcode, valid_request);
-	if (!valid_request) {
-		pslotinfo->mrq->cmd->error = -ENOMEDIUM;
-		pslotinfo->state = AMBA_SD_STATE_ERR;
-		goto ambarella_sd_send_cmd_exit;
-	}
+	ambsd_dbg(pslotinfo, "cmd = %u.\n", pslotinfo->mrq->cmd->opcode);
 
 	ambarella_sd_check_ios(pslotinfo->mmc, &pslotinfo->mmc->ios);
+
+	sta_reg = amba_readl(pinfo->regbase + SD_STA_OFFSET);
 	if (pslotinfo->mrq->data) {
-		while (1) {
-			sta_reg = amba_readl(pinfo->regbase + SD_STA_OFFSET);
-			if ((sta_reg & SD_STA_CMD_INHIBIT_DAT) == 0) {
-				break;
-			}
-			counter++;
-			if (counter > CONFIG_SD_AMBARELLA_WAIT_COUNTER_LIMIT) {
-				ambsd_warn(pslotinfo,
-					"Wait SD_STA_CMD_INHIBIT_DAT...\n");
-				pslotinfo->state = AMBA_SD_STATE_ERR;
-				pinfo->reset_error = 1;
-				goto ambarella_sd_send_cmd_exit;
-			}
+		if (sta_reg & SD_STA_CMD_INHIBIT_DAT) {
+			// This should not happen because we wait for commands to
+			// complete
+			ambsd_warn(pslotinfo, "SD_STA_CMD_INHIBIT_DAT...\n");
+			pslotinfo->state = AMBA_SD_STATE_ERR;
+			pinfo->reset_error = 1;
+			goto ambarella_sd_send_cmd_exit;
 		}
 
+		// We're doing blocking data transfer, and we don't want to care about
+		// when the command is done. The data done IRQ should come and we can
+		// handle both. This saves us one IRQ.
+		nixen_reg = amba_readw(pinfo->regbase + SD_NIXEN_OFFSET);
+		amba_writew(pinfo->regbase + SD_NIXEN_OFFSET,
+			nixen_reg & ~SD_NIXEN_CMD_DONE);
+
 		amba_writeb(pinfo->regbase + SD_TMO_OFFSET, pslotinfo->tmo);
 		amba_writel(pinfo->regbase + SD_DMA_ADDR_OFFSET,
 			pslotinfo->dma_address);
@@ -1165,19 +1118,13 @@
 		amba_write2w(pinfo->regbase + SD_XFR_OFFSET,
 			pslotinfo->xfr_reg, pslotinfo->cmd_reg);
 	} else {
-		while (1) {
-			sta_reg = amba_readl(pinfo->regbase + SD_STA_OFFSET);
-			if ((sta_reg & SD_STA_CMD_INHIBIT_CMD) == 0) {
-				break;
-			}
-			counter++;
-			if (counter > CONFIG_SD_AMBARELLA_WAIT_COUNTER_LIMIT) {
-				ambsd_warn(pslotinfo,
-					"Wait SD_STA_CMD_INHIBIT_CMD...\n");
-				pslotinfo->state = AMBA_SD_STATE_ERR;
-				pinfo->reset_error = 1;
-				goto ambarella_sd_send_cmd_exit;
-			}
+		if (sta_reg & SD_STA_CMD_INHIBIT_CMD) {
+			// This should not happen because we wait for commands to
+			// complete
+			ambsd_warn(pslotinfo, "Wait SD_STA_CMD_INHIBIT_CMD...\n");
+			pslotinfo->state = AMBA_SD_STATE_ERR;
+			pinfo->reset_error = 1;
+			goto ambarella_sd_send_cmd_exit;
 		}
 
 		amba_writel(pinfo->regbase + SD_ARG_OFFSET, pslotinfo->arg_reg);
@@ -1254,6 +1201,8 @@
 				sta_reg, pslotinfo->sta_reg);
 			pslotinfo->mrq->data->error = -ETIMEDOUT;
 		}
+		// Now that we're done, restore the cmd done IRQ.
+		amba_writew(pinfo->regbase + SD_NIXEN_OFFSET, nixen_reg);
 	}
 }
 
@@ -1339,14 +1288,11 @@
 static int ambarella_sd_get_cd(struct mmc_host *mmc)
 {
 	struct ambarella_sd_mmc_info *pslotinfo = mmc_priv(mmc);
-	u32 cdpin;
 
-	ambarella_sd_request_bus(mmc);
-	cdpin = ambarella_sd_check_cd(mmc);
-	ambarella_sd_release_bus(mmc);
-
-	ambsd_dbg(pslotinfo, "CD[%u].\n", cdpin);
-	return cdpin ? 1 : 0;
+	// Slot 0 is always 0.
+	// Slot 1 is always 1.
+	// See linux-2.6.38/arch/arm/mach-ambarella/init-dropcam-quartz.c
+	return pslotinfo->plat_info->fixed_cd;
 }
 
 static void ambarella_sd_enable_sdio_irq(struct mmc_host *mmc, int enable)
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 0e3763a..3b309a5 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -3153,7 +3153,8 @@
 				(*maf_id == NAND_MFR_SAMSUNG ||
 				 *maf_id == NAND_MFR_HYNIX ||
 				 *maf_id == NAND_MFR_TOSHIBA ||
-				 *maf_id == NAND_MFR_AMD)) ||
+				 *maf_id == NAND_MFR_AMD ||
+				 *maf_id == NAND_MFR_WINBOND)) ||
 			(mtd->writesize == 2048 &&
 			 *maf_id == NAND_MFR_MICRON))
 		chip->options |= NAND_BBT_SCAN2NDPAGE;
diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c
index 00cf1b0..b053db8 100644
--- a/drivers/mtd/nand/nand_ids.c
+++ b/drivers/mtd/nand/nand_ids.c
@@ -176,6 +176,7 @@
 	{NAND_MFR_HYNIX, "Hynix"},
 	{NAND_MFR_MICRON, "Micron"},
 	{NAND_MFR_AMD, "AMD"},
+	{NAND_MFR_WINBOND, "Winbond"},
 	{0x0, "Unknown"}
 };
 
diff --git a/drivers/net/wan/.gitignore b/drivers/net/wan/.gitignore
new file mode 100644
index 0000000..dae3ea6
--- /dev/null
+++ b/drivers/net/wan/.gitignore
@@ -0,0 +1 @@
+wanxlfw.inc
diff --git a/drivers/pci/.gitignore b/drivers/pci/.gitignore
new file mode 100644
index 0000000..f297ca8
--- /dev/null
+++ b/drivers/pci/.gitignore
@@ -0,0 +1,4 @@
+classlist.h
+devlist.h
+gen-devlist
+
diff --git a/drivers/scsi/.gitignore b/drivers/scsi/.gitignore
new file mode 100644
index 0000000..c89ae9a
--- /dev/null
+++ b/drivers/scsi/.gitignore
@@ -0,0 +1 @@
+53c700_d.h
diff --git a/drivers/scsi/aic7xxx/.gitignore b/drivers/scsi/aic7xxx/.gitignore
new file mode 100644
index 0000000..b8ee24d
--- /dev/null
+++ b/drivers/scsi/aic7xxx/.gitignore
@@ -0,0 +1,6 @@
+aic79xx_reg.h
+aic79xx_reg_print.c
+aic79xx_seq.h
+aic7xxx_reg.h
+aic7xxx_reg_print.c
+aic7xxx_seq.h
diff --git a/drivers/tty/vt/.gitignore b/drivers/tty/vt/.gitignore
new file mode 100644
index 0000000..83683a2
--- /dev/null
+++ b/drivers/tty/vt/.gitignore
@@ -0,0 +1,2 @@
+consolemap_deftbl.c
+defkeymap.c
diff --git a/drivers/usb/gadget/dropcam_storage.c b/drivers/usb/gadget/dropcam_storage.c
index 1502499..8e80069 100644
--- a/drivers/usb/gadget/dropcam_storage.c
+++ b/drivers/usb/gadget/dropcam_storage.c
@@ -104,8 +104,10 @@
 };
 FSG_MODULE_PARAMETERS(/* no prefix */, mod_data);
 
+static struct fsg_common common;
+
 static unsigned long msg_registered;
-static void msg_cleanup(void);
+static int msg_cleanup(void);
 
 static int msg_thread_exits(struct fsg_common *common)
 {
@@ -118,7 +120,6 @@
 	static const struct fsg_operations ops = {
 		.thread_exits = msg_thread_exits,
 	};
-	static struct fsg_common common;
 
 	struct fsg_common *retp;
 	struct fsg_config config;
@@ -188,12 +189,22 @@
 }
 module_init(msg_init);
 
-static void msg_cleanup(void)
+static int msg_cleanup(void)
 {
-	if (test_and_clear_bit(0, &msg_registered))
+	if (test_and_clear_bit(0, &msg_registered)) {
 		usb_composite_unregister(&msg_driver);
-	fs_release_netlink();
+                fs_release_netlink();
+                return 0;
+        }
+        return 1;
 }
-module_exit(msg_cleanup);
+
+static void module_cleanup(void)
+{
+        if (msg_cleanup()) {
+		wait_for_completion(&common.thread_notifier);
+        }
+}
+module_exit(module_cleanup);
 
 #include "dropcam_fsdrv.c"
diff --git a/drivers/video/logo/.gitignore b/drivers/video/logo/.gitignore
new file mode 100644
index 0000000..e48355f
--- /dev/null
+++ b/drivers/video/logo/.gitignore
@@ -0,0 +1,7 @@
+#
+# Generated files
+#
+*_mono.c
+*_vga16.c
+*_clut224.c
+*_gray256.c
diff --git a/drivers/watchdog/dropcam_tps3813k33.c b/drivers/watchdog/dropcam_tps3813k33.c
index a5061c3..5bdc03e 100644
--- a/drivers/watchdog/dropcam_tps3813k33.c
+++ b/drivers/watchdog/dropcam_tps3813k33.c
@@ -40,27 +40,22 @@
 #define	 DC_WDT_RESET_GPIO	 54
 
 #define	 DC_WDT_HALF_CYCLE_TIME	     ((HZ * 550)/1000)
+#define	 KERNEL_HEARTBEAT_EXPIRE_TIMEOUT	     (HZ * 10)	/* 10 seconds */
 
-static struct workqueue_struct *tps3813k33_wdt_kicker;
+static struct workqueue_struct *tps3813k33_kernel_heartbeat;
 
 struct dropcam_tps3813k33_info {
 	int last_toggle_value;
 	struct timer_list * ptimer;
+	unsigned long last_kernel_heartbeat;
 	struct work_struct tps3813k33_work;
 };
 
 static struct timer_list dropcam_tps3813k33_timer;
 
-static void dropcam_tps3813k33_toggle_worker(struct work_struct *work) {
+static void dropcam_tps3813k33_heartbeat_worker(struct work_struct *work) {
 	struct dropcam_tps3813k33_info *wdt_info = container_of(work, struct dropcam_tps3813k33_info, tps3813k33_work);
-
-	wdt_info->last_toggle_value = !wdt_info->last_toggle_value;
-
-	ambarella_gpio_set(DC_WDT_RESET_GPIO, wdt_info->last_toggle_value);
-
-	ambarella_gpio_set(DC_WDT_ENABLE_GPIO, 1);
-
-	mod_timer(wdt_info->ptimer, jiffies + DC_WDT_HALF_CYCLE_TIME);
+	wdt_info->last_kernel_heartbeat = jiffies;
 }
 
 static void dropcam_tps3813k33_toggle_timer_handler(unsigned long data)
@@ -68,7 +63,19 @@
 	struct dropcam_tps3813k33_info *wdt_info =
 		(struct dropcam_tps3813k33_info *)data;
 
-	queue_work(tps3813k33_wdt_kicker, &wdt_info->tps3813k33_work);
+	queue_work(tps3813k33_kernel_heartbeat, &wdt_info->tps3813k33_work);
+
+	/* this timer interrupt handler might still fire after kernel panic
+	 * kick the watchdog only if the kernel is alive */
+	if (jiffies - wdt_info->last_kernel_heartbeat < KERNEL_HEARTBEAT_EXPIRE_TIMEOUT) {
+		wdt_info->last_toggle_value = !wdt_info->last_toggle_value;
+
+		ambarella_gpio_set(DC_WDT_RESET_GPIO, wdt_info->last_toggle_value);
+
+		ambarella_gpio_set(DC_WDT_ENABLE_GPIO, 1);
+
+		mod_timer(wdt_info->ptimer, jiffies + DC_WDT_HALF_CYCLE_TIME);
+	}
 }
 
 static const struct file_operations dropcam_tps3813k33_fops = {
@@ -105,8 +112,8 @@
 
 	pinfo->ptimer->expires = jiffies + DC_WDT_HALF_CYCLE_TIME;
 
-	tps3813k33_wdt_kicker = create_workqueue("tps3813k33_wdt_kicker");
-	INIT_WORK(&pinfo->tps3813k33_work, dropcam_tps3813k33_toggle_worker);
+	tps3813k33_kernel_heartbeat = create_workqueue("tps3813k33_kernel_heartbeat");
+	INIT_WORK(&pinfo->tps3813k33_work, dropcam_tps3813k33_heartbeat_worker);
 
 	printk(KERN_INFO "Enabling TPS3813 HW WDT\n");
 	ambarella_gpio_config(DC_WDT_ENABLE_GPIO, GPIO_FUNC_SW_OUTPUT);
@@ -116,6 +123,8 @@
 
 	add_timer(pinfo->ptimer);
 
+	pinfo->last_kernel_heartbeat = jiffies;
+
 	goto dropcam_tps3813k33_ok;
 
 dropcam_tps3813k33_no_pinfo:
diff --git a/drivers/zorro/.gitignore b/drivers/zorro/.gitignore
new file mode 100644
index 0000000..34f980b
--- /dev/null
+++ b/drivers/zorro/.gitignore
@@ -0,0 +1,2 @@
+devlist.h
+gen-devlist
diff --git a/firmware/.gitignore b/firmware/.gitignore
new file mode 100644
index 0000000..d9c6901
--- /dev/null
+++ b/firmware/.gitignore
@@ -0,0 +1,6 @@
+*.gen.S
+*.fw
+*.bin
+*.csp
+*.dsp
+ihex2fw
diff --git a/firmware/cis/.gitignore b/firmware/cis/.gitignore
new file mode 100644
index 0000000..1de3984
--- /dev/null
+++ b/firmware/cis/.gitignore
@@ -0,0 +1 @@
+*.cis
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 1f489b2..eb14548 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -556,6 +556,7 @@
 #define NAND_MFR_HYNIX		0xad
 #define NAND_MFR_MICRON		0x2c
 #define NAND_MFR_AMD		0x01
+#define NAND_MFR_WINBOND	0xef
 
 /**
  * struct nand_flash_dev - NAND Flash Device ID Structure
diff --git a/kernel/.gitignore b/kernel/.gitignore
new file mode 100644
index 0000000..ab4f109
--- /dev/null
+++ b/kernel/.gitignore
@@ -0,0 +1,6 @@
+#
+# Generated files
+#
+config_data.h
+config_data.gz
+timeconst.h
diff --git a/kernel/debug/kdb/.gitignore b/kernel/debug/kdb/.gitignore
new file mode 100644
index 0000000..396d12e
--- /dev/null
+++ b/kernel/debug/kdb/.gitignore
@@ -0,0 +1 @@
+gen-kdb_cmds.c
diff --git a/lib/.gitignore b/lib/.gitignore
new file mode 100644
index 0000000..3bef1ea
--- /dev/null
+++ b/lib/.gitignore
@@ -0,0 +1,6 @@
+#
+# Generated files
+#
+gen_crc32table
+crc32table.h
+
diff --git a/lib/raid6/.gitignore b/lib/raid6/.gitignore
new file mode 100644
index 0000000..162beca
--- /dev/null
+++ b/lib/raid6/.gitignore
@@ -0,0 +1,4 @@
+mktables
+altivec*.c
+int*.c
+tables.c
diff --git a/net/wireless/.gitignore b/net/wireless/.gitignore
new file mode 100644
index 0000000..c33451b
--- /dev/null
+++ b/net/wireless/.gitignore
@@ -0,0 +1 @@
+regdb.c
diff --git a/scripts/.gitignore b/scripts/.gitignore
new file mode 100644
index 0000000..e2741d2
--- /dev/null
+++ b/scripts/.gitignore
@@ -0,0 +1,10 @@
+#
+# Generated files
+#
+conmakehash
+kallsyms
+pnmtologo
+bin2c
+unifdef
+ihex2fw
+recordmcount
diff --git a/scripts/basic/.gitignore b/scripts/basic/.gitignore
new file mode 100644
index 0000000..bf8b199
--- /dev/null
+++ b/scripts/basic/.gitignore
@@ -0,0 +1,3 @@
+hash
+fixdep
+docproc
diff --git a/scripts/dtc/.gitignore b/scripts/dtc/.gitignore
new file mode 100644
index 0000000..095acb4
--- /dev/null
+++ b/scripts/dtc/.gitignore
@@ -0,0 +1,5 @@
+dtc
+dtc-lexer.lex.c
+dtc-parser.tab.c
+dtc-parser.tab.h
+
diff --git a/scripts/genksyms/.gitignore b/scripts/genksyms/.gitignore
new file mode 100644
index 0000000..be5cadb
--- /dev/null
+++ b/scripts/genksyms/.gitignore
@@ -0,0 +1,4 @@
+keywords.c
+lex.c
+parse.[ch]
+genksyms
diff --git a/scripts/kconfig/.gitignore b/scripts/kconfig/.gitignore
new file mode 100644
index 0000000..624f650
--- /dev/null
+++ b/scripts/kconfig/.gitignore
@@ -0,0 +1,23 @@
+#
+# Generated files
+#
+config*
+lex.*.c
+*.tab.c
+*.tab.h
+zconf.hash.c
+*.moc
+lkc_defs.h
+gconf.glade.h
+*.pot
+*.mo
+
+#
+# configuration programs
+#
+conf
+mconf
+nconf
+qconf
+gconf
+kxgettext
diff --git a/scripts/kconfig/lxdialog/.gitignore b/scripts/kconfig/lxdialog/.gitignore
new file mode 100644
index 0000000..90b08ff
--- /dev/null
+++ b/scripts/kconfig/lxdialog/.gitignore
@@ -0,0 +1,4 @@
+#
+# Generated files
+#
+lxdialog
diff --git a/scripts/mod/.gitignore b/scripts/mod/.gitignore
new file mode 100644
index 0000000..e9b7abe
--- /dev/null
+++ b/scripts/mod/.gitignore
@@ -0,0 +1,4 @@
+elfconfig.h
+mk_elfconfig
+modpost
+
diff --git a/scripts/selinux/genheaders/.gitignore b/scripts/selinux/genheaders/.gitignore
new file mode 100644
index 0000000..4c0b646
--- /dev/null
+++ b/scripts/selinux/genheaders/.gitignore
@@ -0,0 +1 @@
+genheaders
diff --git a/scripts/selinux/mdp/.gitignore b/scripts/selinux/mdp/.gitignore
new file mode 100644
index 0000000..654546d
--- /dev/null
+++ b/scripts/selinux/mdp/.gitignore
@@ -0,0 +1,2 @@
+# Generated file
+mdp
diff --git a/security/apparmor/.gitignore b/security/apparmor/.gitignore
new file mode 100644
index 0000000..4d995ae
--- /dev/null
+++ b/security/apparmor/.gitignore
@@ -0,0 +1,6 @@
+#
+# Generated include files
+#
+af_names.h
+capability_names.h
+rlim_names.h
diff --git a/security/selinux/.gitignore b/security/selinux/.gitignore
new file mode 100644
index 0000000..2e5040a
--- /dev/null
+++ b/security/selinux/.gitignore
@@ -0,0 +1,2 @@
+av_permissions.h
+flask.h
diff --git a/sound/oss/.gitignore b/sound/oss/.gitignore
new file mode 100644
index 0000000..7efb12b
--- /dev/null
+++ b/sound/oss/.gitignore
@@ -0,0 +1,4 @@
+#Ignore generated files
+maui_boot.h
+pss_boot.h
+trix_boot.h
diff --git a/sound/soc/ambarella/ambarella_i2s.c b/sound/soc/ambarella/ambarella_i2s.c
index 84738b2..d063cd3 100644
--- a/sound/soc/ambarella/ambarella_i2s.c
+++ b/sound/soc/ambarella/ambarella_i2s.c
@@ -261,8 +261,12 @@
 static int ambarella_i2s_prepare(struct snd_pcm_substream *substream,
 			struct snd_soc_dai *dai)
 {
-	if(substream->stream == SNDRV_PCM_STREAM_CAPTURE)
-		dai_fifo_rst();
+	if(substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
+		dai_rx_disable();
+        } else {
+		dai_tx_disable();
+        }
+	dai_fifo_rst();
 	return 0;
 }
 
diff --git a/sound/soc/ambarella/ambarella_pcm.c b/sound/soc/ambarella/ambarella_pcm.c
index 1f64aa0..cbb0b45 100644
--- a/sound/soc/ambarella/ambarella_pcm.c
+++ b/sound/soc/ambarella/ambarella_pcm.c
@@ -100,53 +100,40 @@
 	return ambarella_dma_desc_stop(prtd->channel);
 }
 
-static void dai_dma_handler(void *dev_id)
+static void dai_dma_handler(void *dev_id, u32 status)
 {
 	u32 *rpt;
-	int cur_descr;
 	struct snd_pcm_substream *substream = dev_id;
 	struct snd_pcm_runtime *runtime = substream->runtime;
 	struct ambarella_runtime_data *prtd = runtime->private_data;
 
-	cur_descr = prtd->last_descr;
+	rpt = &prtd->dma_rpt_buf[prtd->last_descr];
+	/* Descriptor chain done */
+	/* In actual test we only see `status` has the done bit set but not the
+	 * report buffer. The old ambarella code only checks the report buffer
+	 * but let also check it just in case. */
+	if (*rpt & 0x10000000 || (status & DMA_CHANX_STA_DD)) {
+		/* Don't increase the descriptor index because DMA
+		 * is terminated. */
+                *rpt &= ~0x10000000;
+		return;
+	}
 
 	prtd->last_descr++;
 	if (prtd->last_descr >= prtd->ndescr) {
 		prtd->last_descr = 0;
 	}
 	snd_pcm_period_elapsed(substream);
-
-	/* Check if stop dma chain */
-	rpt = &prtd->dma_rpt_buf[cur_descr];
-	if (*rpt & 0x10000000) { /* Descriptor chain done */
-		*rpt &= (~0x10000000);
-		if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
-			/* dai_tx_disable() */
-			amba_clrbitsl(I2S_INIT_REG, 0x4);
-			/* dai_fifo_rst() */
-			if(!amba_tstbitsl(I2S_INIT_REG, 0x6))
-				amba_setbitsl(I2S_INIT_REG, 0x1);
-		} else {
-			/* dai_rx_disable() */
-			amba_clrbitsl(I2S_INIT_REG, 0x2);
-			/* dai_fifo_rst() */
-			if(!amba_tstbitsl(I2S_INIT_REG, 0x6))
-				amba_setbitsl(I2S_INIT_REG, 0x1);
-		}
-	}
-
-	//if (*rpt & 0x08000000)  /* Descriptor DMA operation done */
-	//	*rpt &= (~0x08000000);
 }
 
 static void dai_rx_dma_handler(void *dev_id, u32 status)
 {
-	dai_dma_handler(dev_id);
+	dai_dma_handler(dev_id, status);
 }
 
 static void dai_tx_dma_handler(void *dev_id, u32 status)
 {
-	dai_dma_handler(dev_id);
+	dai_dma_handler(dev_id, status);
 }
 
 /* this may get called several times by oss emulation */
@@ -282,6 +269,10 @@
 	/* Ensure dma is stopped */
 	ambarella_dai_dma_stop(prtd);
 
+	/* Reset ring buffer. ALSA will reset internal `hw_ptr` after
+	 * `snd_pcm_prepare()`. If we don't reset the pointer here we will
+	 * trigger a XRUN at start due to large `hw_ptr` delta.*/
+	prtd->last_descr = 0;
 	return 0;
 }
 
diff --git a/sound/soc/codecs/wm8974_amb.c b/sound/soc/codecs/wm8974_amb.c
index 046bfa0..b3d0541 100755
--- a/sound/soc/codecs/wm8974_amb.c
+++ b/sound/soc/codecs/wm8974_amb.c
@@ -222,8 +222,8 @@
 SOC_SINGLE("Mono Playback Switch", WM8974_MONOMIX, 6, 1, 1),
 
 /* DAC / ADC oversampling */
-SOC_SINGLE("DAC 128x Oversampling Switch", WM8974_DAC, 8, 1, 0),
-SOC_SINGLE("ADC 128x Oversampling Switch", WM8974_ADC, 8, 1, 0),
+SOC_SINGLE("DAC 128x Oversampling Switch", WM8974_DAC, 3, 1, 0),
+SOC_SINGLE("ADC 128x Oversampling Switch", WM8974_ADC, 3, 1, 0),
 };
 
 /* Speaker Output Mixer */
diff --git a/tools/perf/.gitignore b/tools/perf/.gitignore
new file mode 100644
index 0000000..cb43289
--- /dev/null
+++ b/tools/perf/.gitignore
@@ -0,0 +1,22 @@
+PERF-BUILD-OPTIONS
+PERF-CFLAGS
+PERF-GUI-VARS
+PERF-VERSION-FILE
+perf
+perf-help
+perf-record
+perf-report
+perf-stat
+perf-top
+perf*.1
+perf*.xml
+perf*.html
+common-cmds.h
+perf.data
+perf.data.old
+perf-archive
+tags
+TAGS
+cscope*
+config.mak
+config.mak.autogen
diff --git a/usr/.gitignore b/usr/.gitignore
new file mode 100644
index 0000000..8e48117
--- /dev/null
+++ b/usr/.gitignore
@@ -0,0 +1,10 @@
+#
+# Generated files
+#
+gen_init_cpio
+initramfs_data.cpio
+initramfs_data.cpio.gz
+initramfs_data.cpio.bz2
+initramfs_data.cpio.lzma
+initramfs_list
+include
