diff -uprN linux-5.3/Makefile linux-5.3-bonsai/Makefile
--- linux-5.3/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/Makefile 2019-09-20 15:15:15.735623837 -0400
@@ -266,6 +266,7 @@ old_version_h := include/linux/version.h
clean-targets := %clean mrproper cleandocs
no-dot-config-targets := $(clean-targets) \
+ bonsai bonsai-revert \
cscope gtags TAGS tags help% %docs check% coccicheck \
$(version_h) headers headers_% archheaders archscripts \
%asm-generic kernelversion %src-pkg
@@ -1711,6 +1712,13 @@ namespacecheck:
export_report:
$(PERL) $(srctree)/scripts/export_report.pl
+PHONY += bonsai bonsai-revert
+bonsai:
+ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/bonsai.sh --trim
+
+bonsai-revert:
+ $(Q)$(CONFIG_SHELL) $(srctree)/scripts/bonsai.sh --revert
+
PHONY += checkstack kernelrelease kernelversion image_name
# UML needs a little special treatment here. It wants to use the host
@@ -1817,6 +1825,7 @@ endif # need-sub-make
PHONY += FORCE
FORCE:
+
# Declare the contents of the PHONY variable as phony. We keep that
# information in a variable so we can use it in if_changed and friends.
.PHONY: $(PHONY)
diff -uprN linux-5.3/arch/x86/Kbuild linux-5.3-bonsai/arch/x86/Kbuild
--- linux-5.3/arch/x86/Kbuild 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/Kbuild 2019-09-20 15:15:10.765623600 -0400
@@ -3,25 +3,7 @@ obj-y += entry/
obj-$(CONFIG_PERF_EVENTS) += events/
-obj-$(CONFIG_KVM) += kvm/
-
-# Xen paravirtualization support
-obj-$(CONFIG_XEN) += xen/
-
-obj-$(CONFIG_PVH) += platform/pvh/
-
-# Hyper-V paravirtualization support
-obj-$(subst m,y,$(CONFIG_HYPERV)) += hyperv/
-
obj-y += realmode/
obj-y += kernel/
obj-y += mm/
-
obj-y += crypto/
-
-obj-$(CONFIG_IA32_EMULATION) += ia32/
-
-obj-y += platform/
-obj-y += net/
-
-obj-$(CONFIG_KEXEC_FILE) += purgatory/
diff -uprN linux-5.3/arch/x86/Kconfig linux-5.3-bonsai/arch/x86/Kconfig
--- linux-5.3/arch/x86/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/Kconfig 2019-09-20 15:15:10.766623600 -0400
@@ -788,8 +788,6 @@ config PARAVIRT_SPINLOCKS
config X86_HV_CALLBACK_VECTOR
def_bool n
-source "arch/x86/xen/Kconfig"
-
config KVM_GUEST
bool "KVM Guest support (including kvmclock)"
depends on PARAVIRT
@@ -2455,9 +2453,6 @@ config ARCH_HIBERNATION_HEADER
source "kernel/power/Kconfig"
-source "drivers/acpi/Kconfig"
-
-source "drivers/sfi/Kconfig"
config X86_APM_BOOT
def_bool y
@@ -2585,12 +2580,6 @@ config APM_ALLOW_INTS
endif # APM
-source "drivers/cpufreq/Kconfig"
-
-source "drivers/cpuidle/Kconfig"
-
-source "drivers/idle/Kconfig"
-
endmenu
@@ -2652,11 +2641,6 @@ config PCI_OLPC
def_bool y
depends on PCI && OLPC && (PCI_GOOLPC || PCI_GOANY)
-config PCI_XEN
- def_bool y
- depends on PCI && XEN
- select SWIOTLB_XEN
-
config MMCONF_FAM10H
def_bool y
depends on X86_64 && PCI_MMCONFIG && ACPI
@@ -2908,6 +2892,3 @@ config HAVE_ATOMIC_IOMAP
config X86_DEV_DMA_OPS
bool
-source "drivers/firmware/Kconfig"
-
-source "arch/x86/kvm/Kconfig"
diff -uprN linux-5.3/arch/x86/Makefile linux-5.3-bonsai/arch/x86/Makefile
--- linux-5.3/arch/x86/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/Makefile 2019-09-20 15:15:10.767623600 -0400
@@ -250,47 +250,40 @@ libs-y += arch/x86/lib/
# See arch/x86/Kbuild for content of core part of the kernel
core-y += arch/x86/
-# drivers-y are linked after core-y
-drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/
drivers-$(CONFIG_PCI) += arch/x86/pci/
-# must be linked after kernel/
-drivers-$(CONFIG_OPROFILE) += arch/x86/oprofile/
-
-# suspend and hibernation support
-drivers-$(CONFIG_PM) += arch/x86/power/
-
drivers-$(CONFIG_FB) += arch/x86/video/
####
# boot loader support. Several targets are kept for legacy purposes
-boot := arch/x86/boot
-
-BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage
-
-PHONY += bzImage $(BOOT_TARGETS)
+#boot := arch/x86/boot
+#
+#BOOT_TARGETS = bzlilo bzdisk fdimage fdimage144 fdimage288 isoimage
+#
+#PHONY += bzImage $(BOOT_TARGETS)
# Default kernel to build
-all: bzImage
+#all: bzImage
+all: vmlinux
# KBUILD_IMAGE specify target image being built
-KBUILD_IMAGE := $(boot)/bzImage
+#KBUILD_IMAGE := $(boot)/bzImage
-bzImage: vmlinux
-ifeq ($(CONFIG_X86_DECODER_SELFTEST),y)
- $(Q)$(MAKE) $(build)=arch/x86/tools posttest
-endif
- $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE)
- $(Q)mkdir -p $(objtree)/arch/$(UTS_MACHINE)/boot
- $(Q)ln -fsn ../../x86/boot/bzImage $(objtree)/arch/$(UTS_MACHINE)/boot/$@
-
-$(BOOT_TARGETS): vmlinux
- $(Q)$(MAKE) $(build)=$(boot) $@
-
-PHONY += install
-install:
- $(Q)$(MAKE) $(build)=$(boot) $@
+#bzImage: vmlinux
+#ifeq ($(CONFIG_X86_DECODER_SELFTEST),y)
+# $(Q)$(MAKE) $(build)=arch/x86/tools posttest
+#endif
+# $(Q)$(MAKE) $(build)=$(boot) $(KBUILD_IMAGE)
+# $(Q)mkdir -p $(objtree)/arch/$(UTS_MACHINE)/boot
+# $(Q)ln -fsn ../../x86/boot/bzImage $(objtree)/arch/$(UTS_MACHINE)/boot/$@
+
+#$(BOOT_TARGETS): vmlinux
+# $(Q)$(MAKE) $(build)=$(boot) $@
+
+#PHONY += install
+#install:
+# $(Q)$(MAKE) $(build)=$(boot) $@
PHONY += vdso_install
vdso_install:
diff -uprN linux-5.3/arch/x86/entry/Makefile linux-5.3-bonsai/arch/x86/entry/Makefile
--- linux-5.3/arch/x86/entry/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/entry/Makefile 2019-09-20 15:15:10.767623600 -0400
@@ -11,7 +11,4 @@ obj-y := entry_$(BITS).o thunk_$(BITS
obj-y += common.o
obj-y += vdso/
-obj-y += vsyscall/
-
-obj-$(CONFIG_IA32_EMULATION) += entry_64_compat.o syscall_32.o
diff -uprN linux-5.3/arch/x86/kernel/head_64.S linux-5.3-bonsai/arch/x86/kernel/head_64.S
--- linux-5.3/arch/x86/kernel/head_64.S 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/kernel/head_64.S 2019-09-20 15:15:10.767623600 -0400
@@ -474,8 +474,6 @@ ENTRY(phys_base)
.quad 0x0000000000000000
EXPORT_SYMBOL(phys_base)
-#include "../../x86/xen/xen-head.S"
-
__PAGE_ALIGNED_BSS
NEXT_PAGE(empty_zero_page)
.skip PAGE_SIZE
diff -uprN linux-5.3/arch/x86/kernel/setup.c linux-5.3-bonsai/arch/x86/kernel/setup.c
--- linux-5.3/arch/x86/kernel/setup.c 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/kernel/setup.c 2019-09-20 15:15:10.768623600 -0400
@@ -1282,7 +1282,7 @@ void __init setup_arch(char **cmdline_p)
if (!efi_enabled(EFI_BOOT) || (efi_mem_type(0xa0000) != EFI_CONVENTIONAL_MEMORY))
conswitchp = &vga_con;
#elif defined(CONFIG_DUMMY_CONSOLE)
- conswitchp = &dummy_con;
+// conswitchp = &dummy_con;
#endif
#endif
x86_init.oem.banner();
diff -uprN linux-5.3/arch/x86/mm/Makefile linux-5.3-bonsai/arch/x86/mm/Makefile
--- linux-5.3/arch/x86/mm/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/arch/x86/mm/Makefile 2019-09-20 15:15:10.768623600 -0400
@@ -25,31 +25,14 @@ CFLAGS_fault.o := -I $(srctree)/$(src)/.
obj-$(CONFIG_X86_PAT) += pat_rbtree.o
-obj-$(CONFIG_X86_32) += pgtable_32.o iomap_32.o
-
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
obj-$(CONFIG_X86_PTDUMP_CORE) += dump_pagetables.o
obj-$(CONFIG_X86_PTDUMP) += debug_pagetables.o
-obj-$(CONFIG_HIGHMEM) += highmem_32.o
-
KASAN_SANITIZE_kasan_init_$(BITS).o := n
obj-$(CONFIG_KASAN) += kasan_init_$(BITS).o
-obj-$(CONFIG_MMIOTRACE) += mmiotrace.o
-mmiotrace-y := kmmio.o pf_in.o mmio-mod.o
-obj-$(CONFIG_MMIOTRACE_TEST) += testmmiotrace.o
-
-obj-$(CONFIG_NUMA) += numa.o numa_$(BITS).o
-obj-$(CONFIG_AMD_NUMA) += amdtopology.o
-obj-$(CONFIG_ACPI_NUMA) += srat.o
-obj-$(CONFIG_NUMA_EMU) += numa_emulation.o
-
obj-$(CONFIG_X86_INTEL_MPX) += mpx.o
obj-$(CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS) += pkeys.o
obj-$(CONFIG_RANDOMIZE_MEMORY) += kaslr.o
obj-$(CONFIG_PAGE_TABLE_ISOLATION) += pti.o
-
-obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt.o
-obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt_identity.o
-obj-$(CONFIG_AMD_MEM_ENCRYPT) += mem_encrypt_boot.o
diff -uprN linux-5.3/crypto/Kconfig linux-5.3-bonsai/crypto/Kconfig
--- linux-5.3/crypto/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/crypto/Kconfig 2019-09-20 15:15:10.768623600 -0400
@@ -1928,7 +1928,6 @@ config CRYPTO_STATS
config CRYPTO_HASH_INFO
bool
-source "drivers/crypto/Kconfig"
source "crypto/asymmetric_keys/Kconfig"
source "certs/Kconfig"
diff -uprN linux-5.3/drivers/Kconfig linux-5.3-bonsai/drivers/Kconfig
--- linux-5.3/drivers/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/Kconfig 2019-09-20 15:15:10.769623600 -0400
@@ -1,233 +1,760 @@
# SPDX-License-Identifier: GPL-2.0
menu "Device Drivers"
-# Keep I/O buses first
+#
+# PCI configuration
+#
+
+# select this to offer the PCI prompt
+config HAVE_PCI
+ bool
+
+# select this to unconditionally force on PCI support
+config FORCE_PCI
+ bool
+ select HAVE_PCI
+ select PCI
+
+menuconfig PCI
+ bool "PCI support"
+ depends on HAVE_PCI
+ help
+ This option enables support for the PCI local bus, including
+ support for PCI-X and the foundations for PCI Express support.
+ Say 'Y' here unless you know what you are doing.
+
+if PCI
+
+config PCI_MSI
+ bool "Message Signaled Interrupts (MSI and MSI-X)"
+ select GENERIC_MSI_IRQ
+ help
+ This allows device drivers to enable MSI (Message Signaled
+ Interrupts). Message Signaled Interrupts enable a device to
+ generate an interrupt using an inbound Memory Write on its
+ PCI bus instead of asserting a device IRQ pin.
+
+ Use of PCI MSI interrupts can be disabled at kernel boot time
+ by using the 'pci=nomsi' option. This disables MSI for the
+ entire system.
+
+ If you don't know what to do here, say Y.
+
+config PCI_MSI_IRQ_DOMAIN
+ def_bool ARC || ARM || ARM64 || X86
+ depends on PCI_MSI
+ select GENERIC_MSI_IRQ_DOMAIN
+
+
+config PCI_ECAM
+ bool
+
+config PCI_LOCKLESS_CONFIG
+ bool
+
+config PCI_BRIDGE_EMUL
+ bool
+
+
+config PCI_LABEL
+ def_bool y if (DMI || ACPI)
+ select NLS
+
+endif
+
+menu "Generic Driver Options"
+
+config UEVENT_HELPER
+ bool "Support for uevent helper"
+ help
+ The uevent helper program is forked by the kernel for
+ every uevent.
+ Before the switch to the netlink-based uevent source, this was
+ used to hook hotplug scripts into kernel device events. It
+ usually pointed to a shell script at /sbin/hotplug.
+ This should not be used today, because usual systems create
+ many events at bootup or device discovery in a very short time
+ frame. One forked process per event can create so many processes
+ that it creates a high system load, or on smaller systems
+ it is known to create out-of-memory situations during bootup.
+
+config UEVENT_HELPER_PATH
+ string "path to uevent helper"
+ depends on UEVENT_HELPER
+ default ""
+ help
+ To disable user space helper program execution at by default
+ specify an empty string here. This setting can still be altered
+ via /proc/sys/kernel/hotplug or via /sys/kernel/uevent_helper
+ later at runtime.
+
+config DEVTMPFS
+ bool "Maintain a devtmpfs filesystem to mount at /dev"
+ help
+ This creates a tmpfs/ramfs filesystem instance early at bootup.
+ In this filesystem, the kernel driver core maintains device
+ nodes with their default names and permissions for all
+ registered devices with an assigned major/minor number.
+ Userspace can modify the filesystem content as needed, add
+ symlinks, and apply needed permissions.
+ It provides a fully functional /dev directory, where usually
+ udev runs on top, managing permissions and adding meaningful
+ symlinks.
+ In very limited environments, it may provide a sufficient
+ functional /dev without any further help. It also allows simple
+ rescue systems, and reliably handles dynamic major/minor numbers.
+
+ Notice: if CONFIG_TMPFS isn't enabled, the simpler ramfs
+ file system will be used instead.
+
+config DEVTMPFS_MOUNT
+ bool "Automount devtmpfs at /dev, after the kernel mounted the rootfs"
+ depends on DEVTMPFS
+ help
+ This will instruct the kernel to automatically mount the
+ devtmpfs filesystem at /dev, directly after the kernel has
+ mounted the root filesystem. The behavior can be overridden
+ with the commandline parameter: devtmpfs.mount=0|1.
+ This option does not affect initramfs based booting, here
+ the devtmpfs filesystem always needs to be mounted manually
+ after the rootfs is mounted.
+ With this option enabled, it allows to bring up a system in
+ rescue mode with init=/bin/sh, even when the /dev directory
+ on the rootfs is completely empty.
+
+
+config GENERIC_CPU_DEVICES
+ bool
+ default n
+
+config GENERIC_CPU_AUTOPROBE
+ bool
+
+config GENERIC_CPU_VULNERABILITIES
+ bool
+
+config SOC_BUS
+ bool
+ select GLOB
+
+
+config DMA_SHARED_BUFFER
+ bool
+ default n
+ select IRQ_WORK
+ help
+ This option enables the framework for buffer-sharing between
+ multiple drivers. A buffer is associated with a file using driver
+ APIs extension; the file's descriptor can then be passed on to other
+ driver.
+
+config DMA_FENCE_TRACE
+ bool "Enable verbose DMA_FENCE_TRACE messages"
+ depends on DMA_SHARED_BUFFER
+ help
+ Enable the DMA_FENCE_TRACE printks. This will add extra
+ spam to the console log, but will make it easier to diagnose
+ lockup related problems for dma-buffers shared across multiple
+ devices.
-source "drivers/amba/Kconfig"
-source "drivers/eisa/Kconfig"
-source "drivers/pci/Kconfig"
-source "drivers/pcmcia/Kconfig"
-source "drivers/rapidio/Kconfig"
+endmenu
-source "drivers/base/Kconfig"
-
-source "drivers/bus/Kconfig"
-
-source "drivers/connector/Kconfig"
-
-source "drivers/gnss/Kconfig"
-
-source "drivers/mtd/Kconfig"
-
-source "drivers/of/Kconfig"
-
-source "drivers/parport/Kconfig"
-
-source "drivers/pnp/Kconfig"
-
-source "drivers/block/Kconfig"
-
-source "drivers/nvme/Kconfig"
-
-# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
-
-source "drivers/misc/Kconfig"
-
-source "drivers/ide/Kconfig"
-
-source "drivers/scsi/Kconfig"
-
-source "drivers/ata/Kconfig"
-
-source "drivers/md/Kconfig"
-
-source "drivers/target/Kconfig"
-
-source "drivers/message/fusion/Kconfig"
-
-source "drivers/firewire/Kconfig"
-
-source "drivers/macintosh/Kconfig"
-
-source "drivers/net/Kconfig"
-
-source "drivers/isdn/Kconfig"
-
-source "drivers/lightnvm/Kconfig"
-
-# input before char - char/joystick depends on it. As does USB.
-
-source "drivers/input/Kconfig"
-
-source "drivers/char/Kconfig"
-
-source "drivers/i2c/Kconfig"
-
-source "drivers/i3c/Kconfig"
-
-source "drivers/spi/Kconfig"
-
-source "drivers/spmi/Kconfig"
-
-source "drivers/hsi/Kconfig"
-
-source "drivers/pps/Kconfig"
-
-source "drivers/ptp/Kconfig"
-
-source "drivers/pinctrl/Kconfig"
-
-source "drivers/gpio/Kconfig"
-
-source "drivers/w1/Kconfig"
-
-source "drivers/power/Kconfig"
-
-source "drivers/hwmon/Kconfig"
-
-source "drivers/thermal/Kconfig"
-source "drivers/watchdog/Kconfig"
+#
+# Block device driver configuration
+#
+
+menuconfig BLK_DEV
+ bool "Block devices"
+ depends on BLOCK
+ default y
+ ---help---
+ Say Y here to get to see options for various different block device
+ drivers. This option alone does not add any kernel code.
+
+ If you say N, all options in this submenu will be skipped and disabled;
+ only do this if you know what you are doing.
+
+if BLK_DEV
+
+config BLK_DEV_LOOP
+ tristate "Loopback device support"
+ ---help---
+ Saying Y here will allow you to use a regular file as a block
+ device; you can then create a file system on that block device and
+ mount it just as you would mount other block devices such as hard
+ drive partitions, CD-ROM drives or floppy drives. The loop devices
+ are block special device files with major number 7 and typically
+ called /dev/loop0, /dev/loop1 etc.
+
+ This is useful if you want to check an ISO 9660 file system before
+ burning the CD, or if you want to use floppy images without first
+ writing them to floppy. Furthermore, some Linux distributions avoid
+ the need for a dedicated Linux partition by keeping their complete
+ root file system inside a DOS FAT file using this loop device
+ driver.
+
+ To use the loop device, you need the losetup utility, found in the
+ util-linux package, see
+ .
+
+ The loop device driver can also be used to "hide" a file system in
+ a disk partition, floppy, or regular file, either using encryption
+ (scrambling the data) or steganography (hiding the data in the low
+ bits of, say, a sound file). This is also safe if the file resides
+ on a remote file server.
+
+ There are several ways of encrypting disks. Some of these require
+ kernel patches. The vanilla kernel offers the cryptoloop option
+ and a Device Mapper target (which is superior, as it supports all
+ file systems). If you want to use the cryptoloop, say Y to both
+ LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12
+ or later) version of util-linux. Additionally, be aware that
+ the cryptoloop is not safe for storing journaled filesystems.
+
+ Note that this loop device has nothing to do with the loopback
+ device used for network connections from the machine to itself.
+
+ To compile this driver as a module, choose M here: the
+ module will be called loop.
+
+ Most users will answer N here.
+
+config BLK_DEV_LOOP_MIN_COUNT
+ int "Number of loop devices to pre-create at init time"
+ depends on BLK_DEV_LOOP
+ default 8
+ help
+ Static number of loop devices to be unconditionally pre-created
+ at init time.
+
+ This default value can be overwritten on the kernel command
+ line or with module-parameter loop.max_loop.
+
+ The historic default is 8. If a late 2011 version of losetup(8)
+ is used, it can be set to 0, since needed loop devices can be
+ dynamically allocated with the /dev/loop-control interface.
+
+config VIRTIO_BLK
+ tristate "Virtio block driver"
+ depends on VIRTIO
+ ---help---
+ This is the virtual block driver for virtio. It can be used with
+ QEMU based VMMs (like KVM or Xen). Say Y or M.
+
+endif # BLK_DEV
+
+menuconfig MD
+ bool "Multiple devices driver support (RAID and LVM)"
+ depends on BLOCK
+ select SRCU
+ help
+ Support multiple physical spindles through a single logical device.
+ Required for RAID and logical volume management.
+
+if MD
+
+
+config MD_LINEAR
+ tristate "Linear (append) mode"
+ depends on BLK_DEV_MD
+ ---help---
+ If you say Y here, then your multiple devices driver will be able to
+ use the so-called linear mode, i.e. it will combine the hard disk
+ partitions by simply appending one to the other.
+
+ To compile this as a module, choose M here: the module
+ will be called linear.
+
+ If unsure, say Y.
+
+config BLK_DEV_DM_BUILTIN
+ bool
+
+config BLK_DEV_DM
+ tristate "Device mapper support"
+ select BLK_DEV_DM_BUILTIN
+ depends on DAX || DAX=n
+ ---help---
+ Device-mapper is a low level volume manager. It works by allowing
+ people to specify mappings for ranges of logical sectors. Various
+ mapping types are available, in addition people may write their own
+ modules containing custom mappings if they wish.
+
+ Higher level volume managers such as LVM2 use this driver.
+
+ To compile this as a module, choose M here: the module will be
+ called dm-mod.
+
+ If unsure, say N.
+
+config DM_DEBUG
+ bool "Device mapper debugging support"
+ depends on BLK_DEV_DM
+ ---help---
+ Enable this for messages that may help debug device-mapper problems.
+
+ If unsure, say N.
+
+config DM_BUFIO
+ tristate
+ depends on BLK_DEV_DM
+ ---help---
+ This interface allows you to do buffered I/O on a device and acts
+ as a cache, holding recently-read blocks in memory and performing
+ delayed writes.
+
+config DM_CRYPT
+ tristate "Crypt target support"
+ depends on BLK_DEV_DM
+ select CRYPTO
+ select CRYPTO_CBC
+ ---help---
+ This device-mapper target allows you to create a device that
+ transparently encrypts the data on it. You'll need to activate
+ the ciphers you're going to use in the cryptoapi configuration.
+
+ For further information on dm-crypt and userspace tools see:
+
+
+ To compile this code as a module, choose M here: the module will
+ be called dm-crypt.
+
+ If unsure, say N.
+
+config DM_INIT
+ bool "DM \"dm-mod.create=\" parameter support"
+ depends on BLK_DEV_DM=y
+ ---help---
+ Enable "dm-mod.create=" parameter to create mapped devices at init time.
+ This option is useful to allow mounting rootfs without requiring an
+ initramfs.
+ See Documentation/admin-guide/device-mapper/dm-init.rst for dm-mod.create="..."
+ format.
+
+ If unsure, say N.
+
+config DM_UEVENT
+ bool "DM uevents"
+ depends on BLK_DEV_DM
+ ---help---
+ Generate udev events for DM events.
+
+config DM_VERITY
+ tristate "Verity target support"
+ depends on BLK_DEV_DM
+ select CRYPTO
+ select CRYPTO_HASH
+ select DM_BUFIO
+ ---help---
+ This device-mapper target creates a read-only device that
+ transparently validates the data on one underlying device against
+ a pre-generated tree of cryptographic checksums stored on a second
+ device.
+
+ You'll need to activate the digests you're going to use in the
+ cryptoapi configuration.
+
+ To compile this code as a module, choose M here: the module will
+ be called dm-verity.
+
+ If unsure, say N.
+
+endif # MD
+
+#
+# Network device configuration
+#
+
+menuconfig NETDEVICES
+ default y if UML
+ depends on NET
+ bool "Network device support"
+ ---help---
+ You can say N here if you don't intend to connect your Linux box to
+ any other computer at all.
+
+ You'll have to say Y if your computer contains a network card that
+ you want to use under Linux. If you are going to run SLIP or PPP over
+ telephone line or null modem cable you need say Y here. Connecting
+ two machines with parallel ports using PLIP needs this, as well as
+ AX.25/KISS for sending Internet traffic over amateur radio links.
+
+ See also "The Linux Network Administrator's Guide" by Olaf Kirch and
+ Terry Dawson. Available at .
+
+ If unsure, say Y.
+
+# All the following symbols are dependent on NETDEVICES - do not repeat
+# that for each of the symbols.
+if NETDEVICES
+
+config MII
+ tristate
+
+config NET_CORE
+ default y
+ bool "Network core driver support"
+ ---help---
+ You can say N here if you do not intend to use any of the
+ networking core drivers (i.e. VLAN, bridging, bonding, etc.)
+
+if NET_CORE
+
+config TUN
+ tristate "Universal TUN/TAP device driver support"
+ depends on INET
+ select CRC32
+ ---help---
+ TUN/TAP provides packet reception and transmission for user space
+ programs. It can be viewed as a simple Point-to-Point or Ethernet
+ device, which instead of receiving packets from a physical media,
+ receives them from user space program and instead of sending packets
+ via physical media writes them to the user space program.
+
+ When a program opens /dev/net/tun, driver creates and registers
+ corresponding net device tunX or tapX. After a program closed above
+ devices, driver will automatically delete tunXX or tapXX device and
+ all routes corresponding to it.
+
+ Please read for more
+ information.
+
+ To compile this driver as a module, choose M here: the module
+ will be called tun.
+
+ If you don't know what to use this for, you don't need it.
+
+config TAP
+ tristate
+ ---help---
+ This option is selected by any driver implementing tap user space
+ interface for a virtual interface to re-use core tap functionality.
+
+config TUN_VNET_CROSS_LE
+ bool "Support for cross-endian vnet headers on little-endian kernels"
+ default n
+ ---help---
+ This option allows TUN/TAP and MACVTAP device drivers in a
+ little-endian kernel to parse vnet headers that come from a
+ big-endian legacy virtio device.
+
+ Userspace programs can control the feature using the TUNSETVNETBE
+ and TUNGETVNETBE ioctls.
+
+ Unless you have a little-endian system hosting a big-endian virtual
+ machine with a legacy virtio NIC, you should say N.
+
+config VETH
+ tristate "Virtual ethernet pair device"
+ ---help---
+ This device is a local ethernet tunnel. Devices are created in pairs.
+ When one end receives the packet it appears on its pair and vice
+ versa.
+
+config VIRTIO_NET
+ tristate "Virtio network driver"
+ depends on VIRTIO
+ select NET_FAILOVER
+ ---help---
+ This is the virtual network driver for virtio. It can be used with
+ QEMU based VMMs (like KVM or Xen). Say Y or M.
+
+endif # NET_CORE
+
+config NET_FAILOVER
+ tristate "Failover driver"
+ select FAILOVER
+ help
+ This provides an automated failover mechanism via APIs to create
+ and destroy a failover master netdev and manages a primary and
+ standby slave netdevs that get registered via the generic failover
+ infrastructure. This can be used by paravirtual drivers to enable
+ an alternate low latency datapath. It also enables live migration of
+ a VM with direct attached VF by failing over to the paravirtual
+ datapath when the VF is unplugged.
+
+endif # NETDEVICES
+
+
+menu "Character devices"
+
+config TTY
+ bool "Enable TTY" if EXPERT
+ default y
+ ---help---
+ Allows you to remove TTY support which can save space, and
+ blocks features that require TTY from inclusion in the kernel.
+ TTY is required for any text terminals or serial port
+ communication. Most users should leave this enabled.
+
+if TTY
+
+config UNIX98_PTYS
+ bool "Unix98 PTY support" if EXPERT
+ default y
+ ---help---
+ A pseudo terminal (PTY) is a software device consisting of two
+ halves: a master and a slave. The slave device behaves identical to
+ a physical terminal; the master device is used by a process to
+ read data from and write data to the slave, thereby emulating a
+ terminal. Typical programs for the master side are telnet servers
+ and xterms.
+
+ Linux has traditionally used the BSD-like names /dev/ptyxx for
+ masters and /dev/ttyxx for slaves of pseudo terminals. This scheme
+ has a number of problems. The GNU C library glibc 2.1 and later,
+ however, supports the Unix98 naming standard: in order to acquire a
+ pseudo terminal, a process opens /dev/ptmx; the number of the pseudo
+ terminal is then made available to the process and the pseudo
+ terminal slave can be accessed as /dev/pts/. What was
+ traditionally /dev/ttyp2 will then be /dev/pts/2, for example.
+
+ All modern Linux systems use the Unix98 ptys. Say Y unless
+ you're on an embedded system and want to conserve memory.
+
+config LDISC_AUTOLOAD
+ bool "Automatically load TTY Line Disciplines"
+ default y
+ help
+ Historically the kernel has always automatically loaded any
+ line discipline that is in a kernel module when a user asks
+ for it to be loaded with the TIOCSETD ioctl, or through other
+ means. This is not always the best thing to do on systems
+ where you know you will not be using some of the more
+ "ancient" line disciplines, so prevent the kernel from doing
+ this unless the request is coming from a process with the
+ CAP_SYS_MODULE permissions.
+
+ Say 'Y' here if you trust your userspace users to do the right
+ thing, or if you have only provided the line disciplines that
+ you know you will be using, or if you wish to continue to use
+ the traditional method of on-demand loading of these modules
+ by any user.
+
+ This functionality can be changed at runtime with the
+ dev.tty.ldisc_autoload sysctl, this configuration option will
+ only set the default value of this functionality.
+
+config HVC_DRIVER
+ bool
+ help
+ Generic "hypervisor virtual console" infrastructure for various
+ hypervisors (pSeries, iSeries, Xen).
+ It will automatically be selected if one of the back-end console drivers
+ is selected.
+
+config VIRTIO_CONSOLE
+ tristate "Virtio console"
+ depends on VIRTIO && TTY
+ select HVC_DRIVER
+ help
+ Virtio console for use with hypervisors.
+
+ Also serves as a general-purpose serial device for data
+ transfer between the guest and host. Character devices at
+ /dev/vportNpn will be created when corresponding ports are
+ found, where N is the device number and n is the port number
+ within that device. If specified by the host, a sysfs
+ attribute called 'name' will be populated with a name for
+ the port which can be used by udev scripts to create a
+ symlink to the device.
+
+
+endif # TTY
+
+menuconfig HW_RANDOM
+ tristate "Hardware Random Number Generator Core support"
+ default m
+ ---help---
+ Hardware Random Number Generator Core infrastructure.
+
+ To compile this driver as a module, choose M here: the
+ module will be called rng-core. This provides a device
+ that's usually called /dev/hwrng, and which exposes one
+ of possibly several hardware random number generators.
+
+ These hardware random number generators do feed into the
+ kernel's random number generator entropy pool.
+
+ If unsure, say Y.
+
+if HW_RANDOM
+
+config HW_RANDOM_VIRTIO
+ tristate "VirtIO Random Number Generator support"
+ depends on VIRTIO
+ ---help---
+ This driver provides kernel-side support for the virtual Random Number
+ Generator hardware.
-source "drivers/ssb/Kconfig"
+ To compile this driver as a module, choose M here: the
+ module will be called virtio-rng. If unsure, say N.
-source "drivers/bcma/Kconfig"
+endif # HW_RANDOM
-source "drivers/mfd/Kconfig"
+endmenu
-source "drivers/regulator/Kconfig"
+config RANDOM_TRUST_CPU
+ bool "Trust the CPU manufacturer to initialize Linux's CRNG"
+ depends on X86 || S390 || PPC
+ default n
+ help
+ Assume that CPU manufacturer (e.g., Intel or AMD for RDSEED or
+ RDRAND, IBM for the S390 and Power PC architectures) is trustworthy
+ for the purposes of initializing Linux's CRNG. Since this is not
+ something that can be independently audited, this amounts to trusting
+ that CPU manufacturer (perhaps with the insistence or mandate
+ of a Nation State's intelligence or law enforcement agencies)
+ has not installed a hidden back door to compromise the CPU's
+ random number generation facilities. This can also be configured
+ at boot with "random.trust_cpu=on/off".
-source "drivers/media/Kconfig"
-source "drivers/video/Kconfig"
source "sound/Kconfig"
-source "drivers/hid/Kconfig"
-
-source "drivers/usb/Kconfig"
-
-source "drivers/uwb/Kconfig"
-
-source "drivers/mmc/Kconfig"
-
-source "drivers/memstick/Kconfig"
-
-source "drivers/leds/Kconfig"
-source "drivers/accessibility/Kconfig"
+config RTC_LIB
+ bool
-source "drivers/infiniband/Kconfig"
+config RTC_MC146818_LIB
+ bool
+ select RTC_LIB
+
+menuconfig RTC_CLASS
+ bool "Real Time Clock"
+ default n
+ depends on !S390 && !UML
+ select RTC_LIB
+ help
+ Generic RTC class support. If you say yes here, you will
+ be allowed to plug one or more RTCs to your system. You will
+ probably want to enable one or more of the interfaces below.
+
+if RTC_CLASS
+
+config RTC_HCTOSYS
+ bool "Set system time from RTC on startup and resume"
+ default y
+ help
+ If you say yes here, the system time (wall clock) will be set using
+ the value read from a specified RTC device. This is useful to avoid
+ unnecessary fsck runs at boot time, and to network better.
+
+config RTC_HCTOSYS_DEVICE
+ string "RTC used to set the system time"
+ depends on RTC_HCTOSYS
+ default "rtc0"
+ help
+ The RTC device that will be used to (re)initialize the system
+ clock, usually rtc0. Initialization is done when the system
+ starts up, and when it resumes from a low power state. This
+ device should record time in UTC, since the kernel won't do
+ timezone correction.
+
+ The driver for this RTC device must be loaded before late_initcall
+ functions run, so it must usually be statically linked.
+
+ This clock should be battery-backed, so that it reads the correct
+ time when the system boots from a power-off state. Otherwise, your
+ system will need an external clock source (like an NTP server).
+
+ If the clock you specify here is not battery backed, it may still
+ be useful to reinitialize system time when resuming from system
+ sleep states. Do not specify an RTC here unless it stays powered
+ during all this system's supported sleep states.
+
+config RTC_DRV_CMOS
+ tristate "PC-style 'CMOS'"
+ depends on X86 || ARM || PPC || MIPS || SPARC64
+ default y if X86
+ select RTC_MC146818_LIB
+ help
+ Say "yes" here to get direct support for the real time clock
+ found in every PC or ACPI-based system, and some other boards.
+ Specifically the original MC146818, compatibles like those in
+ PC south bridges, the DS12887 or M48T86, some multifunction
+ or LPC bus chips, and so on.
+
+ Your system will need to define the platform device used by
+ this driver, otherwise it won't be accessible. This means
+ you can safely enable this driver if you don't know whether
+ or not your board has this kind of hardware.
+
+ This driver can also be built as a module. If so, the module
+ will be called rtc-cmos.
+endif # RTC_CLASS
-source "drivers/edac/Kconfig"
-
-source "drivers/rtc/Kconfig"
-
-source "drivers/dma/Kconfig"
-
-source "drivers/dma-buf/Kconfig"
-
-source "drivers/dca/Kconfig"
-
-source "drivers/auxdisplay/Kconfig"
-
-source "drivers/uio/Kconfig"
-
-source "drivers/vfio/Kconfig"
-
-source "drivers/vlynq/Kconfig"
-
-source "drivers/virt/Kconfig"
source "drivers/virtio/Kconfig"
-source "drivers/hv/Kconfig"
-
-source "drivers/xen/Kconfig"
-
-source "drivers/staging/Kconfig"
-
-source "drivers/platform/Kconfig"
-
-source "drivers/clk/Kconfig"
-
-source "drivers/hwspinlock/Kconfig"
-
-source "drivers/clocksource/Kconfig"
-
-source "drivers/mailbox/Kconfig"
-
-source "drivers/iommu/Kconfig"
-
-source "drivers/remoteproc/Kconfig"
-
-source "drivers/rpmsg/Kconfig"
-
-source "drivers/soundwire/Kconfig"
-
-source "drivers/soc/Kconfig"
-
-source "drivers/devfreq/Kconfig"
-
-source "drivers/extcon/Kconfig"
+menu "Clock Source drivers"
+ depends on GENERIC_CLOCKEVENTS
-source "drivers/memory/Kconfig"
+config CLKSRC_I8253
+ bool
-source "drivers/iio/Kconfig"
+config CLKEVT_I8253
+ bool
-source "drivers/ntb/Kconfig"
+config CLKBLD_I8253
+ def_bool y if CLKSRC_I8253 || CLKEVT_I8253 || I8253_LOCK
-source "drivers/vme/Kconfig"
-
-source "drivers/pwm/Kconfig"
-
-source "drivers/irqchip/Kconfig"
-
-source "drivers/ipack/Kconfig"
-
-source "drivers/reset/Kconfig"
-
-source "drivers/phy/Kconfig"
-
-source "drivers/powercap/Kconfig"
-
-source "drivers/mcb/Kconfig"
-
-source "drivers/perf/Kconfig"
-
-source "drivers/ras/Kconfig"
-
-source "drivers/thunderbolt/Kconfig"
-
-source "drivers/android/Kconfig"
+endmenu
source "drivers/nvdimm/Kconfig"
-source "drivers/dax/Kconfig"
-
-source "drivers/nvmem/Kconfig"
-
-source "drivers/hwtracing/Kconfig"
-
-source "drivers/fpga/Kconfig"
-
-source "drivers/fsi/Kconfig"
-
-source "drivers/tee/Kconfig"
-
-source "drivers/mux/Kconfig"
-
-source "drivers/opp/Kconfig"
-
-source "drivers/visorbus/Kconfig"
-
-source "drivers/siox/Kconfig"
-
-source "drivers/slimbus/Kconfig"
+config DAX_DRIVER
+ select DAX
+ bool
+
+menuconfig DAX
+ tristate "DAX: direct access to differentiated memory"
+ select SRCU
+ default m if NVDIMM_DAX
+
+if DAX
+
+config DEV_DAX
+ tristate "Device DAX: direct access mapping device"
+ depends on TRANSPARENT_HUGEPAGE
+ help
+ Support raw access to differentiated (persistence, bandwidth,
+ latency...) memory via an mmap(2) capable character
+ device. Platform firmware or a device driver may identify a
+ platform memory resource that is differentiated from the
+ baseline memory pool. Mappings of a /dev/daxX.Y device impose
+ restrictions that make the mapping behavior deterministic.
+
+config DEV_DAX_PMEM
+ tristate "PMEM DAX: direct access to persistent memory"
+ depends on LIBNVDIMM && NVDIMM_DAX && DEV_DAX
+ default DEV_DAX
+ help
+ Support raw access to persistent memory. Note that this
+ driver consumes memory ranges allocated and exported by the
+ libnvdimm sub-system.
+
+ Say M if unsure
+
+config DEV_DAX_KMEM
+ tristate "KMEM DAX: volatile-use of persistent memory"
+ default DEV_DAX
+ depends on DEV_DAX
+ depends on MEMORY_HOTPLUG # for add_memory() and friends
+ help
+ Support access to persistent memory as if it were RAM. This
+ allows easier use of persistent memory by unmodified
+ applications.
+
+ To use this feature, a DAX device must be unbound from the
+ device_dax driver (PMEM DAX) and bound to this kmem driver
+ on each boot.
-source "drivers/interconnect/Kconfig"
+ Say N if unsure.
-source "drivers/counter/Kconfig"
+endif
endmenu
diff -uprN linux-5.3/drivers/Makefile linux-5.3-bonsai/drivers/Makefile
--- linux-5.3/drivers/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/Makefile 2019-09-20 15:15:10.769623600 -0400
@@ -6,184 +6,22 @@
# Rewritten to use lists instead of if-statements.
#
-obj-y += irqchip/
-obj-y += bus/
-
-obj-$(CONFIG_GENERIC_PHY) += phy/
-
-# GPIO must come after pinctrl as gpios may need to mux pins etc
-obj-$(CONFIG_PINCTRL) += pinctrl/
-obj-$(CONFIG_GPIOLIB) += gpio/
-obj-y += pwm/
-
obj-y += pci/
-obj-$(CONFIG_PARISC) += parisc/
-obj-$(CONFIG_RAPIDIO) += rapidio/
-obj-y += video/
-obj-y += idle/
-
-# IPMI must come before ACPI in order to provide IPMI opregion support
-obj-y += char/ipmi/
-
-obj-$(CONFIG_ACPI) += acpi/
-obj-$(CONFIG_SFI) += sfi/
-# PnP must come after ACPI since it will eventually need to check if acpi
-# was used and do nothing if so
-obj-$(CONFIG_PNP) += pnp/
-obj-y += amba/
-
-obj-y += clk/
-# Many drivers will want to use DMA so this has to be made available
-# really early.
-obj-$(CONFIG_DMADEVICES) += dma/
-
-# SOC specific infrastructure drivers.
-obj-y += soc/
-
obj-$(CONFIG_VIRTIO) += virtio/
-obj-$(CONFIG_XEN) += xen/
-# regulators early, since some subsystems rely on them to initialize
-obj-$(CONFIG_REGULATOR) += regulator/
-
-# reset controllers early, since gpu drivers might rely on them to initialize
-obj-$(CONFIG_RESET_CONTROLLER) += reset/
-
-# tty/ comes before char/ so that the VT console is the boot-time
-# default.
obj-y += tty/
obj-y += char/
-# iommu/ comes before gpu as gpu are using iommu controllers
-obj-y += iommu/
-
-# gpu/ comes after char for AGP vs DRM startup and after iommu
obj-y += gpu/
-obj-$(CONFIG_CONNECTOR) += connector/
-
-# i810fb and intelfb depend on char/agp/
-obj-$(CONFIG_FB_I810) += video/fbdev/i810/
-obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/
-
-obj-$(CONFIG_PARPORT) += parport/
-obj-$(CONFIG_NVM) += lightnvm/
-obj-y += base/ block/ misc/ mfd/ nfc/
+obj-y += base/ block/
obj-$(CONFIG_LIBNVDIMM) += nvdimm/
obj-$(CONFIG_DAX) += dax/
obj-$(CONFIG_DMA_SHARED_BUFFER) += dma-buf/
-obj-$(CONFIG_NUBUS) += nubus/
-obj-y += macintosh/
-obj-$(CONFIG_IDE) += ide/
-obj-y += scsi/
-obj-y += nvme/
-obj-$(CONFIG_ATA) += ata/
-obj-$(CONFIG_TARGET_CORE) += target/
-obj-$(CONFIG_MTD) += mtd/
-obj-$(CONFIG_SPI) += spi/
-obj-$(CONFIG_SPMI) += spmi/
-obj-$(CONFIG_HSI) += hsi/
-obj-$(CONFIG_SLIMBUS) += slimbus/
obj-y += net/
-obj-$(CONFIG_ATM) += atm/
-obj-$(CONFIG_FUSION) += message/
-obj-y += firewire/
-obj-$(CONFIG_UIO) += uio/
-obj-$(CONFIG_VFIO) += vfio/
-obj-y += cdrom/
-obj-y += auxdisplay/
-obj-$(CONFIG_PCCARD) += pcmcia/
-obj-$(CONFIG_DIO) += dio/
-obj-$(CONFIG_SBUS) += sbus/
-obj-$(CONFIG_ZORRO) += zorro/
-obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/
-obj-$(CONFIG_PARIDE) += block/paride/
-obj-$(CONFIG_TC) += tc/
-obj-$(CONFIG_UWB) += uwb/
-obj-$(CONFIG_USB_PHY) += usb/
-obj-$(CONFIG_USB) += usb/
-obj-$(CONFIG_USB_SUPPORT) += usb/
-obj-$(CONFIG_PCI) += usb/
-obj-$(CONFIG_USB_GADGET) += usb/
-obj-$(CONFIG_OF) += usb/
-obj-$(CONFIG_SERIO) += input/serio/
-obj-$(CONFIG_GAMEPORT) += input/gameport/
-obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_RTC_LIB) += rtc/
-obj-y += i2c/ i3c/ media/
-obj-$(CONFIG_PPS) += pps/
-obj-y += ptp/
-obj-$(CONFIG_W1) += w1/
-obj-y += power/
-obj-$(CONFIG_HWMON) += hwmon/
-obj-$(CONFIG_THERMAL) += thermal/
-obj-$(CONFIG_WATCHDOG) += watchdog/
obj-$(CONFIG_MD) += md/
-obj-$(CONFIG_BT) += bluetooth/
-obj-$(CONFIG_ACCESSIBILITY) += accessibility/
-obj-$(CONFIG_ISDN) += isdn/
-obj-$(CONFIG_EDAC) += edac/
-obj-$(CONFIG_EISA) += eisa/
-obj-$(CONFIG_PM_OPP) += opp/
-obj-$(CONFIG_CPU_FREQ) += cpufreq/
-obj-$(CONFIG_CPU_IDLE) += cpuidle/
-obj-y += mmc/
-obj-$(CONFIG_MEMSTICK) += memstick/
-obj-$(CONFIG_NEW_LEDS) += leds/
-obj-$(CONFIG_INFINIBAND) += infiniband/
-obj-$(CONFIG_SGI_SN) += sn/
-obj-y += firmware/
-obj-$(CONFIG_CRYPTO) += crypto/
-obj-$(CONFIG_SUPERH) += sh/
ifndef CONFIG_ARCH_USES_GETTIMEOFFSET
obj-y += clocksource/
endif
-obj-$(CONFIG_DCA) += dca/
-obj-$(CONFIG_HID) += hid/
-obj-$(CONFIG_PPC_PS3) += ps3/
-obj-$(CONFIG_OF) += of/
-obj-$(CONFIG_SSB) += ssb/
-obj-$(CONFIG_BCMA) += bcma/
-obj-$(CONFIG_VHOST_RING) += vhost/
-obj-$(CONFIG_VHOST) += vhost/
-obj-$(CONFIG_VLYNQ) += vlynq/
-obj-$(CONFIG_STAGING) += staging/
-obj-y += platform/
-
-obj-$(CONFIG_MAILBOX) += mailbox/
-obj-$(CONFIG_HWSPINLOCK) += hwspinlock/
-obj-$(CONFIG_REMOTEPROC) += remoteproc/
-obj-$(CONFIG_RPMSG) += rpmsg/
-obj-$(CONFIG_SOUNDWIRE) += soundwire/
-
-# Virtualization drivers
-obj-$(CONFIG_VIRT_DRIVERS) += virt/
-obj-$(CONFIG_HYPERV) += hv/
-
-obj-$(CONFIG_PM_DEVFREQ) += devfreq/
-obj-$(CONFIG_EXTCON) += extcon/
-obj-$(CONFIG_MEMORY) += memory/
-obj-$(CONFIG_IIO) += iio/
-obj-$(CONFIG_VME_BUS) += vme/
-obj-$(CONFIG_IPACK_BUS) += ipack/
-obj-$(CONFIG_NTB) += ntb/
-obj-$(CONFIG_POWERCAP) += powercap/
-obj-$(CONFIG_MCB) += mcb/
-obj-$(CONFIG_PERF_EVENTS) += perf/
-obj-$(CONFIG_RAS) += ras/
-obj-$(CONFIG_THUNDERBOLT) += thunderbolt/
-obj-$(CONFIG_CORESIGHT) += hwtracing/coresight/
-obj-y += hwtracing/intel_th/
-obj-$(CONFIG_STM) += hwtracing/stm/
-obj-$(CONFIG_ANDROID) += android/
-obj-$(CONFIG_NVMEM) += nvmem/
-obj-$(CONFIG_FPGA) += fpga/
-obj-$(CONFIG_FSI) += fsi/
-obj-$(CONFIG_TEE) += tee/
-obj-$(CONFIG_MULTIPLEXER) += mux/
-obj-$(CONFIG_UNISYS_VISORBUS) += visorbus/
-obj-$(CONFIG_SIOX) += siox/
-obj-$(CONFIG_GNSS) += gnss/
-obj-$(CONFIG_INTERCONNECT) += interconnect/
-obj-$(CONFIG_COUNTER) += counter/
diff -uprN linux-5.3/drivers/base/Makefile linux-5.3-bonsai/drivers/base/Makefile
--- linux-5.3/drivers/base/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/base/Makefile 2019-09-20 15:15:10.769623600 -0400
@@ -8,23 +8,23 @@ obj-y := component.o core.o bus.o dd.o
topology.o container.o property.o cacheinfo.o \
devcon.o swnode.o
obj-$(CONFIG_DEVTMPFS) += devtmpfs.o
-obj-y += power/
+#obj-y += power/
obj-$(CONFIG_ISA_BUS_API) += isa.o
-obj-y += firmware_loader/
+#obj-y += firmware_loader/
obj-$(CONFIG_NUMA) += node.o
obj-$(CONFIG_MEMORY_HOTPLUG_SPARSE) += memory.o
ifeq ($(CONFIG_SYSFS),y)
obj-$(CONFIG_MODULES) += module.o
endif
obj-$(CONFIG_SYS_HYPERVISOR) += hypervisor.o
-obj-$(CONFIG_REGMAP) += regmap/
+#obj-$(CONFIG_REGMAP) += regmap/
obj-$(CONFIG_SOC_BUS) += soc.o
obj-$(CONFIG_PINCTRL) += pinctrl.o
obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o
obj-$(CONFIG_GENERIC_MSI_IRQ_DOMAIN) += platform-msi.o
obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o
-obj-y += test/
+#obj-y += test/
ccflags-$(CONFIG_DEBUG_DRIVER) := -DDEBUG
diff -uprN linux-5.3/drivers/block/Makefile linux-5.3-bonsai/drivers/block/Makefile
--- linux-5.3/drivers/block/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/block/Makefile 2019-09-20 15:15:10.769623600 -0400
@@ -6,40 +6,5 @@
# Rewritten to use lists instead of if-statements.
#
-obj-$(CONFIG_MAC_FLOPPY) += swim3.o
-obj-$(CONFIG_BLK_DEV_SWIM) += swim_mod.o
-obj-$(CONFIG_BLK_DEV_FD) += floppy.o
-obj-$(CONFIG_AMIGA_FLOPPY) += amiflop.o
-obj-$(CONFIG_PS3_DISK) += ps3disk.o
-obj-$(CONFIG_PS3_VRAM) += ps3vram.o
-obj-$(CONFIG_ATARI_FLOPPY) += ataflop.o
-obj-$(CONFIG_AMIGA_Z2RAM) += z2ram.o
-obj-$(CONFIG_BLK_DEV_RAM) += brd.o
obj-$(CONFIG_BLK_DEV_LOOP) += loop.o
-obj-$(CONFIG_XILINX_SYSACE) += xsysace.o
-obj-$(CONFIG_CDROM_PKTCDVD) += pktcdvd.o
-obj-$(CONFIG_SUNVDC) += sunvdc.o
-obj-$(CONFIG_BLK_DEV_SKD) += skd.o
-
-obj-$(CONFIG_BLK_DEV_UMEM) += umem.o
-obj-$(CONFIG_BLK_DEV_NBD) += nbd.o
-obj-$(CONFIG_BLK_DEV_CRYPTOLOOP) += cryptoloop.o
obj-$(CONFIG_VIRTIO_BLK) += virtio_blk.o
-
-obj-$(CONFIG_BLK_DEV_SX8) += sx8.o
-
-obj-$(CONFIG_XEN_BLKDEV_FRONTEND) += xen-blkfront.o
-obj-$(CONFIG_XEN_BLKDEV_BACKEND) += xen-blkback/
-obj-$(CONFIG_BLK_DEV_DRBD) += drbd/
-obj-$(CONFIG_BLK_DEV_RBD) += rbd.o
-obj-$(CONFIG_BLK_DEV_PCIESSD_MTIP32XX) += mtip32xx/
-
-obj-$(CONFIG_BLK_DEV_RSXX) += rsxx/
-obj-$(CONFIG_ZRAM) += zram/
-
-obj-$(CONFIG_BLK_DEV_NULL_BLK) += null_blk.o
-null_blk-objs := null_blk_main.o
-null_blk-$(CONFIG_BLK_DEV_ZONED) += null_blk_zoned.o
-
-skd-y := skd_main.o
-swim_mod-y := swim.o swim_asm.o
diff -uprN linux-5.3/drivers/char/Makefile linux-5.3-bonsai/drivers/char/Makefile
--- linux-5.3/drivers/char/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/char/Makefile 2019-09-20 15:15:10.770623600 -0400
@@ -4,53 +4,53 @@
#
obj-y += mem.o random.o
-obj-$(CONFIG_TTY_PRINTK) += ttyprintk.o
+#obj-$(CONFIG_TTY_PRINTK) += ttyprintk.o
obj-y += misc.o
-obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
+#obj-$(CONFIG_ATARI_DSP56K) += dsp56k.o
obj-$(CONFIG_VIRTIO_CONSOLE) += virtio_console.o
-obj-$(CONFIG_RAW_DRIVER) += raw.o
-obj-$(CONFIG_SGI_SNSC) += snsc.o snsc_event.o
-obj-$(CONFIG_MSPEC) += mspec.o
-obj-$(CONFIG_UV_MMTIMER) += uv_mmtimer.o
-obj-$(CONFIG_IBM_BSR) += bsr.o
-obj-$(CONFIG_SGI_MBCS) += mbcs.o
-
-obj-$(CONFIG_PRINTER) += lp.o
-
-obj-$(CONFIG_APM_EMULATION) += apm-emulation.o
-
-obj-$(CONFIG_DTLK) += dtlk.o
-obj-$(CONFIG_APPLICOM) += applicom.o
-obj-$(CONFIG_SONYPI) += sonypi.o
-obj-$(CONFIG_RTC) += rtc.o
-obj-$(CONFIG_HPET) += hpet.o
-obj-$(CONFIG_EFI_RTC) += efirtc.o
-obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/
-obj-$(CONFIG_NVRAM) += nvram.o
-obj-$(CONFIG_TOSHIBA) += toshiba.o
-obj-$(CONFIG_DS1620) += ds1620.o
+#obj-$(CONFIG_RAW_DRIVER) += raw.o
+#obj-$(CONFIG_SGI_SNSC) += snsc.o snsc_event.o
+#obj-$(CONFIG_MSPEC) += mspec.o
+#obj-$(CONFIG_UV_MMTIMER) += uv_mmtimer.o
+#obj-$(CONFIG_IBM_BSR) += bsr.o
+#obj-$(CONFIG_SGI_MBCS) += mbcs.o
+
+#obj-$(CONFIG_PRINTER) += lp.o
+
+#obj-$(CONFIG_APM_EMULATION) += apm-emulation.o
+
+#obj-$(CONFIG_DTLK) += dtlk.o
+#obj-$(CONFIG_APPLICOM) += applicom.o
+#obj-$(CONFIG_SONYPI) += sonypi.o
+#obj-$(CONFIG_RTC) += rtc.o
+#obj-$(CONFIG_HPET) += hpet.o
+#obj-$(CONFIG_EFI_RTC) += efirtc.o
+#obj-$(CONFIG_XILINX_HWICAP) += xilinx_hwicap/
+#obj-$(CONFIG_NVRAM) += nvram.o
+#obj-$(CONFIG_TOSHIBA) += toshiba.o
+#obj-$(CONFIG_DS1620) += ds1620.o
obj-$(CONFIG_HW_RANDOM) += hw_random/
-obj-$(CONFIG_PPDEV) += ppdev.o
-obj-$(CONFIG_NWBUTTON) += nwbutton.o
-obj-$(CONFIG_NWFLASH) += nwflash.o
-obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
-obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
-obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
-obj-$(CONFIG_GPIO_TB0219) += tb0219.o
-obj-$(CONFIG_TELCLOCK) += tlclk.o
-
-obj-$(CONFIG_MWAVE) += mwave/
-obj-y += agp/
-obj-$(CONFIG_PCMCIA) += pcmcia/
-
-obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o
-obj-$(CONFIG_TCG_TPM) += tpm/
-
-obj-$(CONFIG_PS3_FLASH) += ps3flash.o
-
-obj-$(CONFIG_JS_RTC) += js-rtc.o
-js-rtc-y = rtc.o
-
-obj-$(CONFIG_XILLYBUS) += xillybus/
-obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o
-obj-$(CONFIG_ADI) += adi.o
+#obj-$(CONFIG_PPDEV) += ppdev.o
+#obj-$(CONFIG_NWBUTTON) += nwbutton.o
+#obj-$(CONFIG_NWFLASH) += nwflash.o
+#obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o
+#obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
+#obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
+#obj-$(CONFIG_GPIO_TB0219) += tb0219.o
+#obj-$(CONFIG_TELCLOCK) += tlclk.o
+
+#obj-$(CONFIG_MWAVE) += mwave/
+#obj-y += agp/
+#obj-$(CONFIG_PCMCIA) += pcmcia/
+
+#obj-$(CONFIG_HANGCHECK_TIMER) += hangcheck-timer.o
+#obj-$(CONFIG_TCG_TPM) += tpm/
+
+#obj-$(CONFIG_PS3_FLASH) += ps3flash.o
+
+#obj-$(CONFIG_JS_RTC) += js-rtc.o
+#js-rtc-y = rtc.o
+
+#obj-$(CONFIG_XILLYBUS) += xillybus/
+#obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o
+#obj-$(CONFIG_ADI) += adi.o
diff -uprN linux-5.3/drivers/char/hw_random/Makefile linux-5.3-bonsai/drivers/char/hw_random/Makefile
--- linux-5.3/drivers/char/hw_random/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/char/hw_random/Makefile 2019-09-20 15:15:10.770623600 -0400
@@ -5,37 +5,4 @@
obj-$(CONFIG_HW_RANDOM) += rng-core.o
rng-core-y := core.o
-obj-$(CONFIG_HW_RANDOM_TIMERIOMEM) += timeriomem-rng.o
-obj-$(CONFIG_HW_RANDOM_INTEL) += intel-rng.o
-obj-$(CONFIG_HW_RANDOM_AMD) += amd-rng.o
-obj-$(CONFIG_HW_RANDOM_ATMEL) += atmel-rng.o
-obj-$(CONFIG_HW_RANDOM_GEODE) += geode-rng.o
-obj-$(CONFIG_HW_RANDOM_N2RNG) += n2-rng.o
-n2-rng-y := n2-drv.o n2-asm.o
-obj-$(CONFIG_HW_RANDOM_VIA) += via-rng.o
-obj-$(CONFIG_HW_RANDOM_EXYNOS) += exynos-trng.o
-obj-$(CONFIG_HW_RANDOM_IXP4XX) += ixp4xx-rng.o
-obj-$(CONFIG_HW_RANDOM_OMAP) += omap-rng.o
-obj-$(CONFIG_HW_RANDOM_OMAP3_ROM) += omap3-rom-rng.o
-obj-$(CONFIG_HW_RANDOM_PASEMI) += pasemi-rng.o
obj-$(CONFIG_HW_RANDOM_VIRTIO) += virtio-rng.o
-obj-$(CONFIG_HW_RANDOM_TX4939) += tx4939-rng.o
-obj-$(CONFIG_HW_RANDOM_MXC_RNGA) += mxc-rnga.o
-obj-$(CONFIG_HW_RANDOM_IMX_RNGC) += imx-rngc.o
-obj-$(CONFIG_HW_RANDOM_OCTEON) += octeon-rng.o
-obj-$(CONFIG_HW_RANDOM_NOMADIK) += nomadik-rng.o
-obj-$(CONFIG_HW_RANDOM_PSERIES) += pseries-rng.o
-obj-$(CONFIG_HW_RANDOM_POWERNV) += powernv-rng.o
-obj-$(CONFIG_HW_RANDOM_HISI) += hisi-rng.o
-obj-$(CONFIG_HW_RANDOM_BCM2835) += bcm2835-rng.o
-obj-$(CONFIG_HW_RANDOM_IPROC_RNG200) += iproc-rng200.o
-obj-$(CONFIG_HW_RANDOM_ST) += st-rng.o
-obj-$(CONFIG_HW_RANDOM_XGENE) += xgene-rng.o
-obj-$(CONFIG_HW_RANDOM_STM32) += stm32-rng.o
-obj-$(CONFIG_HW_RANDOM_PIC32) += pic32-rng.o
-obj-$(CONFIG_HW_RANDOM_MESON) += meson-rng.o
-obj-$(CONFIG_HW_RANDOM_CAVIUM) += cavium-rng.o cavium-rng-vf.o
-obj-$(CONFIG_HW_RANDOM_MTK) += mtk-rng.o
-obj-$(CONFIG_HW_RANDOM_S390) += s390-trng.o
-obj-$(CONFIG_HW_RANDOM_KEYSTONE) += ks-sa-rng.o
-obj-$(CONFIG_HW_RANDOM_OPTEE) += optee-rng.o
diff -uprN linux-5.3/drivers/clocksource/Makefile linux-5.3-bonsai/drivers/clocksource/Makefile
--- linux-5.3/drivers/clocksource/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/clocksource/Makefile 2019-09-20 15:15:10.770623600 -0400
@@ -1,89 +1,2 @@
# SPDX-License-Identifier: GPL-2.0
-obj-$(CONFIG_TIMER_OF) += timer-of.o
-obj-$(CONFIG_TIMER_PROBE) += timer-probe.o
-obj-$(CONFIG_ATMEL_PIT) += timer-atmel-pit.o
-obj-$(CONFIG_ATMEL_ST) += timer-atmel-st.o
-obj-$(CONFIG_ATMEL_TCB_CLKSRC) += timer-atmel-tcb.o
-obj-$(CONFIG_X86_PM_TIMER) += acpi_pm.o
-obj-$(CONFIG_SCx200HR_TIMER) += scx200_hrt.o
-obj-$(CONFIG_CS5535_CLOCK_EVENT_SRC) += timer-cs5535.o
-obj-$(CONFIG_CLKSRC_JCORE_PIT) += jcore-pit.o
-obj-$(CONFIG_SH_TIMER_CMT) += sh_cmt.o
-obj-$(CONFIG_SH_TIMER_MTU2) += sh_mtu2.o
-obj-$(CONFIG_RENESAS_OSTM) += renesas-ostm.o
-obj-$(CONFIG_SH_TIMER_TMU) += sh_tmu.o
-obj-$(CONFIG_EM_TIMER_STI) += em_sti.o
obj-$(CONFIG_CLKBLD_I8253) += i8253.o
-obj-$(CONFIG_CLKSRC_MMIO) += mmio.o
-obj-$(CONFIG_DAVINCI_TIMER) += timer-davinci.o
-obj-$(CONFIG_DIGICOLOR_TIMER) += timer-digicolor.o
-obj-$(CONFIG_OMAP_DM_TIMER) += timer-ti-dm.o
-obj-$(CONFIG_DW_APB_TIMER) += dw_apb_timer.o
-obj-$(CONFIG_DW_APB_TIMER_OF) += dw_apb_timer_of.o
-obj-$(CONFIG_FTTMR010_TIMER) += timer-fttmr010.o
-obj-$(CONFIG_IXP4XX_TIMER) += timer-ixp4xx.o
-obj-$(CONFIG_ROCKCHIP_TIMER) += timer-rockchip.o
-obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o
-obj-$(CONFIG_CLKSRC_DBX500_PRCMU) += clksrc-dbx500-prcmu.o
-obj-$(CONFIG_ARMADA_370_XP_TIMER) += timer-armada-370-xp.o
-obj-$(CONFIG_ORION_TIMER) += timer-orion.o
-obj-$(CONFIG_BCM2835_TIMER) += bcm2835_timer.o
-obj-$(CONFIG_CLPS711X_TIMER) += clps711x-timer.o
-obj-$(CONFIG_ATLAS7_TIMER) += timer-atlas7.o
-obj-$(CONFIG_MXS_TIMER) += mxs_timer.o
-obj-$(CONFIG_CLKSRC_PXA) += timer-pxa.o
-obj-$(CONFIG_PRIMA2_TIMER) += timer-prima2.o
-obj-$(CONFIG_U300_TIMER) += timer-u300.o
-obj-$(CONFIG_SUN4I_TIMER) += timer-sun4i.o
-obj-$(CONFIG_SUN5I_HSTIMER) += timer-sun5i.o
-obj-$(CONFIG_MESON6_TIMER) += timer-meson6.o
-obj-$(CONFIG_TEGRA_TIMER) += timer-tegra.o
-obj-$(CONFIG_VT8500_TIMER) += timer-vt8500.o
-obj-$(CONFIG_NSPIRE_TIMER) += timer-zevio.o
-obj-$(CONFIG_BCM_KONA_TIMER) += bcm_kona_timer.o
-obj-$(CONFIG_CADENCE_TTC_TIMER) += timer-cadence-ttc.o
-obj-$(CONFIG_CLKSRC_EFM32) += timer-efm32.o
-obj-$(CONFIG_CLKSRC_STM32) += timer-stm32.o
-obj-$(CONFIG_CLKSRC_EXYNOS_MCT) += exynos_mct.o
-obj-$(CONFIG_CLKSRC_LPC32XX) += timer-lpc32xx.o
-obj-$(CONFIG_CLKSRC_MPS2) += mps2-timer.o
-obj-$(CONFIG_CLKSRC_SAMSUNG_PWM) += samsung_pwm_timer.o
-obj-$(CONFIG_FSL_FTM_TIMER) += timer-fsl-ftm.o
-obj-$(CONFIG_VF_PIT_TIMER) += timer-vf-pit.o
-obj-$(CONFIG_CLKSRC_QCOM) += timer-qcom.o
-obj-$(CONFIG_MTK_TIMER) += timer-mediatek.o
-obj-$(CONFIG_CLKSRC_PISTACHIO) += timer-pistachio.o
-obj-$(CONFIG_CLKSRC_TI_32K) += timer-ti-32k.o
-obj-$(CONFIG_CLKSRC_NPS) += timer-nps.o
-obj-$(CONFIG_OXNAS_RPS_TIMER) += timer-oxnas-rps.o
-obj-$(CONFIG_OWL_TIMER) += timer-owl.o
-obj-$(CONFIG_MILBEAUT_TIMER) += timer-milbeaut.o
-obj-$(CONFIG_SPRD_TIMER) += timer-sprd.o
-obj-$(CONFIG_NPCM7XX_TIMER) += timer-npcm7xx.o
-obj-$(CONFIG_RDA_TIMER) += timer-rda.o
-
-obj-$(CONFIG_ARC_TIMERS) += arc_timer.o
-obj-$(CONFIG_ARM_ARCH_TIMER) += arm_arch_timer.o
-obj-$(CONFIG_ARM_GLOBAL_TIMER) += arm_global_timer.o
-obj-$(CONFIG_ARMV7M_SYSTICK) += armv7m_systick.o
-obj-$(CONFIG_ARM_TIMER_SP804) += timer-sp804.o
-obj-$(CONFIG_ARCH_HAS_TICK_BROADCAST) += dummy_timer.o
-obj-$(CONFIG_KEYSTONE_TIMER) += timer-keystone.o
-obj-$(CONFIG_INTEGRATOR_AP_TIMER) += timer-integrator-ap.o
-obj-$(CONFIG_CLKSRC_VERSATILE) += timer-versatile.o
-obj-$(CONFIG_CLKSRC_MIPS_GIC) += mips-gic-timer.o
-obj-$(CONFIG_CLKSRC_TANGO_XTAL) += timer-tango-xtal.o
-obj-$(CONFIG_CLKSRC_IMX_GPT) += timer-imx-gpt.o
-obj-$(CONFIG_CLKSRC_IMX_TPM) += timer-imx-tpm.o
-obj-$(CONFIG_TIMER_IMX_SYS_CTR) += timer-imx-sysctr.o
-obj-$(CONFIG_ASM9260_TIMER) += asm9260_timer.o
-obj-$(CONFIG_H8300_TMR8) += h8300_timer8.o
-obj-$(CONFIG_H8300_TMR16) += h8300_timer16.o
-obj-$(CONFIG_H8300_TPU) += h8300_tpu.o
-obj-$(CONFIG_CLKSRC_ST_LPC) += clksrc_st_lpc.o
-obj-$(CONFIG_X86_NUMACHIP) += numachip.o
-obj-$(CONFIG_ATCPIT100_TIMER) += timer-atcpit100.o
-obj-$(CONFIG_RISCV_TIMER) += timer-riscv.o
-obj-$(CONFIG_CSKY_MP_TIMER) += timer-mp-csky.o
-obj-$(CONFIG_GX6605S_TIMER) += timer-gx6605s.o
-obj-$(CONFIG_HYPERV_TIMER) += hyperv_timer.o
diff -uprN linux-5.3/drivers/gpu/Makefile linux-5.3-bonsai/drivers/gpu/Makefile
--- linux-5.3/drivers/gpu/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/gpu/Makefile 2019-09-20 15:15:10.770623600 -0400
@@ -2,6 +2,4 @@
# drm/tegra depends on host1x, so if both drivers are built-in care must be
# taken to initialize them in the correct order. Link order is the only way
# to ensure this currently.
-obj-$(CONFIG_TEGRA_HOST1X) += host1x/
-obj-y += drm/ vga/
-obj-$(CONFIG_IMX_IPUV3_CORE) += ipu-v3/
+obj-y += drm/
diff -uprN linux-5.3/drivers/gpu/drm/Kconfig linux-5.3-bonsai/drivers/gpu/drm/Kconfig
--- linux-5.3/drivers/gpu/drm/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/gpu/drm/Kconfig 2019-09-20 15:15:10.771623600 -0400
@@ -191,56 +191,6 @@ config DRM_VM
bool
depends on DRM && MMU
-config DRM_SCHED
- tristate
- depends on DRM
-
-source "drivers/gpu/drm/i2c/Kconfig"
-
-source "drivers/gpu/drm/arm/Kconfig"
-
-config DRM_RADEON
- tristate "ATI Radeon"
- depends on DRM && PCI && MMU
- select FW_LOADER
- select DRM_KMS_HELPER
- select DRM_TTM
- select POWER_SUPPLY
- select HWMON
- select BACKLIGHT_CLASS_DEVICE
- select INTERVAL_TREE
- help
- Choose this option if you have an ATI Radeon graphics card. There
- are both PCI and AGP versions. You don't need to choose this to
- run the Radeon in plain VGA mode.
-
- If M is selected, the module will be called radeon.
-
-source "drivers/gpu/drm/radeon/Kconfig"
-
-config DRM_AMDGPU
- tristate "AMD GPU"
- depends on DRM && PCI && MMU
- select FW_LOADER
- select DRM_KMS_HELPER
- select DRM_SCHED
- select DRM_TTM
- select POWER_SUPPLY
- select HWMON
- select BACKLIGHT_CLASS_DEVICE
- select INTERVAL_TREE
- select CHASH
- help
- Choose this option if you have a recent AMD Radeon graphics card.
-
- If M is selected, the module will be called amdgpu.
-
-source "drivers/gpu/drm/amd/amdgpu/Kconfig"
-
-source "drivers/gpu/drm/nouveau/Kconfig"
-
-source "drivers/gpu/drm/i915/Kconfig"
-
config DRM_VGEM
tristate "Virtual GEM provider"
depends on DRM
@@ -261,183 +211,7 @@ config DRM_VKMS
If M is selected the module will be called vkms.
-config DRM_ATI_PCIGART
- bool
-
-source "drivers/gpu/drm/exynos/Kconfig"
-
-source "drivers/gpu/drm/rockchip/Kconfig"
-
-source "drivers/gpu/drm/vmwgfx/Kconfig"
-
-source "drivers/gpu/drm/gma500/Kconfig"
-
-source "drivers/gpu/drm/udl/Kconfig"
-
-source "drivers/gpu/drm/ast/Kconfig"
-
-source "drivers/gpu/drm/mgag200/Kconfig"
-
-source "drivers/gpu/drm/cirrus/Kconfig"
-
-source "drivers/gpu/drm/armada/Kconfig"
-
-source "drivers/gpu/drm/atmel-hlcdc/Kconfig"
-
-source "drivers/gpu/drm/rcar-du/Kconfig"
-
-source "drivers/gpu/drm/shmobile/Kconfig"
-
-source "drivers/gpu/drm/sun4i/Kconfig"
-
-source "drivers/gpu/drm/omapdrm/Kconfig"
-
-source "drivers/gpu/drm/tilcdc/Kconfig"
-
-source "drivers/gpu/drm/qxl/Kconfig"
-
-source "drivers/gpu/drm/bochs/Kconfig"
-
-source "drivers/gpu/drm/virtio/Kconfig"
-
-source "drivers/gpu/drm/msm/Kconfig"
-
-source "drivers/gpu/drm/fsl-dcu/Kconfig"
-
-source "drivers/gpu/drm/tegra/Kconfig"
-
-source "drivers/gpu/drm/stm/Kconfig"
-
-source "drivers/gpu/drm/panel/Kconfig"
-
-source "drivers/gpu/drm/bridge/Kconfig"
-
-source "drivers/gpu/drm/sti/Kconfig"
-
-source "drivers/gpu/drm/imx/Kconfig"
-
-source "drivers/gpu/drm/ingenic/Kconfig"
-
-source "drivers/gpu/drm/v3d/Kconfig"
-
-source "drivers/gpu/drm/vc4/Kconfig"
-
-source "drivers/gpu/drm/etnaviv/Kconfig"
-
-source "drivers/gpu/drm/arc/Kconfig"
-
-source "drivers/gpu/drm/hisilicon/Kconfig"
-
-source "drivers/gpu/drm/mediatek/Kconfig"
-
-source "drivers/gpu/drm/zte/Kconfig"
-
-source "drivers/gpu/drm/mxsfb/Kconfig"
-
-source "drivers/gpu/drm/meson/Kconfig"
-
-source "drivers/gpu/drm/tinydrm/Kconfig"
-
-source "drivers/gpu/drm/pl111/Kconfig"
-
-source "drivers/gpu/drm/tve200/Kconfig"
-
-source "drivers/gpu/drm/xen/Kconfig"
-
-source "drivers/gpu/drm/vboxvideo/Kconfig"
-
-source "drivers/gpu/drm/lima/Kconfig"
-
-source "drivers/gpu/drm/panfrost/Kconfig"
-
-source "drivers/gpu/drm/aspeed/Kconfig"
-
-source "drivers/gpu/drm/mcde/Kconfig"
-
-# Keep legacy drivers last
-
-menuconfig DRM_LEGACY
- bool "Enable legacy drivers (DANGEROUS)"
- depends on DRM && MMU
- select DRM_VM
- select DRM_ATI_PCIGART if PCI
- help
- Enable legacy DRI1 drivers. Those drivers expose unsafe and dangerous
- APIs to user-space, which can be used to circumvent access
- restrictions and other security measures. For backwards compatibility
- those drivers are still available, but their use is highly
- inadvisable and might harm your system.
-
- You are recommended to use the safe modeset-only drivers instead, and
- perform 3D emulation in user-space.
-
- Unless you have strong reasons to go rogue, say "N".
-
-if DRM_LEGACY
-
-config DRM_TDFX
- tristate "3dfx Banshee/Voodoo3+"
- depends on DRM && PCI
- help
- Choose this option if you have a 3dfx Banshee or Voodoo3 (or later),
- graphics card. If M is selected, the module will be called tdfx.
-
-config DRM_R128
- tristate "ATI Rage 128"
- depends on DRM && PCI
- select FW_LOADER
- help
- Choose this option if you have an ATI Rage 128 graphics card. If M
- is selected, the module will be called r128. AGP support for
- this card is strongly suggested (unless you have a PCI version).
-
-config DRM_I810
- tristate "Intel I810"
- # !PREEMPT because of missing ioctl locking
- depends on DRM && AGP && AGP_INTEL && (!PREEMPTION || BROKEN)
- help
- Choose this option if you have an Intel I810 graphics card. If M is
- selected, the module will be called i810. AGP support is required
- for this driver to work.
-
-config DRM_MGA
- tristate "Matrox g200/g400"
- depends on DRM && PCI
- select FW_LOADER
- help
- Choose this option if you have a Matrox G200, G400 or G450 graphics
- card. If M is selected, the module will be called mga. AGP
- support is required for this driver to work.
-
-config DRM_SIS
- tristate "SiS video cards"
- depends on DRM && AGP
- depends on FB_SIS || FB_SIS=n
- help
- Choose this option if you have a SiS 630 or compatible video
- chipset. If M is selected the module will be called sis. AGP
- support is required for this driver to work.
-
-config DRM_VIA
- tristate "Via unichrome video cards"
- depends on DRM && PCI
- help
- Choose this option if you have a Via unichrome or compatible video
- chipset. If M is selected the module will be called via.
-
-config DRM_SAVAGE
- tristate "Savage video cards"
- depends on DRM && PCI
- help
- Choose this option if you have a Savage3D/4/SuperSavage/Pro/Twister
- chipset. If M is selected the module will be called savage.
-
-endif # DRM_LEGACY
-
-# Separate option because drm_panel_orientation_quirks.c is shared with fbdev
config DRM_PANEL_ORIENTATION_QUIRKS
tristate
-config DRM_LIB_RANDOM
- bool
- default n
+source "drivers/gpu/drm/virtio/Kconfig"
diff -uprN linux-5.3/drivers/gpu/drm/Makefile linux-5.3-bonsai/drivers/gpu/drm/Makefile
--- linux-5.3/drivers/gpu/drm/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/gpu/drm/Makefile 2019-09-20 15:15:10.771623600 -0400
@@ -19,8 +19,6 @@ drm-y := drm_auth.o drm_cache.o \
drm_syncobj.o drm_lease.o drm_writeback.o drm_client.o \
drm_client_modeset.o drm_atomic_uapi.o drm_hdcp.o
-drm-$(CONFIG_DRM_LEGACY) += drm_legacy_misc.o drm_bufs.o drm_context.o drm_dma.o drm_scatter.o drm_lock.o
-drm-$(CONFIG_DRM_LIB_RANDOM) += lib/drm_random.o
drm-$(CONFIG_DRM_VM) += drm_vm.o
drm-$(CONFIG_COMPAT) += drm_ioc32.o
drm-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_gem_cma_helper.o
@@ -45,78 +43,16 @@ drm_kms_helper-y := drm_crtc_helper.o dr
drm_atomic_state_helper.o drm_damage_helper.o \
drm_format_helper.o drm_self_refresh_helper.o
-drm_kms_helper-$(CONFIG_DRM_PANEL_BRIDGE) += bridge/panel.o
drm_kms_helper-$(CONFIG_DRM_FBDEV_EMULATION) += drm_fb_helper.o
drm_kms_helper-$(CONFIG_DRM_KMS_CMA_HELPER) += drm_fb_cma_helper.o
drm_kms_helper-$(CONFIG_DRM_DP_AUX_CHARDEV) += drm_dp_aux_dev.o
drm_kms_helper-$(CONFIG_DRM_DP_CEC) += drm_dp_cec.o
obj-$(CONFIG_DRM_KMS_HELPER) += drm_kms_helper.o
-obj-$(CONFIG_DRM_DEBUG_SELFTEST) += selftests/
obj-$(CONFIG_DRM) += drm.o
obj-$(CONFIG_DRM_MIPI_DSI) += drm_mipi_dsi.o
obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
-obj-y += arm/
obj-$(CONFIG_DRM_TTM) += ttm/
-obj-$(CONFIG_DRM_SCHED) += scheduler/
-obj-$(CONFIG_DRM_TDFX) += tdfx/
-obj-$(CONFIG_DRM_R128) += r128/
-obj-$(CONFIG_HSA_AMD) += amd/amdkfd/
-obj-$(CONFIG_DRM_RADEON)+= radeon/
-obj-$(CONFIG_DRM_AMDGPU)+= amd/amdgpu/
-obj-$(CONFIG_DRM_MGA) += mga/
-obj-$(CONFIG_DRM_I810) += i810/
-obj-$(CONFIG_DRM_I915) += i915/
-obj-$(CONFIG_DRM_MGAG200) += mgag200/
-obj-$(CONFIG_DRM_V3D) += v3d/
-obj-$(CONFIG_DRM_VC4) += vc4/
-obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/
-obj-$(CONFIG_DRM_SIS) += sis/
-obj-$(CONFIG_DRM_SAVAGE)+= savage/
-obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/
-obj-$(CONFIG_DRM_VIA) +=via/
obj-$(CONFIG_DRM_VGEM) += vgem/
-obj-$(CONFIG_DRM_VKMS) += vkms/
-obj-$(CONFIG_DRM_NOUVEAU) +=nouveau/
-obj-$(CONFIG_DRM_EXYNOS) +=exynos/
-obj-$(CONFIG_DRM_ROCKCHIP) +=rockchip/
-obj-$(CONFIG_DRM_GMA500) += gma500/
-obj-$(CONFIG_DRM_UDL) += udl/
-obj-$(CONFIG_DRM_AST) += ast/
-obj-$(CONFIG_DRM_ARMADA) += armada/
-obj-$(CONFIG_DRM_ATMEL_HLCDC) += atmel-hlcdc/
-obj-y += rcar-du/
-obj-$(CONFIG_DRM_SHMOBILE) +=shmobile/
-obj-y += omapdrm/
-obj-$(CONFIG_DRM_SUN4I) += sun4i/
-obj-y += tilcdc/
-obj-$(CONFIG_DRM_QXL) += qxl/
-obj-$(CONFIG_DRM_BOCHS) += bochs/
obj-$(CONFIG_DRM_VIRTIO_GPU) += virtio/
-obj-$(CONFIG_DRM_MSM) += msm/
-obj-$(CONFIG_DRM_TEGRA) += tegra/
-obj-$(CONFIG_DRM_STM) += stm/
-obj-$(CONFIG_DRM_STI) += sti/
-obj-$(CONFIG_DRM_IMX) += imx/
-obj-$(CONFIG_DRM_INGENIC) += ingenic/
-obj-$(CONFIG_DRM_MEDIATEK) += mediatek/
-obj-$(CONFIG_DRM_MESON) += meson/
-obj-y += i2c/
-obj-y += panel/
-obj-y += bridge/
-obj-$(CONFIG_DRM_FSL_DCU) += fsl-dcu/
-obj-$(CONFIG_DRM_ETNAVIV) += etnaviv/
-obj-$(CONFIG_DRM_ARCPGU)+= arc/
-obj-y += hisilicon/
-obj-$(CONFIG_DRM_ZTE) += zte/
-obj-$(CONFIG_DRM_MXSFB) += mxsfb/
-obj-$(CONFIG_DRM_TINYDRM) += tinydrm/
-obj-$(CONFIG_DRM_PL111) += pl111/
-obj-$(CONFIG_DRM_TVE200) += tve200/
-obj-$(CONFIG_DRM_XEN) += xen/
-obj-$(CONFIG_DRM_VBOXVIDEO) += vboxvideo/
-obj-$(CONFIG_DRM_LIMA) += lima/
-obj-$(CONFIG_DRM_PANFROST) += panfrost/
-obj-$(CONFIG_DRM_ASPEED_GFX) += aspeed/
-obj-$(CONFIG_DRM_MCDE) += mcde/
diff -uprN linux-5.3/drivers/md/Makefile linux-5.3-bonsai/drivers/md/Makefile
--- linux-5.3/drivers/md/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/md/Makefile 2019-09-20 15:15:10.771623600 -0400
@@ -6,25 +6,8 @@
dm-mod-y += dm.o dm-table.o dm-target.o dm-linear.o dm-stripe.o \
dm-ioctl.o dm-io.o dm-kcopyd.o dm-sysfs.o dm-stats.o \
dm-rq.o
-dm-multipath-y += dm-path-selector.o dm-mpath.o
-dm-snapshot-y += dm-snap.o dm-exception-store.o dm-snap-transient.o \
- dm-snap-persistent.o
-dm-mirror-y += dm-raid1.o
-dm-log-userspace-y \
- += dm-log-userspace-base.o dm-log-userspace-transfer.o
-dm-bio-prison-y += dm-bio-prison-v1.o dm-bio-prison-v2.o
-dm-thin-pool-y += dm-thin.o dm-thin-metadata.o
-dm-cache-y += dm-cache-target.o dm-cache-metadata.o dm-cache-policy.o \
- dm-cache-background-tracker.o
-dm-cache-smq-y += dm-cache-policy-smq.o
-dm-era-y += dm-era-target.o
dm-verity-y += dm-verity-target.o
-md-mod-y += md.o md-bitmap.o
-raid456-y += raid5.o raid5-cache.o raid5-ppl.o
-dm-zoned-y += dm-zoned-target.o dm-zoned-metadata.o dm-zoned-reclaim.o
linear-y += md-linear.o
-multipath-y += md-multipath.o
-faulty-y += md-faulty.o
# Note: link order is important. All raid personalities
# and must come before md.o, as they each initialise
@@ -32,43 +15,11 @@ faulty-y += md-faulty.o
# auto-initialised.
obj-$(CONFIG_MD_LINEAR) += linear.o
-obj-$(CONFIG_MD_RAID0) += raid0.o
-obj-$(CONFIG_MD_RAID1) += raid1.o
-obj-$(CONFIG_MD_RAID10) += raid10.o
-obj-$(CONFIG_MD_RAID456) += raid456.o
-obj-$(CONFIG_MD_MULTIPATH) += multipath.o
-obj-$(CONFIG_MD_FAULTY) += faulty.o
-obj-$(CONFIG_MD_CLUSTER) += md-cluster.o
-obj-$(CONFIG_BCACHE) += bcache/
-obj-$(CONFIG_BLK_DEV_MD) += md-mod.o
obj-$(CONFIG_BLK_DEV_DM) += dm-mod.o
obj-$(CONFIG_BLK_DEV_DM_BUILTIN) += dm-builtin.o
-obj-$(CONFIG_DM_UNSTRIPED) += dm-unstripe.o
obj-$(CONFIG_DM_BUFIO) += dm-bufio.o
-obj-$(CONFIG_DM_BIO_PRISON) += dm-bio-prison.o
obj-$(CONFIG_DM_CRYPT) += dm-crypt.o
-obj-$(CONFIG_DM_DELAY) += dm-delay.o
-obj-$(CONFIG_DM_DUST) += dm-dust.o
-obj-$(CONFIG_DM_FLAKEY) += dm-flakey.o
-obj-$(CONFIG_DM_MULTIPATH) += dm-multipath.o dm-round-robin.o
-obj-$(CONFIG_DM_MULTIPATH_QL) += dm-queue-length.o
-obj-$(CONFIG_DM_MULTIPATH_ST) += dm-service-time.o
-obj-$(CONFIG_DM_SWITCH) += dm-switch.o
-obj-$(CONFIG_DM_SNAPSHOT) += dm-snapshot.o
-obj-$(CONFIG_DM_PERSISTENT_DATA) += persistent-data/
-obj-$(CONFIG_DM_MIRROR) += dm-mirror.o dm-log.o dm-region-hash.o
-obj-$(CONFIG_DM_LOG_USERSPACE) += dm-log-userspace.o
-obj-$(CONFIG_DM_ZERO) += dm-zero.o
-obj-$(CONFIG_DM_RAID) += dm-raid.o
-obj-$(CONFIG_DM_THIN_PROVISIONING) += dm-thin-pool.o
obj-$(CONFIG_DM_VERITY) += dm-verity.o
-obj-$(CONFIG_DM_CACHE) += dm-cache.o
-obj-$(CONFIG_DM_CACHE_SMQ) += dm-cache-smq.o
-obj-$(CONFIG_DM_ERA) += dm-era.o
-obj-$(CONFIG_DM_LOG_WRITES) += dm-log-writes.o
-obj-$(CONFIG_DM_INTEGRITY) += dm-integrity.o
-obj-$(CONFIG_DM_ZONED) += dm-zoned.o
-obj-$(CONFIG_DM_WRITECACHE) += dm-writecache.o
ifeq ($(CONFIG_DM_INIT),y)
dm-mod-objs += dm-init.o
@@ -77,7 +28,3 @@ endif
ifeq ($(CONFIG_DM_UEVENT),y)
dm-mod-objs += dm-uevent.o
endif
-
-ifeq ($(CONFIG_DM_VERITY_FEC),y)
-dm-verity-objs += dm-verity-fec.o
-endif
diff -uprN linux-5.3/drivers/net/Makefile linux-5.3-bonsai/drivers/net/Makefile
--- linux-5.3/drivers/net/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/net/Makefile 2019-09-20 15:15:10.772623601 -0400
@@ -6,76 +6,10 @@
#
# Networking Core Drivers
#
-obj-$(CONFIG_BONDING) += bonding/
-obj-$(CONFIG_IPVLAN) += ipvlan/
-obj-$(CONFIG_IPVTAP) += ipvlan/
-obj-$(CONFIG_DUMMY) += dummy.o
-obj-$(CONFIG_EQUALIZER) += eql.o
-obj-$(CONFIG_IFB) += ifb.o
-obj-$(CONFIG_MACSEC) += macsec.o
-obj-$(CONFIG_MACVLAN) += macvlan.o
-obj-$(CONFIG_MACVTAP) += macvtap.o
-obj-$(CONFIG_MII) += mii.o
-obj-$(CONFIG_MDIO) += mdio.o
-obj-$(CONFIG_NET) += Space.o loopback.o
-obj-$(CONFIG_NETCONSOLE) += netconsole.o
-obj-y += phy/
-obj-$(CONFIG_RIONET) += rionet.o
-obj-$(CONFIG_NET_TEAM) += team/
+#obj-$(CONFIG_NET) += Space.o loopback.o
+obj-$(CONFIG_NET) += loopback.o
obj-$(CONFIG_TUN) += tun.o
obj-$(CONFIG_TAP) += tap.o
obj-$(CONFIG_VETH) += veth.o
obj-$(CONFIG_VIRTIO_NET) += virtio_net.o
-obj-$(CONFIG_VXLAN) += vxlan.o
-obj-$(CONFIG_GENEVE) += geneve.o
-obj-$(CONFIG_GTP) += gtp.o
-obj-$(CONFIG_NLMON) += nlmon.o
-obj-$(CONFIG_NET_VRF) += vrf.o
-obj-$(CONFIG_VSOCKMON) += vsockmon.o
-
-#
-# Networking Drivers
-#
-obj-$(CONFIG_ARCNET) += arcnet/
-obj-$(CONFIG_DEV_APPLETALK) += appletalk/
-obj-$(CONFIG_CAIF) += caif/
-obj-$(CONFIG_CAN) += can/
-obj-y += dsa/
-obj-$(CONFIG_ETHERNET) += ethernet/
-obj-$(CONFIG_FDDI) += fddi/
-obj-$(CONFIG_HIPPI) += hippi/
-obj-$(CONFIG_HAMRADIO) += hamradio/
-obj-$(CONFIG_PLIP) += plip/
-obj-$(CONFIG_PPP) += ppp/
-obj-$(CONFIG_PPP_ASYNC) += ppp/
-obj-$(CONFIG_PPP_BSDCOMP) += ppp/
-obj-$(CONFIG_PPP_DEFLATE) += ppp/
-obj-$(CONFIG_PPP_MPPE) += ppp/
-obj-$(CONFIG_PPP_SYNC_TTY) += ppp/
-obj-$(CONFIG_PPPOE) += ppp/
-obj-$(CONFIG_PPPOL2TP) += ppp/
-obj-$(CONFIG_PPTP) += ppp/
-obj-$(CONFIG_SLIP) += slip/
-obj-$(CONFIG_SLHC) += slip/
-obj-$(CONFIG_NET_SB1000) += sb1000.o
-obj-$(CONFIG_SUNGEM_PHY) += sungem_phy.o
-obj-$(CONFIG_WAN) += wan/
-obj-$(CONFIG_WLAN) += wireless/
-obj-$(CONFIG_WIMAX) += wimax/
-obj-$(CONFIG_IEEE802154) += ieee802154/
-
-obj-$(CONFIG_VMXNET3) += vmxnet3/
-obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
-obj-$(CONFIG_XEN_NETDEV_BACKEND) += xen-netback/
-
-obj-$(CONFIG_USB_NET_DRIVERS) += usb/
-
-obj-$(CONFIG_HYPERV_NET) += hyperv/
-obj-$(CONFIG_NTB_NETDEV) += ntb_netdev.o
-
-obj-$(CONFIG_FUJITSU_ES) += fjes/
-
-thunderbolt-net-y += thunderbolt.o
-obj-$(CONFIG_THUNDERBOLT_NET) += thunderbolt-net.o
-obj-$(CONFIG_NETDEVSIM) += netdevsim/
obj-$(CONFIG_NET_FAILOVER) += net_failover.o
diff -uprN linux-5.3/drivers/pci/Makefile linux-5.3-bonsai/drivers/pci/Makefile
--- linux-5.3/drivers/pci/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/pci/Makefile 2019-09-20 15:15:10.772623601 -0400
@@ -13,27 +13,4 @@ obj-$(CONFIG_SYSFS) += slot.o
obj-$(CONFIG_ACPI) += pci-acpi.o
endif
-obj-$(CONFIG_OF) += of.o
-obj-$(CONFIG_PCI_QUIRKS) += quirks.o
-obj-$(CONFIG_PCIEPORTBUS) += pcie/
-obj-$(CONFIG_HOTPLUG_PCI) += hotplug/
-obj-$(CONFIG_PCI_MSI) += msi.o
-obj-$(CONFIG_PCI_ATS) += ats.o
-obj-$(CONFIG_PCI_IOV) += iov.o
-obj-$(CONFIG_PCI_BRIDGE_EMUL) += pci-bridge-emul.o
-obj-$(CONFIG_PCI_LABEL) += pci-label.o
-obj-$(CONFIG_X86_INTEL_MID) += pci-mid.o
-obj-$(CONFIG_PCI_SYSCALL) += syscall.o
-obj-$(CONFIG_PCI_STUB) += pci-stub.o
-obj-$(CONFIG_PCI_PF_STUB) += pci-pf-stub.o
-obj-$(CONFIG_PCI_ECAM) += ecam.o
-obj-$(CONFIG_PCI_P2PDMA) += p2pdma.o
-obj-$(CONFIG_XEN_PCIDEV_FRONTEND) += xen-pcifront.o
-# Endpoint library must be initialized before its users
-obj-$(CONFIG_PCI_ENDPOINT) += endpoint/
-
-obj-y += controller/
-obj-y += switch/
-
-ccflags-$(CONFIG_PCI_DEBUG) := -DDEBUG
diff -uprN linux-5.3/drivers/rtc/Makefile linux-5.3-bonsai/drivers/rtc/Makefile
--- linux-5.3/drivers/rtc/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/rtc/Makefile 2019-09-20 15:15:10.772623601 -0400
@@ -7,181 +7,8 @@ ccflags-$(CONFIG_RTC_DEBUG) := -DDEBUG
obj-$(CONFIG_RTC_LIB) += lib.o
obj-$(CONFIG_RTC_HCTOSYS) += hctosys.o
-obj-$(CONFIG_RTC_SYSTOHC) += systohc.o
obj-$(CONFIG_RTC_CLASS) += rtc-core.o
obj-$(CONFIG_RTC_MC146818_LIB) += rtc-mc146818-lib.o
rtc-core-y := class.o interface.o
-ifdef CONFIG_RTC_DRV_EFI
-rtc-core-y += rtc-efi-platform.o
-endif
-
-rtc-core-$(CONFIG_RTC_NVMEM) += nvmem.o
-rtc-core-$(CONFIG_RTC_INTF_DEV) += dev.o
-rtc-core-$(CONFIG_RTC_INTF_PROC) += proc.o
-rtc-core-$(CONFIG_RTC_INTF_SYSFS) += sysfs.o
-
-# Keep the list ordered.
-
-obj-$(CONFIG_RTC_DRV_88PM80X) += rtc-88pm80x.o
-obj-$(CONFIG_RTC_DRV_88PM860X) += rtc-88pm860x.o
-obj-$(CONFIG_RTC_DRV_AB3100) += rtc-ab3100.o
-obj-$(CONFIG_RTC_DRV_AB8500) += rtc-ab8500.o
-obj-$(CONFIG_RTC_DRV_ABB5ZES3) += rtc-ab-b5ze-s3.o
-obj-$(CONFIG_RTC_DRV_ABEOZ9) += rtc-ab-eoz9.o
-obj-$(CONFIG_RTC_DRV_ABX80X) += rtc-abx80x.o
-obj-$(CONFIG_RTC_DRV_AC100) += rtc-ac100.o
-obj-$(CONFIG_RTC_DRV_ARMADA38X) += rtc-armada38x.o
-obj-$(CONFIG_RTC_DRV_AS3722) += rtc-as3722.o
-obj-$(CONFIG_RTC_DRV_ASM9260) += rtc-asm9260.o
-obj-$(CONFIG_RTC_DRV_ASPEED) += rtc-aspeed.o
-obj-$(CONFIG_RTC_DRV_AT91RM9200)+= rtc-at91rm9200.o
-obj-$(CONFIG_RTC_DRV_AT91SAM9) += rtc-at91sam9.o
-obj-$(CONFIG_RTC_DRV_AU1XXX) += rtc-au1xxx.o
-obj-$(CONFIG_RTC_DRV_BD70528) += rtc-bd70528.o
-obj-$(CONFIG_RTC_DRV_BQ32K) += rtc-bq32k.o
-obj-$(CONFIG_RTC_DRV_BQ4802) += rtc-bq4802.o
-obj-$(CONFIG_RTC_DRV_BRCMSTB) += rtc-brcmstb-waketimer.o
-obj-$(CONFIG_RTC_DRV_CADENCE) += rtc-cadence.o
obj-$(CONFIG_RTC_DRV_CMOS) += rtc-cmos.o
-obj-$(CONFIG_RTC_DRV_COH901331) += rtc-coh901331.o
-obj-$(CONFIG_RTC_DRV_CPCAP) += rtc-cpcap.o
-obj-$(CONFIG_RTC_DRV_CROS_EC) += rtc-cros-ec.o
-obj-$(CONFIG_RTC_DRV_DA9052) += rtc-da9052.o
-obj-$(CONFIG_RTC_DRV_DA9055) += rtc-da9055.o
-obj-$(CONFIG_RTC_DRV_DA9063) += rtc-da9063.o
-obj-$(CONFIG_RTC_DRV_DAVINCI) += rtc-davinci.o
-obj-$(CONFIG_RTC_DRV_DIGICOLOR) += rtc-digicolor.o
-obj-$(CONFIG_RTC_DRV_DM355EVM) += rtc-dm355evm.o
-obj-$(CONFIG_RTC_DRV_DS1216) += rtc-ds1216.o
-obj-$(CONFIG_RTC_DRV_DS1286) += rtc-ds1286.o
-obj-$(CONFIG_RTC_DRV_DS1302) += rtc-ds1302.o
-obj-$(CONFIG_RTC_DRV_DS1305) += rtc-ds1305.o
-obj-$(CONFIG_RTC_DRV_DS1307) += rtc-ds1307.o
-obj-$(CONFIG_RTC_DRV_DS1343) += rtc-ds1343.o
-obj-$(CONFIG_RTC_DRV_DS1347) += rtc-ds1347.o
-obj-$(CONFIG_RTC_DRV_DS1374) += rtc-ds1374.o
-obj-$(CONFIG_RTC_DRV_DS1390) += rtc-ds1390.o
-obj-$(CONFIG_RTC_DRV_DS1511) += rtc-ds1511.o
-obj-$(CONFIG_RTC_DRV_DS1553) += rtc-ds1553.o
-obj-$(CONFIG_RTC_DRV_DS1672) += rtc-ds1672.o
-obj-$(CONFIG_RTC_DRV_DS1685_FAMILY) += rtc-ds1685.o
-obj-$(CONFIG_RTC_DRV_DS1742) += rtc-ds1742.o
-obj-$(CONFIG_RTC_DRV_DS2404) += rtc-ds2404.o
-obj-$(CONFIG_RTC_DRV_DS3232) += rtc-ds3232.o
-obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o
-obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
-obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
-obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
-obj-$(CONFIG_RTC_DRV_FTRTC010) += rtc-ftrtc010.o
-obj-$(CONFIG_RTC_DRV_GENERIC) += rtc-generic.o
-obj-$(CONFIG_RTC_DRV_GOLDFISH) += rtc-goldfish.o
-obj-$(CONFIG_RTC_DRV_HID_SENSOR_TIME) += rtc-hid-sensor-time.o
-obj-$(CONFIG_RTC_DRV_HYM8563) += rtc-hym8563.o
-obj-$(CONFIG_RTC_DRV_IMXDI) += rtc-imxdi.o
-obj-$(CONFIG_RTC_DRV_IMX_SC) += rtc-imx-sc.o
-obj-$(CONFIG_RTC_DRV_ISL12022) += rtc-isl12022.o
-obj-$(CONFIG_RTC_DRV_ISL12026) += rtc-isl12026.o
-obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o
-obj-$(CONFIG_RTC_DRV_JZ4740) += rtc-jz4740.o
-obj-$(CONFIG_RTC_DRV_LOONGSON1) += rtc-ls1x.o
-obj-$(CONFIG_RTC_DRV_LP8788) += rtc-lp8788.o
-obj-$(CONFIG_RTC_DRV_LPC24XX) += rtc-lpc24xx.o
-obj-$(CONFIG_RTC_DRV_LPC32XX) += rtc-lpc32xx.o
-obj-$(CONFIG_RTC_DRV_M41T80) += rtc-m41t80.o
-obj-$(CONFIG_RTC_DRV_M41T93) += rtc-m41t93.o
-obj-$(CONFIG_RTC_DRV_M41T94) += rtc-m41t94.o
-obj-$(CONFIG_RTC_DRV_M48T35) += rtc-m48t35.o
-obj-$(CONFIG_RTC_DRV_M48T59) += rtc-m48t59.o
-obj-$(CONFIG_RTC_DRV_M48T86) += rtc-m48t86.o
-obj-$(CONFIG_RTC_DRV_MAX6900) += rtc-max6900.o
-obj-$(CONFIG_RTC_DRV_MAX6902) += rtc-max6902.o
-obj-$(CONFIG_RTC_DRV_MAX6916) += rtc-max6916.o
-obj-$(CONFIG_RTC_DRV_MAX77686) += rtc-max77686.o
-obj-$(CONFIG_RTC_DRV_MAX8907) += rtc-max8907.o
-obj-$(CONFIG_RTC_DRV_MAX8925) += rtc-max8925.o
-obj-$(CONFIG_RTC_DRV_MAX8997) += rtc-max8997.o
-obj-$(CONFIG_RTC_DRV_MAX8998) += rtc-max8998.o
-obj-$(CONFIG_RTC_DRV_MC13XXX) += rtc-mc13xxx.o
-obj-$(CONFIG_RTC_DRV_MCP795) += rtc-mcp795.o
-obj-$(CONFIG_RTC_DRV_MESON) += rtc-meson.o
-obj-$(CONFIG_RTC_DRV_MOXART) += rtc-moxart.o
-obj-$(CONFIG_RTC_DRV_MPC5121) += rtc-mpc5121.o
-obj-$(CONFIG_RTC_DRV_MSM6242) += rtc-msm6242.o
-obj-$(CONFIG_RTC_DRV_MT6397) += rtc-mt6397.o
-obj-$(CONFIG_RTC_DRV_MT7622) += rtc-mt7622.o
-obj-$(CONFIG_RTC_DRV_MV) += rtc-mv.o
-obj-$(CONFIG_RTC_DRV_MXC) += rtc-mxc.o
-obj-$(CONFIG_RTC_DRV_MXC_V2) += rtc-mxc_v2.o
-obj-$(CONFIG_RTC_DRV_NUC900) += rtc-nuc900.o
-obj-$(CONFIG_RTC_DRV_OMAP) += rtc-omap.o
-obj-$(CONFIG_RTC_DRV_OPAL) += rtc-opal.o
-obj-$(CONFIG_RTC_DRV_PALMAS) += rtc-palmas.o
-obj-$(CONFIG_RTC_DRV_PCAP) += rtc-pcap.o
-obj-$(CONFIG_RTC_DRV_PCF2123) += rtc-pcf2123.o
-obj-$(CONFIG_RTC_DRV_PCF2127) += rtc-pcf2127.o
-obj-$(CONFIG_RTC_DRV_PCF50633) += rtc-pcf50633.o
-obj-$(CONFIG_RTC_DRV_PCF85063) += rtc-pcf85063.o
-obj-$(CONFIG_RTC_DRV_PCF8523) += rtc-pcf8523.o
-obj-$(CONFIG_RTC_DRV_PCF85363) += rtc-pcf85363.o
-obj-$(CONFIG_RTC_DRV_PCF8563) += rtc-pcf8563.o
-obj-$(CONFIG_RTC_DRV_PCF8583) += rtc-pcf8583.o
-obj-$(CONFIG_RTC_DRV_PIC32) += rtc-pic32.o
-obj-$(CONFIG_RTC_DRV_PL030) += rtc-pl030.o
-obj-$(CONFIG_RTC_DRV_PL031) += rtc-pl031.o
-obj-$(CONFIG_RTC_DRV_PM8XXX) += rtc-pm8xxx.o
-obj-$(CONFIG_RTC_DRV_PS3) += rtc-ps3.o
-obj-$(CONFIG_RTC_DRV_PUV3) += rtc-puv3.o
-obj-$(CONFIG_RTC_DRV_PXA) += rtc-pxa.o
-obj-$(CONFIG_RTC_DRV_R7301) += rtc-r7301.o
-obj-$(CONFIG_RTC_DRV_R9701) += rtc-r9701.o
-obj-$(CONFIG_RTC_DRV_RC5T583) += rtc-rc5t583.o
-obj-$(CONFIG_RTC_DRV_RK808) += rtc-rk808.o
-obj-$(CONFIG_RTC_DRV_RP5C01) += rtc-rp5c01.o
-obj-$(CONFIG_RTC_DRV_RS5C313) += rtc-rs5c313.o
-obj-$(CONFIG_RTC_DRV_RS5C348) += rtc-rs5c348.o
-obj-$(CONFIG_RTC_DRV_RS5C372) += rtc-rs5c372.o
-obj-$(CONFIG_RTC_DRV_RTD119X) += rtc-rtd119x.o
-obj-$(CONFIG_RTC_DRV_RV3028) += rtc-rv3028.o
-obj-$(CONFIG_RTC_DRV_RV3029C2) += rtc-rv3029c2.o
-obj-$(CONFIG_RTC_DRV_RV8803) += rtc-rv8803.o
-obj-$(CONFIG_RTC_DRV_RX4581) += rtc-rx4581.o
-obj-$(CONFIG_RTC_DRV_RX6110) += rtc-rx6110.o
-obj-$(CONFIG_RTC_DRV_RX8010) += rtc-rx8010.o
-obj-$(CONFIG_RTC_DRV_RX8025) += rtc-rx8025.o
-obj-$(CONFIG_RTC_DRV_RX8581) += rtc-rx8581.o
-obj-$(CONFIG_RTC_DRV_S35390A) += rtc-s35390a.o
-obj-$(CONFIG_RTC_DRV_S3C) += rtc-s3c.o
-obj-$(CONFIG_RTC_DRV_S5M) += rtc-s5m.o
-obj-$(CONFIG_RTC_DRV_SA1100) += rtc-sa1100.o
-obj-$(CONFIG_RTC_DRV_SC27XX) += rtc-sc27xx.o
-obj-$(CONFIG_RTC_DRV_SD3078) += rtc-sd3078.o
-obj-$(CONFIG_RTC_DRV_SH) += rtc-sh.o
-obj-$(CONFIG_RTC_DRV_SIRFSOC) += rtc-sirfsoc.o
-obj-$(CONFIG_RTC_DRV_SNVS) += rtc-snvs.o
-obj-$(CONFIG_RTC_DRV_SPEAR) += rtc-spear.o
-obj-$(CONFIG_RTC_DRV_STARFIRE) += rtc-starfire.o
-obj-$(CONFIG_RTC_DRV_STK17TA8) += rtc-stk17ta8.o
-obj-$(CONFIG_RTC_DRV_ST_LPC) += rtc-st-lpc.o
-obj-$(CONFIG_RTC_DRV_STM32) += rtc-stm32.o
-obj-$(CONFIG_RTC_DRV_STMP) += rtc-stmp3xxx.o
-obj-$(CONFIG_RTC_DRV_SUN4V) += rtc-sun4v.o
-obj-$(CONFIG_RTC_DRV_SUN6I) += rtc-sun6i.o
-obj-$(CONFIG_RTC_DRV_SUNXI) += rtc-sunxi.o
-obj-$(CONFIG_RTC_DRV_TEGRA) += rtc-tegra.o
-obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o
-obj-$(CONFIG_RTC_DRV_TPS6586X) += rtc-tps6586x.o
-obj-$(CONFIG_RTC_DRV_TPS65910) += rtc-tps65910.o
-obj-$(CONFIG_RTC_DRV_TPS80031) += rtc-tps80031.o
-obj-$(CONFIG_RTC_DRV_TWL4030) += rtc-twl.o
-obj-$(CONFIG_RTC_DRV_TX4939) += rtc-tx4939.o
-obj-$(CONFIG_RTC_DRV_V3020) += rtc-v3020.o
-obj-$(CONFIG_RTC_DRV_VR41XX) += rtc-vr41xx.o
-obj-$(CONFIG_RTC_DRV_VRTC) += rtc-mrst.o
-obj-$(CONFIG_RTC_DRV_VT8500) += rtc-vt8500.o
-obj-$(CONFIG_RTC_DRV_WILCO_EC) += rtc-wilco-ec.o
-obj-$(CONFIG_RTC_DRV_WM831X) += rtc-wm831x.o
-obj-$(CONFIG_RTC_DRV_WM8350) += rtc-wm8350.o
-obj-$(CONFIG_RTC_DRV_X1205) += rtc-x1205.o
-obj-$(CONFIG_RTC_DRV_XGENE) += rtc-xgene.o
-obj-$(CONFIG_RTC_DRV_ZYNQMP) += rtc-zynqmp.o
diff -uprN linux-5.3/drivers/tty/Makefile linux-5.3-bonsai/drivers/tty/Makefile
--- linux-5.3/drivers/tty/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/drivers/tty/Makefile 2019-09-20 15:15:10.773623601 -0400
@@ -13,10 +13,10 @@ obj-$(CONFIG_TRACE_ROUTER) += n_tracerou
obj-$(CONFIG_TRACE_SINK) += n_tracesink.o
obj-$(CONFIG_R3964) += n_r3964.o
-obj-y += vt/
+#obj-y += vt/
obj-$(CONFIG_HVC_DRIVER) += hvc/
-obj-y += serial/
-obj-$(CONFIG_SERIAL_DEV_BUS) += serdev/
+#obj-y += serial/
+#obj-$(CONFIG_SERIAL_DEV_BUS) += serdev/
# tty drivers
obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
@@ -35,4 +35,4 @@ obj-$(CONFIG_GOLDFISH_TTY) += goldfish.o
obj-$(CONFIG_MIPS_EJTAG_FDC_TTY) += mips_ejtag_fdc.o
obj-$(CONFIG_VCC) += vcc.o
-obj-y += ipwireless/
+#obj-y += ipwireless/
diff -uprN linux-5.3/fs/Kconfig linux-5.3-bonsai/fs/Kconfig
--- linux-5.3/fs/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/fs/Kconfig 2019-09-20 15:15:10.773623601 -0400
@@ -31,16 +31,6 @@ config FS_MBCACHE
default y if EXT4_FS=y
default m if EXT2_FS_XATTR || EXT4_FS
-source "fs/reiserfs/Kconfig"
-source "fs/jfs/Kconfig"
-
-source "fs/xfs/Kconfig"
-source "fs/gfs2/Kconfig"
-source "fs/ocfs2/Kconfig"
-source "fs/btrfs/Kconfig"
-source "fs/nilfs2/Kconfig"
-source "fs/f2fs/Kconfig"
-
config FS_DAX
bool "Direct Access (DAX) support"
depends on MMU
@@ -110,12 +100,8 @@ config MANDATORY_FILE_LOCKING
To the best of my knowledge this is dead code that no one cares about.
-source "fs/crypto/Kconfig"
-
source "fs/notify/Kconfig"
-source "fs/quota/Kconfig"
-
source "fs/autofs/Kconfig"
source "fs/fuse/Kconfig"
source "fs/overlayfs/Kconfig"
@@ -123,24 +109,13 @@ source "fs/overlayfs/Kconfig"
menu "Caches"
source "fs/fscache/Kconfig"
-source "fs/cachefiles/Kconfig"
-
-endmenu
-
-if BLOCK
-menu "CD-ROM/DVD Filesystems"
-
-source "fs/isofs/Kconfig"
-source "fs/udf/Kconfig"
endmenu
-endif # BLOCK
if BLOCK
menu "DOS/FAT/NT Filesystems"
source "fs/fat/Kconfig"
-source "fs/ntfs/Kconfig"
endmenu
endif # BLOCK
@@ -218,52 +193,9 @@ config ARCH_HAS_GIGANTIC_PAGE
bool
source "fs/configfs/Kconfig"
-source "fs/efivarfs/Kconfig"
endmenu
-menuconfig MISC_FILESYSTEMS
- bool "Miscellaneous filesystems"
- default y
- ---help---
- Say Y here to get to see options for various miscellaneous
- filesystems, such as filesystems that came from other
- operating systems.
-
- This option alone does not add any kernel code.
-
- If you say N, all options in this submenu will be skipped and
- disabled; if unsure, say Y here.
-
-if MISC_FILESYSTEMS
-
-source "fs/orangefs/Kconfig"
-source "fs/adfs/Kconfig"
-source "fs/affs/Kconfig"
-source "fs/ecryptfs/Kconfig"
-source "fs/hfs/Kconfig"
-source "fs/hfsplus/Kconfig"
-source "fs/befs/Kconfig"
-source "fs/bfs/Kconfig"
-source "fs/efs/Kconfig"
-source "fs/jffs2/Kconfig"
-# UBIFS File system configuration
-source "fs/ubifs/Kconfig"
-source "fs/cramfs/Kconfig"
-source "fs/squashfs/Kconfig"
-source "fs/freevxfs/Kconfig"
-source "fs/minix/Kconfig"
-source "fs/omfs/Kconfig"
-source "fs/hpfs/Kconfig"
-source "fs/qnx4/Kconfig"
-source "fs/qnx6/Kconfig"
-source "fs/romfs/Kconfig"
-source "fs/pstore/Kconfig"
-source "fs/sysv/Kconfig"
-source "fs/ufs/Kconfig"
-
-endif # MISC_FILESYSTEMS
-
menuconfig NETWORK_FILESYSTEMS
bool "Network File Systems"
default y
@@ -280,43 +212,10 @@ menuconfig NETWORK_FILESYSTEMS
if NETWORK_FILESYSTEMS
-source "fs/nfs/Kconfig"
-source "fs/nfsd/Kconfig"
-
-config GRACE_PERIOD
- tristate
-
-config LOCKD
- tristate
- depends on FILE_LOCKING
- select GRACE_PERIOD
-
-config LOCKD_V4
- bool
- depends on NFSD_V3 || NFS_V3
- depends on FILE_LOCKING
- default y
-
-config NFS_ACL_SUPPORT
- tristate
- select FS_POSIX_ACL
-
-config NFS_COMMON
- bool
- depends on NFSD || NFS_FS || LOCKD
- default y
-
-source "net/sunrpc/Kconfig"
-source "fs/ceph/Kconfig"
-source "fs/cifs/Kconfig"
-source "fs/coda/Kconfig"
-source "fs/afs/Kconfig"
source "fs/9p/Kconfig"
endif # NETWORK_FILESYSTEMS
source "fs/nls/Kconfig"
-source "fs/dlm/Kconfig"
-source "fs/unicode/Kconfig"
endmenu
diff -uprN linux-5.3/fs/Makefile linux-5.3-bonsai/fs/Makefile
--- linux-5.3/fs/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/fs/Makefile 2019-09-20 15:15:10.773623601 -0400
@@ -33,10 +33,8 @@ obj-$(CONFIG_USERFAULTFD) += userfaultfd
obj-$(CONFIG_AIO) += aio.o
obj-$(CONFIG_IO_URING) += io_uring.o
obj-$(CONFIG_FS_DAX) += dax.o
-obj-$(CONFIG_FS_ENCRYPTION) += crypto/
obj-$(CONFIG_FILE_LOCKING) += locks.o
obj-$(CONFIG_COMPAT) += compat.o compat_ioctl.o
-obj-$(CONFIG_BINFMT_AOUT) += binfmt_aout.o
obj-$(CONFIG_BINFMT_EM86) += binfmt_em86.o
obj-$(CONFIG_BINFMT_MISC) += binfmt_misc.o
obj-$(CONFIG_BINFMT_SCRIPT) += binfmt_script.o
@@ -47,14 +45,12 @@ obj-$(CONFIG_BINFMT_FLAT) += binfmt_flat
obj-$(CONFIG_FS_MBCACHE) += mbcache.o
obj-$(CONFIG_FS_POSIX_ACL) += posix_acl.o
-obj-$(CONFIG_NFS_COMMON) += nfs_common/
obj-$(CONFIG_COREDUMP) += coredump.o
obj-$(CONFIG_SYSCTL) += drop_caches.o
obj-$(CONFIG_FHANDLE) += fhandle.o
obj-y += iomap/
-obj-y += quota/
obj-$(CONFIG_PROC_FS) += proc/
obj-$(CONFIG_KERNFS) += kernfs/
@@ -63,70 +59,21 @@ obj-$(CONFIG_CONFIGFS_FS) += configfs/
obj-y += devpts/
obj-$(CONFIG_PROFILING) += dcookies.o
-obj-$(CONFIG_DLM) += dlm/
# Do not add any filesystems before this line
obj-$(CONFIG_FSCACHE) += fscache/
-obj-$(CONFIG_REISERFS_FS) += reiserfs/
obj-$(CONFIG_EXT4_FS) += ext4/
# We place ext4 before ext2 so that clean ext3 root fs's do NOT mount using the
# ext2 driver, which doesn't know about journalling! Explicitly request ext2
# by giving the rootfstype= parameter.
obj-$(CONFIG_EXT2_FS) += ext2/
obj-$(CONFIG_JBD2) += jbd2/
-obj-$(CONFIG_CRAMFS) += cramfs/
-obj-$(CONFIG_SQUASHFS) += squashfs/
obj-y += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
-obj-$(CONFIG_CODA_FS) += coda/
-obj-$(CONFIG_MINIX_FS) += minix/
obj-$(CONFIG_FAT_FS) += fat/
-obj-$(CONFIG_BFS_FS) += bfs/
-obj-$(CONFIG_ISO9660_FS) += isofs/
-obj-$(CONFIG_HFSPLUS_FS) += hfsplus/ # Before hfs to find wrapped HFS+
-obj-$(CONFIG_HFS_FS) += hfs/
-obj-$(CONFIG_ECRYPT_FS) += ecryptfs/
-obj-$(CONFIG_VXFS_FS) += freevxfs/
-obj-$(CONFIG_NFS_FS) += nfs/
obj-$(CONFIG_EXPORTFS) += exportfs/
-obj-$(CONFIG_NFSD) += nfsd/
-obj-$(CONFIG_LOCKD) += lockd/
obj-$(CONFIG_NLS) += nls/
-obj-$(CONFIG_UNICODE) += unicode/
-obj-$(CONFIG_SYSV_FS) += sysv/
-obj-$(CONFIG_CIFS) += cifs/
-obj-$(CONFIG_HPFS_FS) += hpfs/
-obj-$(CONFIG_NTFS_FS) += ntfs/
-obj-$(CONFIG_UFS_FS) += ufs/
-obj-$(CONFIG_EFS_FS) += efs/
-obj-$(CONFIG_JFFS2_FS) += jffs2/
-obj-$(CONFIG_UBIFS_FS) += ubifs/
-obj-$(CONFIG_AFFS_FS) += affs/
-obj-$(CONFIG_ROMFS_FS) += romfs/
-obj-$(CONFIG_QNX4FS_FS) += qnx4/
-obj-$(CONFIG_QNX6FS_FS) += qnx6/
obj-$(CONFIG_AUTOFS_FS) += autofs/
-obj-$(CONFIG_ADFS_FS) += adfs/
obj-$(CONFIG_FUSE_FS) += fuse/
obj-$(CONFIG_OVERLAY_FS) += overlayfs/
-obj-$(CONFIG_ORANGEFS_FS) += orangefs/
-obj-$(CONFIG_UDF_FS) += udf/
-obj-$(CONFIG_SUN_OPENPROMFS) += openpromfs/
-obj-$(CONFIG_OMFS_FS) += omfs/
-obj-$(CONFIG_JFS_FS) += jfs/
-obj-$(CONFIG_XFS_FS) += xfs/
obj-$(CONFIG_9P_FS) += 9p/
-obj-$(CONFIG_AFS_FS) += afs/
-obj-$(CONFIG_NILFS2_FS) += nilfs2/
-obj-$(CONFIG_BEFS_FS) += befs/
-obj-$(CONFIG_HOSTFS) += hostfs/
-obj-$(CONFIG_CACHEFILES) += cachefiles/
-obj-$(CONFIG_DEBUG_FS) += debugfs/
-obj-$(CONFIG_TRACING) += tracefs/
-obj-$(CONFIG_OCFS2_FS) += ocfs2/
-obj-$(CONFIG_BTRFS_FS) += btrfs/
-obj-$(CONFIG_GFS2_FS) += gfs2/
-obj-$(CONFIG_F2FS_FS) += f2fs/
-obj-$(CONFIG_CEPH_FS) += ceph/
-obj-$(CONFIG_PSTORE) += pstore/
-obj-$(CONFIG_EFIVAR_FS) += efivarfs/
diff -uprN linux-5.3/kernel/sysctl_binary.c linux-5.3-bonsai/kernel/sysctl_binary.c
--- linux-5.3/kernel/sysctl_binary.c 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/kernel/sysctl_binary.c 2019-09-20 15:15:10.773623601 -0400
@@ -1,7 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#include
#include
-#include "../fs/xfs/xfs_sysctl.h"
#include
#include
#include
@@ -744,26 +743,6 @@ static const struct bin_table bin_fs_quo
{}
};
-static const struct bin_table bin_fs_xfs_table[] = {
- { CTL_INT, XFS_SGID_INHERIT, "irix_sgid_inherit" },
- { CTL_INT, XFS_SYMLINK_MODE, "irix_symlink_mode" },
- { CTL_INT, XFS_PANIC_MASK, "panic_mask" },
-
- { CTL_INT, XFS_ERRLEVEL, "error_level" },
- { CTL_INT, XFS_SYNCD_TIMER, "xfssyncd_centisecs" },
- { CTL_INT, XFS_INHERIT_SYNC, "inherit_sync" },
- { CTL_INT, XFS_INHERIT_NODUMP, "inherit_nodump" },
- { CTL_INT, XFS_INHERIT_NOATIME, "inherit_noatime" },
- { CTL_INT, XFS_BUF_TIMER, "xfsbufd_centisecs" },
- { CTL_INT, XFS_BUF_AGE, "age_buffer_centisecs" },
- { CTL_INT, XFS_INHERIT_NOSYM, "inherit_nosymlinks" },
- { CTL_INT, XFS_ROTORSTEP, "rotorstep" },
- { CTL_INT, XFS_INHERIT_NODFRG, "inherit_nodefrag" },
- { CTL_INT, XFS_FILESTREAM_TIMER, "filestream_centisecs" },
- { CTL_INT, XFS_STATS_CLEAR, "stats_clear" },
- {}
-};
-
static const struct bin_table bin_fs_ocfs2_nm_table[] = {
{ CTL_STR, 1, "hb_ctl_path" },
{}
@@ -798,7 +777,6 @@ static const struct bin_table bin_fs_tab
{ CTL_INT, FS_DIR_NOTIFY, "dir-notify-enable" },
{ CTL_INT, FS_LEASE_TIME, "lease-break-time" },
{ CTL_DIR, FS_DQSTATS, "quota", bin_fs_quota_table },
- { CTL_DIR, FS_XFS, "xfs", bin_fs_xfs_table },
{ CTL_ULONG, FS_AIO_NR, "aio-nr" },
{ CTL_ULONG, FS_AIO_MAX_NR, "aio-max-nr" },
{ CTL_DIR, FS_INOTIFY, "inotify", bin_inotify_table },
diff -uprN linux-5.3/net/Kconfig linux-5.3-bonsai/net/Kconfig
--- linux-5.3/net/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/net/Kconfig 2019-09-20 15:15:10.774623601 -0400
@@ -59,11 +59,6 @@ menu "Networking options"
source "net/packet/Kconfig"
source "net/unix/Kconfig"
-source "net/tls/Kconfig"
-source "net/xfrm/Kconfig"
-source "net/iucv/Kconfig"
-source "net/smc/Kconfig"
-source "net/xdp/Kconfig"
config INET
bool "TCP/IP networking"
@@ -90,7 +85,7 @@ config INET
if INET
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
-source "net/netlabel/Kconfig"
+#source "net/netlabel/Kconfig"
endif # if INET
@@ -114,132 +109,10 @@ config NETWORK_PHY_TIMESTAMPING
If you are unsure how to answer this question, answer N.
-menuconfig NETFILTER
- bool "Network packet filtering framework (Netfilter)"
- ---help---
- Netfilter is a framework for filtering and mangling network packets
- that pass through your Linux box.
- The most common use of packet filtering is to run your Linux box as
- a firewall protecting a local network from the Internet. The type of
- firewall provided by this kernel support is called a "packet
- filter", which means that it can reject individual network packets
- based on type, source, destination etc. The other kind of firewall,
- a "proxy-based" one, is more secure but more intrusive and more
- bothersome to set up; it inspects the network traffic much more
- closely, modifies it and has knowledge about the higher level
- protocols, which a packet filter lacks. Moreover, proxy-based
- firewalls often require changes to the programs running on the local
- clients. Proxy-based firewalls don't need support by the kernel, but
- they are often combined with a packet filter, which only works if
- you say Y here.
-
- You should also say Y here if you intend to use your Linux box as
- the gateway to the Internet for a local network of machines without
- globally valid IP addresses. This is called "masquerading": if one
- of the computers on your local network wants to send something to
- the outside, your box can "masquerade" as that computer, i.e. it
- forwards the traffic to the intended outside destination, but
- modifies the packets to make it look like they came from the
- firewall box itself. It works both ways: if the outside host
- replies, the Linux box will silently forward the traffic to the
- correct local computer. This way, the computers on your local net
- are completely invisible to the outside world, even though they can
- reach the outside and can receive replies. It is even possible to
- run globally visible servers from within a masqueraded local network
- using a mechanism called portforwarding. Masquerading is also often
- called NAT (Network Address Translation).
-
- Another use of Netfilter is in transparent proxying: if a machine on
- the local network tries to connect to an outside host, your Linux
- box can transparently forward the traffic to a local server,
- typically a caching proxy server.
-
- Yet another use of Netfilter is building a bridging firewall. Using
- a bridge with Network packet filtering enabled makes iptables "see"
- the bridged traffic. For filtering on the lower network and Ethernet
- protocols over the bridge, use ebtables (under bridge netfilter
- configuration).
-
- Various modules exist for netfilter which replace the previous
- masquerading (ipmasqadm), packet filtering (ipchains), transparent
- proxying, and portforwarding mechanisms. Please see
- under "iptables" for the location of
- these packages.
-
-if NETFILTER
-
-config NETFILTER_ADVANCED
- bool "Advanced netfilter configuration"
- depends on NETFILTER
- default y
- help
- If you say Y here you can select between all the netfilter modules.
- If you say N the more unusual ones will not be shown and the
- basic ones needed by most people will default to 'M'.
-
- If unsure, say Y.
-
-config BRIDGE_NETFILTER
- tristate "Bridged IP/ARP packets filtering"
- depends on BRIDGE
- depends on NETFILTER && INET
- depends on NETFILTER_ADVANCED
- select NETFILTER_FAMILY_BRIDGE
- select SKB_EXTENSIONS
- default m
- ---help---
- Enabling this option will let arptables resp. iptables see bridged
- ARP resp. IP traffic. If you want a bridging firewall, you probably
- want this option enabled.
- Enabling or disabling this option doesn't enable or disable
- ebtables.
-
- If unsure, say N.
-
-source "net/netfilter/Kconfig"
-source "net/ipv4/netfilter/Kconfig"
-source "net/ipv6/netfilter/Kconfig"
-source "net/decnet/netfilter/Kconfig"
-source "net/bridge/netfilter/Kconfig"
-
-endif
-
-source "net/bpfilter/Kconfig"
-
-source "net/dccp/Kconfig"
-source "net/sctp/Kconfig"
-source "net/rds/Kconfig"
-source "net/tipc/Kconfig"
-source "net/atm/Kconfig"
-source "net/l2tp/Kconfig"
-source "net/802/Kconfig"
-source "net/bridge/Kconfig"
-source "net/dsa/Kconfig"
-source "net/8021q/Kconfig"
-source "net/decnet/Kconfig"
-source "net/llc/Kconfig"
-source "drivers/net/appletalk/Kconfig"
-source "net/x25/Kconfig"
-source "net/lapb/Kconfig"
-source "net/phonet/Kconfig"
-source "net/6lowpan/Kconfig"
-source "net/ieee802154/Kconfig"
-source "net/mac802154/Kconfig"
source "net/sched/Kconfig"
-source "net/dcb/Kconfig"
-source "net/dns_resolver/Kconfig"
-source "net/batman-adv/Kconfig"
-source "net/openvswitch/Kconfig"
source "net/vmw_vsock/Kconfig"
source "net/netlink/Kconfig"
-source "net/mpls/Kconfig"
-source "net/nsh/Kconfig"
-source "net/hsr/Kconfig"
-source "net/switchdev/Kconfig"
-source "net/l3mdev/Kconfig"
-source "net/qrtr/Kconfig"
-source "net/ncsi/Kconfig"
config RPS
bool
@@ -360,37 +233,11 @@ endmenu
endmenu
-source "net/ax25/Kconfig"
-source "net/can/Kconfig"
-source "net/bluetooth/Kconfig"
-source "net/rxrpc/Kconfig"
-source "net/kcm/Kconfig"
-source "net/strparser/Kconfig"
-
config FIB_RULES
bool
-menuconfig WIRELESS
- bool "Wireless"
- depends on !S390
- default y
-
-if WIRELESS
-
-source "net/wireless/Kconfig"
-source "net/mac80211/Kconfig"
-
-endif # WIRELESS
-
-source "net/wimax/Kconfig"
-source "net/rfkill/Kconfig"
source "net/9p/Kconfig"
-source "net/caif/Kconfig"
-source "net/ceph/Kconfig"
-source "net/nfc/Kconfig"
-source "net/psample/Kconfig"
-source "net/ife/Kconfig"
config LWTUNNEL
bool "Network light weight tunnels"
diff -uprN linux-5.3/net/Makefile linux-5.3-bonsai/net/Makefile
--- linux-5.3/net/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/net/Makefile 2019-09-20 15:15:10.774623601 -0400
@@ -11,79 +11,14 @@ obj-$(CONFIG_NET) := socket.o core/
tmp-$(CONFIG_COMPAT) := compat.o
obj-$(CONFIG_NET) += $(tmp-y)
-# LLC has to be linked before the files in net/802/
-obj-$(CONFIG_LLC) += llc/
-obj-$(CONFIG_NET) += ethernet/ 802/ sched/ netlink/ bpf/
-obj-$(CONFIG_NETFILTER) += netfilter/
+obj-$(CONFIG_NET) += ethernet/ sched/ netlink/ bpf/
obj-$(CONFIG_INET) += ipv4/
-obj-$(CONFIG_TLS) += tls/
-obj-$(CONFIG_XFRM) += xfrm/
obj-$(CONFIG_UNIX_SCM) += unix/
obj-$(CONFIG_NET) += ipv6/
-obj-$(CONFIG_BPFILTER) += bpfilter/
obj-$(CONFIG_PACKET) += packet/
-obj-$(CONFIG_NET_KEY) += key/
-obj-$(CONFIG_BRIDGE) += bridge/
-obj-$(CONFIG_NET_DSA) += dsa/
-obj-$(CONFIG_ATALK) += appletalk/
-obj-$(CONFIG_X25) += x25/
-obj-$(CONFIG_LAPB) += lapb/
-obj-$(CONFIG_NETROM) += netrom/
-obj-$(CONFIG_ROSE) += rose/
-obj-$(CONFIG_AX25) += ax25/
-obj-$(CONFIG_CAN) += can/
-obj-$(CONFIG_BT) += bluetooth/
-obj-$(CONFIG_SUNRPC) += sunrpc/
-obj-$(CONFIG_AF_RXRPC) += rxrpc/
-obj-$(CONFIG_AF_KCM) += kcm/
-obj-$(CONFIG_STREAM_PARSER) += strparser/
-obj-$(CONFIG_ATM) += atm/
-obj-$(CONFIG_L2TP) += l2tp/
-obj-$(CONFIG_DECNET) += decnet/
-obj-$(CONFIG_PHONET) += phonet/
-ifneq ($(CONFIG_VLAN_8021Q),)
-obj-y += 8021q/
-endif
-obj-$(CONFIG_IP_DCCP) += dccp/
-obj-$(CONFIG_IP_SCTP) += sctp/
-obj-$(CONFIG_RDS) += rds/
-obj-$(CONFIG_WIRELESS) += wireless/
-obj-$(CONFIG_MAC80211) += mac80211/
-obj-$(CONFIG_TIPC) += tipc/
-obj-$(CONFIG_NETLABEL) += netlabel/
-obj-$(CONFIG_IUCV) += iucv/
-obj-$(CONFIG_SMC) += smc/
-obj-$(CONFIG_RFKILL) += rfkill/
obj-$(CONFIG_NET_9P) += 9p/
-obj-$(CONFIG_CAIF) += caif/
-ifneq ($(CONFIG_DCB),)
-obj-y += dcb/
-endif
-obj-$(CONFIG_6LOWPAN) += 6lowpan/
-obj-$(CONFIG_IEEE802154) += ieee802154/
-obj-$(CONFIG_MAC802154) += mac802154/
ifeq ($(CONFIG_NET),y)
obj-$(CONFIG_SYSCTL) += sysctl_net.o
endif
-obj-$(CONFIG_WIMAX) += wimax/
-obj-$(CONFIG_DNS_RESOLVER) += dns_resolver/
-obj-$(CONFIG_CEPH_LIB) += ceph/
-obj-$(CONFIG_BATMAN_ADV) += batman-adv/
-obj-$(CONFIG_NFC) += nfc/
-obj-$(CONFIG_PSAMPLE) += psample/
-obj-$(CONFIG_NET_IFE) += ife/
-obj-$(CONFIG_OPENVSWITCH) += openvswitch/
obj-$(CONFIG_VSOCKETS) += vmw_vsock/
-obj-$(CONFIG_MPLS) += mpls/
-obj-$(CONFIG_NET_NSH) += nsh/
-obj-$(CONFIG_HSR) += hsr/
-ifneq ($(CONFIG_NET_SWITCHDEV),)
-obj-y += switchdev/
-endif
-ifneq ($(CONFIG_NET_L3_MASTER_DEV),)
-obj-y += l3mdev/
-endif
-obj-$(CONFIG_QRTR) += qrtr/
-obj-$(CONFIG_NET_NCSI) += ncsi/
-obj-$(CONFIG_XDP_SOCKETS) += xdp/
diff -uprN linux-5.3/net/sched/Kconfig linux-5.3-bonsai/net/sched/Kconfig
--- linux-5.3/net/sched/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/net/sched/Kconfig 2019-09-20 15:15:10.775623601 -0400
@@ -3,967 +3,3 @@
# Traffic control configuration.
#
-menuconfig NET_SCHED
- bool "QoS and/or fair queueing"
- select NET_SCH_FIFO
- ---help---
- When the kernel has several packets to send out over a network
- device, it has to decide which ones to send first, which ones to
- delay, and which ones to drop. This is the job of the queueing
- disciplines, several different algorithms for how to do this
- "fairly" have been proposed.
-
- If you say N here, you will get the standard packet scheduler, which
- is a FIFO (first come, first served). If you say Y here, you will be
- able to choose from among several alternative algorithms which can
- then be attached to different network devices. This is useful for
- example if some of your network devices are real time devices that
- need a certain minimum data flow rate, or if you need to limit the
- maximum data flow rate for traffic which matches specified criteria.
- This code is considered to be experimental.
-
- To administer these schedulers, you'll need the user-level utilities
- from the package iproute2+tc at
- . That package
- also contains some documentation; for more, check out
- .
-
- This Quality of Service (QoS) support will enable you to use
- Differentiated Services (diffserv) and Resource Reservation Protocol
- (RSVP) on your Linux router if you also say Y to the corresponding
- classifiers below. Documentation and software is at
- .
-
- If you say Y here and to "/proc file system" below, you will be able
- to read status information about packet schedulers from the file
- /proc/net/psched.
-
- The available schedulers are listed in the following questions; you
- can say Y to as many as you like. If unsure, say N now.
-
-if NET_SCHED
-
-comment "Queueing/Scheduling"
-
-config NET_SCH_CBQ
- tristate "Class Based Queueing (CBQ)"
- ---help---
- Say Y here if you want to use the Class-Based Queueing (CBQ) packet
- scheduling algorithm. This algorithm classifies the waiting packets
- into a tree-like hierarchy of classes; the leaves of this tree are
- in turn scheduled by separate algorithms.
-
- See the top of for more details.
-
- CBQ is a commonly used scheduler, so if you're unsure, you should
- say Y here. Then say Y to all the queueing algorithms below that you
- want to use as leaf disciplines.
-
- To compile this code as a module, choose M here: the
- module will be called sch_cbq.
-
-config NET_SCH_HTB
- tristate "Hierarchical Token Bucket (HTB)"
- ---help---
- Say Y here if you want to use the Hierarchical Token Buckets (HTB)
- packet scheduling algorithm. See
- for complete manual and
- in-depth articles.
-
- HTB is very similar to CBQ regarding its goals however is has
- different properties and different algorithm.
-
- To compile this code as a module, choose M here: the
- module will be called sch_htb.
-
-config NET_SCH_HFSC
- tristate "Hierarchical Fair Service Curve (HFSC)"
- ---help---
- Say Y here if you want to use the Hierarchical Fair Service Curve
- (HFSC) packet scheduling algorithm.
-
- To compile this code as a module, choose M here: the
- module will be called sch_hfsc.
-
-config NET_SCH_ATM
- tristate "ATM Virtual Circuits (ATM)"
- depends on ATM
- ---help---
- Say Y here if you want to use the ATM pseudo-scheduler. This
- provides a framework for invoking classifiers, which in turn
- select classes of this queuing discipline. Each class maps
- the flow(s) it is handling to a given virtual circuit.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_atm.
-
-config NET_SCH_PRIO
- tristate "Multi Band Priority Queueing (PRIO)"
- ---help---
- Say Y here if you want to use an n-band priority queue packet
- scheduler.
-
- To compile this code as a module, choose M here: the
- module will be called sch_prio.
-
-config NET_SCH_MULTIQ
- tristate "Hardware Multiqueue-aware Multi Band Queuing (MULTIQ)"
- ---help---
- Say Y here if you want to use an n-band queue packet scheduler
- to support devices that have multiple hardware transmit queues.
-
- To compile this code as a module, choose M here: the
- module will be called sch_multiq.
-
-config NET_SCH_RED
- tristate "Random Early Detection (RED)"
- ---help---
- Say Y here if you want to use the Random Early Detection (RED)
- packet scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_red.
-
-config NET_SCH_SFB
- tristate "Stochastic Fair Blue (SFB)"
- ---help---
- Say Y here if you want to use the Stochastic Fair Blue (SFB)
- packet scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_sfb.
-
-config NET_SCH_SFQ
- tristate "Stochastic Fairness Queueing (SFQ)"
- ---help---
- Say Y here if you want to use the Stochastic Fairness Queueing (SFQ)
- packet scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_sfq.
-
-config NET_SCH_TEQL
- tristate "True Link Equalizer (TEQL)"
- ---help---
- Say Y here if you want to use the True Link Equalizer (TLE) packet
- scheduling algorithm. This queueing discipline allows the combination
- of several physical devices into one virtual device.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_teql.
-
-config NET_SCH_TBF
- tristate "Token Bucket Filter (TBF)"
- ---help---
- Say Y here if you want to use the Token Bucket Filter (TBF) packet
- scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_tbf.
-
-config NET_SCH_CBS
- tristate "Credit Based Shaper (CBS)"
- ---help---
- Say Y here if you want to use the Credit Based Shaper (CBS) packet
- scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_cbs.
-
-config NET_SCH_ETF
- tristate "Earliest TxTime First (ETF)"
- help
- Say Y here if you want to use the Earliest TxTime First (ETF) packet
- scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_etf.
-
-config NET_SCH_TAPRIO
- tristate "Time Aware Priority (taprio) Scheduler"
- help
- Say Y here if you want to use the Time Aware Priority (taprio) packet
- scheduling algorithm.
-
- See the top of for more details.
-
- To compile this code as a module, choose M here: the
- module will be called sch_taprio.
-
-config NET_SCH_GRED
- tristate "Generic Random Early Detection (GRED)"
- ---help---
- Say Y here if you want to use the Generic Random Early Detection
- (GRED) packet scheduling algorithm for some of your network devices
- (see the top of for details and
- references about the algorithm).
-
- To compile this code as a module, choose M here: the
- module will be called sch_gred.
-
-config NET_SCH_DSMARK
- tristate "Differentiated Services marker (DSMARK)"
- ---help---
- Say Y if you want to schedule packets according to the
- Differentiated Services architecture proposed in RFC 2475.
- Technical information on this method, with pointers to associated
- RFCs, is available at .
-
- To compile this code as a module, choose M here: the
- module will be called sch_dsmark.
-
-config NET_SCH_NETEM
- tristate "Network emulator (NETEM)"
- ---help---
- Say Y if you want to emulate network delay, loss, and packet
- re-ordering. This is often useful to simulate networks when
- testing applications or protocols.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_netem.
-
- If unsure, say N.
-
-config NET_SCH_DRR
- tristate "Deficit Round Robin scheduler (DRR)"
- help
- Say Y here if you want to use the Deficit Round Robin (DRR) packet
- scheduling algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_drr.
-
- If unsure, say N.
-
-config NET_SCH_MQPRIO
- tristate "Multi-queue priority scheduler (MQPRIO)"
- help
- Say Y here if you want to use the Multi-queue Priority scheduler.
- This scheduler allows QOS to be offloaded on NICs that have support
- for offloading QOS schedulers.
-
- To compile this driver as a module, choose M here: the module will
- be called sch_mqprio.
-
- If unsure, say N.
-
-config NET_SCH_SKBPRIO
- tristate "SKB priority queue scheduler (SKBPRIO)"
- help
- Say Y here if you want to use the SKB priority queue
- scheduler. This schedules packets according to skb->priority,
- which is useful for request packets in DoS mitigation systems such
- as Gatekeeper.
-
- To compile this driver as a module, choose M here: the module will
- be called sch_skbprio.
-
- If unsure, say N.
-
-config NET_SCH_CHOKE
- tristate "CHOose and Keep responsive flow scheduler (CHOKE)"
- help
- Say Y here if you want to use the CHOKe packet scheduler (CHOose
- and Keep for responsive flows, CHOose and Kill for unresponsive
- flows). This is a variation of RED which trys to penalize flows
- that monopolize the queue.
-
- To compile this code as a module, choose M here: the
- module will be called sch_choke.
-
-config NET_SCH_QFQ
- tristate "Quick Fair Queueing scheduler (QFQ)"
- help
- Say Y here if you want to use the Quick Fair Queueing Scheduler (QFQ)
- packet scheduling algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_qfq.
-
- If unsure, say N.
-
-config NET_SCH_CODEL
- tristate "Controlled Delay AQM (CODEL)"
- help
- Say Y here if you want to use the Controlled Delay (CODEL)
- packet scheduling algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_codel.
-
- If unsure, say N.
-
-config NET_SCH_FQ_CODEL
- tristate "Fair Queue Controlled Delay AQM (FQ_CODEL)"
- help
- Say Y here if you want to use the FQ Controlled Delay (FQ_CODEL)
- packet scheduling algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_fq_codel.
-
- If unsure, say N.
-
-config NET_SCH_CAKE
- tristate "Common Applications Kept Enhanced (CAKE)"
- help
- Say Y here if you want to use the Common Applications Kept Enhanced
- (CAKE) queue management algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_cake.
-
- If unsure, say N.
-
-config NET_SCH_FQ
- tristate "Fair Queue"
- help
- Say Y here if you want to use the FQ packet scheduling algorithm.
-
- FQ does flow separation, and is able to respect pacing requirements
- set by TCP stack into sk->sk_pacing_rate (for localy generated
- traffic)
-
- To compile this driver as a module, choose M here: the module
- will be called sch_fq.
-
- If unsure, say N.
-
-config NET_SCH_HHF
- tristate "Heavy-Hitter Filter (HHF)"
- help
- Say Y here if you want to use the Heavy-Hitter Filter (HHF)
- packet scheduling algorithm.
-
- To compile this driver as a module, choose M here: the module
- will be called sch_hhf.
-
-config NET_SCH_PIE
- tristate "Proportional Integral controller Enhanced (PIE) scheduler"
- help
- Say Y here if you want to use the Proportional Integral controller
- Enhanced scheduler packet scheduling algorithm.
- For more information, please see https://tools.ietf.org/html/rfc8033
-
- To compile this driver as a module, choose M here: the module
- will be called sch_pie.
-
- If unsure, say N.
-
-config NET_SCH_INGRESS
- tristate "Ingress/classifier-action Qdisc"
- depends on NET_CLS_ACT
- select NET_INGRESS
- select NET_EGRESS
- ---help---
- Say Y here if you want to use classifiers for incoming and/or outgoing
- packets. This qdisc doesn't do anything else besides running classifiers,
- which can also have actions attached to them. In case of outgoing packets,
- classifiers that this qdisc holds are executed in the transmit path
- before real enqueuing to an egress qdisc happens.
-
- If unsure, say Y.
-
- To compile this code as a module, choose M here: the module will be
- called sch_ingress with alias of sch_clsact.
-
-config NET_SCH_PLUG
- tristate "Plug network traffic until release (PLUG)"
- ---help---
-
- This queuing discipline allows userspace to plug/unplug a network
- output queue, using the netlink interface. When it receives an
- enqueue command it inserts a plug into the outbound queue that
- causes following packets to enqueue until a dequeue command arrives
- over netlink, causing the plug to be removed and resuming the normal
- packet flow.
-
- This module also provides a generic "network output buffering"
- functionality (aka output commit), wherein upon arrival of a dequeue
- command, only packets up to the first plug are released for delivery.
- The Remus HA project uses this module to enable speculative execution
- of virtual machines by allowing the generated network output to be rolled
- back if needed.
-
- For more information, please refer to
-
- Say Y here if you are using this kernel for Xen dom0 and
- want to protect Xen guests with Remus.
-
- To compile this code as a module, choose M here: the
- module will be called sch_plug.
-
-menuconfig NET_SCH_DEFAULT
- bool "Allow override default queue discipline"
- ---help---
- Support for selection of default queuing discipline.
-
- Nearly all users can safely say no here, and the default
- of pfifo_fast will be used. Many distributions already set
- the default value via /proc/sys/net/core/default_qdisc.
-
- If unsure, say N.
-
-if NET_SCH_DEFAULT
-
-choice
- prompt "Default queuing discipline"
- default DEFAULT_PFIFO_FAST
- help
- Select the queueing discipline that will be used by default
- for all network devices.
-
- config DEFAULT_FQ
- bool "Fair Queue" if NET_SCH_FQ
-
- config DEFAULT_CODEL
- bool "Controlled Delay" if NET_SCH_CODEL
-
- config DEFAULT_FQ_CODEL
- bool "Fair Queue Controlled Delay" if NET_SCH_FQ_CODEL
-
- config DEFAULT_SFQ
- bool "Stochastic Fair Queue" if NET_SCH_SFQ
-
- config DEFAULT_PFIFO_FAST
- bool "Priority FIFO Fast"
-endchoice
-
-config DEFAULT_NET_SCH
- string
- default "pfifo_fast" if DEFAULT_PFIFO_FAST
- default "fq" if DEFAULT_FQ
- default "fq_codel" if DEFAULT_FQ_CODEL
- default "sfq" if DEFAULT_SFQ
- default "pfifo_fast"
-endif
-
-comment "Classification"
-
-config NET_CLS
- bool
-
-config NET_CLS_BASIC
- tristate "Elementary classification (BASIC)"
- select NET_CLS
- ---help---
- Say Y here if you want to be able to classify packets using
- only extended matches and actions.
-
- To compile this code as a module, choose M here: the
- module will be called cls_basic.
-
-config NET_CLS_TCINDEX
- tristate "Traffic-Control Index (TCINDEX)"
- select NET_CLS
- ---help---
- Say Y here if you want to be able to classify packets based on
- traffic control indices. You will want this feature if you want
- to implement Differentiated Services together with DSMARK.
-
- To compile this code as a module, choose M here: the
- module will be called cls_tcindex.
-
-config NET_CLS_ROUTE4
- tristate "Routing decision (ROUTE)"
- depends on INET
- select IP_ROUTE_CLASSID
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets
- according to the route table entry they matched.
-
- To compile this code as a module, choose M here: the
- module will be called cls_route.
-
-config NET_CLS_FW
- tristate "Netfilter mark (FW)"
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets
- according to netfilter/firewall marks.
-
- To compile this code as a module, choose M here: the
- module will be called cls_fw.
-
-config NET_CLS_U32
- tristate "Universal 32bit comparisons w/ hashing (U32)"
- select NET_CLS
- ---help---
- Say Y here to be able to classify packets using a universal
- 32bit pieces based comparison scheme.
-
- To compile this code as a module, choose M here: the
- module will be called cls_u32.
-
-config CLS_U32_PERF
- bool "Performance counters support"
- depends on NET_CLS_U32
- ---help---
- Say Y here to make u32 gather additional statistics useful for
- fine tuning u32 classifiers.
-
-config CLS_U32_MARK
- bool "Netfilter marks support"
- depends on NET_CLS_U32
- ---help---
- Say Y here to be able to use netfilter marks as u32 key.
-
-config NET_CLS_RSVP
- tristate "IPv4 Resource Reservation Protocol (RSVP)"
- select NET_CLS
- ---help---
- The Resource Reservation Protocol (RSVP) permits end systems to
- request a minimum and maximum data flow rate for a connection; this
- is important for real time data such as streaming sound or video.
-
- Say Y here if you want to be able to classify outgoing packets based
- on their RSVP requests.
-
- To compile this code as a module, choose M here: the
- module will be called cls_rsvp.
-
-config NET_CLS_RSVP6
- tristate "IPv6 Resource Reservation Protocol (RSVP6)"
- select NET_CLS
- ---help---
- The Resource Reservation Protocol (RSVP) permits end systems to
- request a minimum and maximum data flow rate for a connection; this
- is important for real time data such as streaming sound or video.
-
- Say Y here if you want to be able to classify outgoing packets based
- on their RSVP requests and you are using the IPv6 protocol.
-
- To compile this code as a module, choose M here: the
- module will be called cls_rsvp6.
-
-config NET_CLS_FLOW
- tristate "Flow classifier"
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets based on
- a configurable combination of packet keys. This is mostly useful
- in combination with SFQ.
-
- To compile this code as a module, choose M here: the
- module will be called cls_flow.
-
-config NET_CLS_CGROUP
- tristate "Control Group Classifier"
- select NET_CLS
- select CGROUP_NET_CLASSID
- depends on CGROUPS
- ---help---
- Say Y here if you want to classify packets based on the control
- cgroup of their process.
-
- To compile this code as a module, choose M here: the
- module will be called cls_cgroup.
-
-config NET_CLS_BPF
- tristate "BPF-based classifier"
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets based on
- programmable BPF (JIT'ed) filters as an alternative to ematches.
-
- To compile this code as a module, choose M here: the module will
- be called cls_bpf.
-
-config NET_CLS_FLOWER
- tristate "Flower classifier"
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets based on
- a configurable combination of packet keys and masks.
-
- To compile this code as a module, choose M here: the module will
- be called cls_flower.
-
-config NET_CLS_MATCHALL
- tristate "Match-all classifier"
- select NET_CLS
- ---help---
- If you say Y here, you will be able to classify packets based on
- nothing. Every packet will match.
-
- To compile this code as a module, choose M here: the module will
- be called cls_matchall.
-
-config NET_EMATCH
- bool "Extended Matches"
- select NET_CLS
- ---help---
- Say Y here if you want to use extended matches on top of classifiers
- and select the extended matches below.
-
- Extended matches are small classification helpers not worth writing
- a separate classifier for.
-
- A recent version of the iproute2 package is required to use
- extended matches.
-
-config NET_EMATCH_STACK
- int "Stack size"
- depends on NET_EMATCH
- default "32"
- ---help---
- Size of the local stack variable used while evaluating the tree of
- ematches. Limits the depth of the tree, i.e. the number of
- encapsulated precedences. Every level requires 4 bytes of additional
- stack space.
-
-config NET_EMATCH_CMP
- tristate "Simple packet data comparison"
- depends on NET_EMATCH
- ---help---
- Say Y here if you want to be able to classify packets based on
- simple packet data comparisons for 8, 16, and 32bit values.
-
- To compile this code as a module, choose M here: the
- module will be called em_cmp.
-
-config NET_EMATCH_NBYTE
- tristate "Multi byte comparison"
- depends on NET_EMATCH
- ---help---
- Say Y here if you want to be able to classify packets based on
- multiple byte comparisons mainly useful for IPv6 address comparisons.
-
- To compile this code as a module, choose M here: the
- module will be called em_nbyte.
-
-config NET_EMATCH_U32
- tristate "U32 key"
- depends on NET_EMATCH
- ---help---
- Say Y here if you want to be able to classify packets using
- the famous u32 key in combination with logic relations.
-
- To compile this code as a module, choose M here: the
- module will be called em_u32.
-
-config NET_EMATCH_META
- tristate "Metadata"
- depends on NET_EMATCH
- ---help---
- Say Y here if you want to be able to classify packets based on
- metadata such as load average, netfilter attributes, socket
- attributes and routing decisions.
-
- To compile this code as a module, choose M here: the
- module will be called em_meta.
-
-config NET_EMATCH_TEXT
- tristate "Textsearch"
- depends on NET_EMATCH
- select TEXTSEARCH
- select TEXTSEARCH_KMP
- select TEXTSEARCH_BM
- select TEXTSEARCH_FSM
- ---help---
- Say Y here if you want to be able to classify packets based on
- textsearch comparisons.
-
- To compile this code as a module, choose M here: the
- module will be called em_text.
-
-config NET_EMATCH_CANID
- tristate "CAN Identifier"
- depends on NET_EMATCH && (CAN=y || CAN=m)
- ---help---
- Say Y here if you want to be able to classify CAN frames based
- on CAN Identifier.
-
- To compile this code as a module, choose M here: the
- module will be called em_canid.
-
-config NET_EMATCH_IPSET
- tristate "IPset"
- depends on NET_EMATCH && IP_SET
- ---help---
- Say Y here if you want to be able to classify packets based on
- ipset membership.
-
- To compile this code as a module, choose M here: the
- module will be called em_ipset.
-
-config NET_EMATCH_IPT
- tristate "IPtables Matches"
- depends on NET_EMATCH && NETFILTER && NETFILTER_XTABLES
- ---help---
- Say Y here to be able to classify packets based on iptables
- matches.
- Current supported match is "policy" which allows packet classification
- based on IPsec policy that was used during decapsulation
-
- To compile this code as a module, choose M here: the
- module will be called em_ipt.
-
-config NET_CLS_ACT
- bool "Actions"
- select NET_CLS
- ---help---
- Say Y here if you want to use traffic control actions. Actions
- get attached to classifiers and are invoked after a successful
- classification. They are used to overwrite the classification
- result, instantly drop or redirect packets, etc.
-
- A recent version of the iproute2 package is required to use
- extended matches.
-
-config NET_ACT_POLICE
- tristate "Traffic Policing"
- depends on NET_CLS_ACT
- ---help---
- Say Y here if you want to do traffic policing, i.e. strict
- bandwidth limiting. This action replaces the existing policing
- module.
-
- To compile this code as a module, choose M here: the
- module will be called act_police.
-
-config NET_ACT_GACT
- tristate "Generic actions"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to take generic actions such as dropping and
- accepting packets.
-
- To compile this code as a module, choose M here: the
- module will be called act_gact.
-
-config GACT_PROB
- bool "Probability support"
- depends on NET_ACT_GACT
- ---help---
- Say Y here to use the generic action randomly or deterministically.
-
-config NET_ACT_MIRRED
- tristate "Redirecting and Mirroring"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to allow packets to be mirrored or redirected to
- other devices.
-
- To compile this code as a module, choose M here: the
- module will be called act_mirred.
-
-config NET_ACT_SAMPLE
- tristate "Traffic Sampling"
- depends on NET_CLS_ACT
- select PSAMPLE
- ---help---
- Say Y here to allow packet sampling tc action. The packet sample
- action consists of statistically choosing packets and sampling
- them using the psample module.
-
- To compile this code as a module, choose M here: the
- module will be called act_sample.
-
-config NET_ACT_IPT
- tristate "IPtables targets"
- depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
- ---help---
- Say Y here to be able to invoke iptables targets after successful
- classification.
-
- To compile this code as a module, choose M here: the
- module will be called act_ipt.
-
-config NET_ACT_NAT
- tristate "Stateless NAT"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to do stateless NAT on IPv4 packets. You should use
- netfilter for NAT unless you know what you are doing.
-
- To compile this code as a module, choose M here: the
- module will be called act_nat.
-
-config NET_ACT_PEDIT
- tristate "Packet Editing"
- depends on NET_CLS_ACT
- ---help---
- Say Y here if you want to mangle the content of packets.
-
- To compile this code as a module, choose M here: the
- module will be called act_pedit.
-
-config NET_ACT_SIMP
- tristate "Simple Example (Debug)"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to add a simple action for demonstration purposes.
- It is meant as an example and for debugging purposes. It will
- print a configured policy string followed by the packet count
- to the console for every packet that passes by.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_simple.
-
-config NET_ACT_SKBEDIT
- tristate "SKB Editing"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to change skb priority or queue_mapping settings.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_skbedit.
-
-config NET_ACT_CSUM
- tristate "Checksum Updating"
- depends on NET_CLS_ACT && INET
- select LIBCRC32C
- ---help---
- Say Y here to update some common checksum after some direct
- packet alterations.
-
- To compile this code as a module, choose M here: the
- module will be called act_csum.
-
-config NET_ACT_MPLS
- tristate "MPLS manipulation"
- depends on NET_CLS_ACT
- help
- Say Y here to push or pop MPLS headers.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_mpls.
-
-config NET_ACT_VLAN
- tristate "Vlan manipulation"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to push or pop vlan headers.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_vlan.
-
-config NET_ACT_BPF
- tristate "BPF based action"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to execute BPF code on packets. The BPF code will decide
- if the packet should be dropped or not.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_bpf.
-
-config NET_ACT_CONNMARK
- tristate "Netfilter Connection Mark Retriever"
- depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
- depends on NF_CONNTRACK && NF_CONNTRACK_MARK
- ---help---
- Say Y here to allow retrieving of conn mark
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_connmark.
-
-config NET_ACT_CTINFO
- tristate "Netfilter Connection Mark Actions"
- depends on NET_CLS_ACT && NETFILTER && IP_NF_IPTABLES
- depends on NF_CONNTRACK && NF_CONNTRACK_MARK
- help
- Say Y here to allow transfer of a connmark stored information.
- Current actions transfer connmark stored DSCP into
- ipv4/v6 diffserv and/or to transfer connmark to packet
- mark. Both are useful for restoring egress based marks
- back onto ingress connections for qdisc priority mapping
- purposes.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_ctinfo.
-
-config NET_ACT_SKBMOD
- tristate "skb data modification action"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to allow modification of skb data
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_skbmod.
-
-config NET_ACT_IFE
- tristate "Inter-FE action based on IETF ForCES InterFE LFB"
- depends on NET_CLS_ACT
- select NET_IFE
- ---help---
- Say Y here to allow for sourcing and terminating metadata
- For details refer to netdev01 paper:
- "Distributing Linux Traffic Control Classifier-Action Subsystem"
- Authors: Jamal Hadi Salim and Damascene M. Joachimpillai
-
- To compile this code as a module, choose M here: the
- module will be called act_ife.
-
-config NET_ACT_TUNNEL_KEY
- tristate "IP tunnel metadata manipulation"
- depends on NET_CLS_ACT
- ---help---
- Say Y here to set/release ip tunnel metadata.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_tunnel_key.
-
-config NET_ACT_CT
- tristate "connection tracking tc action"
- depends on NET_CLS_ACT && NF_CONNTRACK && NF_NAT
- help
- Say Y here to allow sending the packets to conntrack module.
-
- If unsure, say N.
-
- To compile this code as a module, choose M here: the
- module will be called act_ct.
-
-config NET_IFE_SKBMARK
- tristate "Support to encoding decoding skb mark on IFE action"
- depends on NET_ACT_IFE
-
-config NET_IFE_SKBPRIO
- tristate "Support to encoding decoding skb prio on IFE action"
- depends on NET_ACT_IFE
-
-config NET_IFE_SKBTCINDEX
- tristate "Support to encoding decoding skb tcindex on IFE action"
- depends on NET_ACT_IFE
-
-endif # NET_SCHED
-
-config NET_SCH_FIFO
- bool
diff -uprN linux-5.3/net/sched/Makefile linux-5.3-bonsai/net/sched/Makefile
--- linux-5.3/net/sched/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/net/sched/Makefile 2019-09-20 15:15:10.775623601 -0400
@@ -4,82 +4,3 @@
#
obj-y := sch_generic.o sch_mq.o
-
-obj-$(CONFIG_NET_SCHED) += sch_api.o sch_blackhole.o
-obj-$(CONFIG_NET_CLS) += cls_api.o
-obj-$(CONFIG_NET_CLS_ACT) += act_api.o
-obj-$(CONFIG_NET_ACT_POLICE) += act_police.o
-obj-$(CONFIG_NET_ACT_GACT) += act_gact.o
-obj-$(CONFIG_NET_ACT_MIRRED) += act_mirred.o
-obj-$(CONFIG_NET_ACT_SAMPLE) += act_sample.o
-obj-$(CONFIG_NET_ACT_IPT) += act_ipt.o
-obj-$(CONFIG_NET_ACT_NAT) += act_nat.o
-obj-$(CONFIG_NET_ACT_PEDIT) += act_pedit.o
-obj-$(CONFIG_NET_ACT_SIMP) += act_simple.o
-obj-$(CONFIG_NET_ACT_SKBEDIT) += act_skbedit.o
-obj-$(CONFIG_NET_ACT_CSUM) += act_csum.o
-obj-$(CONFIG_NET_ACT_MPLS) += act_mpls.o
-obj-$(CONFIG_NET_ACT_VLAN) += act_vlan.o
-obj-$(CONFIG_NET_ACT_BPF) += act_bpf.o
-obj-$(CONFIG_NET_ACT_CONNMARK) += act_connmark.o
-obj-$(CONFIG_NET_ACT_CTINFO) += act_ctinfo.o
-obj-$(CONFIG_NET_ACT_SKBMOD) += act_skbmod.o
-obj-$(CONFIG_NET_ACT_IFE) += act_ife.o
-obj-$(CONFIG_NET_IFE_SKBMARK) += act_meta_mark.o
-obj-$(CONFIG_NET_IFE_SKBPRIO) += act_meta_skbprio.o
-obj-$(CONFIG_NET_IFE_SKBTCINDEX) += act_meta_skbtcindex.o
-obj-$(CONFIG_NET_ACT_TUNNEL_KEY)+= act_tunnel_key.o
-obj-$(CONFIG_NET_ACT_CT) += act_ct.o
-obj-$(CONFIG_NET_SCH_FIFO) += sch_fifo.o
-obj-$(CONFIG_NET_SCH_CBQ) += sch_cbq.o
-obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o
-obj-$(CONFIG_NET_SCH_HFSC) += sch_hfsc.o
-obj-$(CONFIG_NET_SCH_RED) += sch_red.o
-obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
-obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
-obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
-obj-$(CONFIG_NET_SCH_SFB) += sch_sfb.o
-obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o
-obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o
-obj-$(CONFIG_NET_SCH_TEQL) += sch_teql.o
-obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o
-obj-$(CONFIG_NET_SCH_MULTIQ) += sch_multiq.o
-obj-$(CONFIG_NET_SCH_ATM) += sch_atm.o
-obj-$(CONFIG_NET_SCH_NETEM) += sch_netem.o
-obj-$(CONFIG_NET_SCH_DRR) += sch_drr.o
-obj-$(CONFIG_NET_SCH_PLUG) += sch_plug.o
-obj-$(CONFIG_NET_SCH_MQPRIO) += sch_mqprio.o
-obj-$(CONFIG_NET_SCH_SKBPRIO) += sch_skbprio.o
-obj-$(CONFIG_NET_SCH_CHOKE) += sch_choke.o
-obj-$(CONFIG_NET_SCH_QFQ) += sch_qfq.o
-obj-$(CONFIG_NET_SCH_CODEL) += sch_codel.o
-obj-$(CONFIG_NET_SCH_FQ_CODEL) += sch_fq_codel.o
-obj-$(CONFIG_NET_SCH_CAKE) += sch_cake.o
-obj-$(CONFIG_NET_SCH_FQ) += sch_fq.o
-obj-$(CONFIG_NET_SCH_HHF) += sch_hhf.o
-obj-$(CONFIG_NET_SCH_PIE) += sch_pie.o
-obj-$(CONFIG_NET_SCH_CBS) += sch_cbs.o
-obj-$(CONFIG_NET_SCH_ETF) += sch_etf.o
-obj-$(CONFIG_NET_SCH_TAPRIO) += sch_taprio.o
-
-obj-$(CONFIG_NET_CLS_U32) += cls_u32.o
-obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o
-obj-$(CONFIG_NET_CLS_FW) += cls_fw.o
-obj-$(CONFIG_NET_CLS_RSVP) += cls_rsvp.o
-obj-$(CONFIG_NET_CLS_TCINDEX) += cls_tcindex.o
-obj-$(CONFIG_NET_CLS_RSVP6) += cls_rsvp6.o
-obj-$(CONFIG_NET_CLS_BASIC) += cls_basic.o
-obj-$(CONFIG_NET_CLS_FLOW) += cls_flow.o
-obj-$(CONFIG_NET_CLS_CGROUP) += cls_cgroup.o
-obj-$(CONFIG_NET_CLS_BPF) += cls_bpf.o
-obj-$(CONFIG_NET_CLS_FLOWER) += cls_flower.o
-obj-$(CONFIG_NET_CLS_MATCHALL) += cls_matchall.o
-obj-$(CONFIG_NET_EMATCH) += ematch.o
-obj-$(CONFIG_NET_EMATCH_CMP) += em_cmp.o
-obj-$(CONFIG_NET_EMATCH_NBYTE) += em_nbyte.o
-obj-$(CONFIG_NET_EMATCH_U32) += em_u32.o
-obj-$(CONFIG_NET_EMATCH_META) += em_meta.o
-obj-$(CONFIG_NET_EMATCH_TEXT) += em_text.o
-obj-$(CONFIG_NET_EMATCH_CANID) += em_canid.o
-obj-$(CONFIG_NET_EMATCH_IPSET) += em_ipset.o
-obj-$(CONFIG_NET_EMATCH_IPT) += em_ipt.o
diff -uprN linux-5.3/scripts/bonsai.list linux-5.3-bonsai/scripts/bonsai.list
--- linux-5.3/scripts/bonsai.list 1969-12-31 19:00:00.000000000 -0500
+++ linux-5.3-bonsai/scripts/bonsai.list 2019-09-20 15:15:10.775623601 -0400
@@ -0,0 +1,1129 @@
+arch/alpha
+arch/arc
+arch/arm
+arch/arm64
+arch/c6x
+arch/csky
+arch/h8300
+arch/hexagon
+arch/ia64
+arch/m68k
+arch/microblaze
+arch/mips
+arch/nds32
+arch/nios2
+arch/openrisc
+arch/parisc
+arch/powerpc
+arch/riscv
+arch/s390
+arch/sh
+arch/sparc
+arch/um
+arch/unicore32
+arch/x86/boot
+arch/x86/entry/vsyscall
+arch/x86/hyperv
+arch/x86/ia32
+arch/x86/kvm
+arch/x86/math-emu
+arch/x86/net
+arch/x86/oprofile
+arch/x86/platform
+arch/x86/power
+arch/x86/purgatory
+arch/x86/ras
+arch/x86/um
+arch/x86/xen
+arch/xtensa
+drivers/accessibility
+drivers/acpi
+drivers/amba
+drivers/android
+drivers/ata
+drivers/atm
+drivers/auxdisplay
+drivers/base/firmware_loader
+drivers/base/regmap
+drivers/base/test
+drivers/bcma
+drivers/block/aoe
+drivers/block/drbd
+drivers/block/mtip32xx
+drivers/block/paride
+drivers/block/rsxx
+drivers/block/xen-blkback
+drivers/block/zram
+drivers/bluetooth
+drivers/bus
+drivers/cdrom
+drivers/char/agp
+drivers/char/ipmi
+drivers/char/mwave
+drivers/char/pcmcia
+drivers/char/tpm
+drivers/char/xilinx_hwicap
+drivers/char/xillybus
+drivers/clk
+drivers/connector
+drivers/counter
+drivers/cpufreq
+drivers/cpuidle
+drivers/crypto
+drivers/dca
+drivers/devfreq
+drivers/dio
+drivers/dma
+drivers/edac
+drivers/eisa
+drivers/extcon
+drivers/firewire
+drivers/firmware
+drivers/fpga
+drivers/fsi
+drivers/gnss
+drivers/gpio
+drivers/gpu/drm/amd
+drivers/gpu/drm/arc
+drivers/gpu/drm/arm
+drivers/gpu/drm/armada
+drivers/gpu/drm/aspeed
+drivers/gpu/drm/ast
+drivers/gpu/drm/atmel-hlcdc
+drivers/gpu/drm/bochs
+drivers/gpu/drm/bridge
+drivers/gpu/drm/cirrus
+drivers/gpu/drm/etnaviv
+drivers/gpu/drm/exynos
+drivers/gpu/drm/fsl-dcu
+drivers/gpu/drm/gma500
+drivers/gpu/drm/hisilicon
+drivers/gpu/drm/i2c
+drivers/gpu/drm/i810
+drivers/gpu/drm/i915
+drivers/gpu/drm/imx
+drivers/gpu/drm/ingenic
+drivers/gpu/drm/lib
+drivers/gpu/drm/lima
+drivers/gpu/drm/mcde
+drivers/gpu/drm/mediatek
+drivers/gpu/drm/meson
+drivers/gpu/drm/mga
+drivers/gpu/drm/mgag200
+drivers/gpu/drm/msm
+drivers/gpu/drm/mxsfb
+drivers/gpu/drm/nouveau
+drivers/gpu/drm/omapdrm
+drivers/gpu/drm/panel
+drivers/gpu/drm/panfrost
+drivers/gpu/drm/pl111
+drivers/gpu/drm/qxl
+drivers/gpu/drm/r128
+drivers/gpu/drm/radeon
+drivers/gpu/drm/rcar-du
+drivers/gpu/drm/rockchip
+drivers/gpu/drm/savage
+drivers/gpu/drm/scheduler
+drivers/gpu/drm/selftests
+drivers/gpu/drm/shmobile
+drivers/gpu/drm/sis
+drivers/gpu/drm/sti
+drivers/gpu/drm/stm
+drivers/gpu/drm/sun4i
+drivers/gpu/drm/tdfx
+drivers/gpu/drm/tegra
+drivers/gpu/drm/tilcdc
+drivers/gpu/drm/tinydrm
+drivers/gpu/drm/tve200
+drivers/gpu/drm/udl
+drivers/gpu/drm/v3d
+drivers/gpu/drm/vboxvideo
+drivers/gpu/drm/vc4
+drivers/gpu/drm/via
+drivers/gpu/drm/vkms
+drivers/gpu/drm/vmwgfx
+drivers/gpu/drm/xen
+drivers/gpu/drm/zte
+drivers/gpu/host1x
+drivers/gpu/ipu-v3
+drivers/gpu/vga
+drivers/hid
+drivers/hsi
+drivers/hv
+drivers/hwmon
+drivers/hwspinlock
+drivers/hwtracing
+drivers/i2c
+drivers/i3c
+drivers/ide
+drivers/idle
+drivers/iio
+drivers/infiniband
+drivers/input
+drivers/interconnect
+drivers/iommu
+drivers/ipack
+drivers/irqchip
+drivers/isdn
+drivers/leds
+drivers/lightnvm
+drivers/macintosh
+drivers/mailbox
+drivers/mcb
+drivers/md/bcache
+drivers/md/persistent-data
+drivers/media
+drivers/memory
+drivers/memstick
+drivers/message
+drivers/mfd
+drivers/misc
+drivers/mmc
+drivers/mtd
+drivers/mux
+drivers/net/appletalk
+drivers/net/arcnet
+drivers/net/bonding
+drivers/net/caif
+drivers/net/can
+drivers/net/dsa
+drivers/net/ethernet
+drivers/net/fddi
+drivers/net/fjes
+drivers/net/hamradio
+drivers/net/hippi
+drivers/net/hyperv
+drivers/net/ieee802154
+drivers/net/ipvlan
+drivers/net/netdevsim
+drivers/net/phy
+drivers/net/plip
+drivers/net/ppp
+drivers/net/slip
+drivers/net/team
+drivers/net/usb
+drivers/net/vmxnet3
+drivers/net/wan
+drivers/net/wimax
+drivers/net/wireless
+drivers/net/xen-netback
+drivers/nfc
+drivers/ntb
+drivers/nubus
+drivers/nvme
+drivers/nvmem
+drivers/of
+drivers/opp
+drivers/oprofile
+drivers/parisc
+drivers/parport
+drivers/pci/controller
+drivers/pci/endpoint
+drivers/pci/hotplug
+drivers/pci/switch
+drivers/pcmcia
+drivers/perf
+drivers/phy
+drivers/pinctrl
+drivers/platform
+drivers/pnp
+drivers/power
+drivers/powercap
+drivers/pps
+drivers/ps3
+drivers/ptp
+drivers/pwm
+drivers/rapidio
+drivers/ras
+drivers/regulator
+drivers/remoteproc
+drivers/reset
+drivers/rpmsg
+drivers/s390
+drivers/sbus
+drivers/scsi
+drivers/sfi
+drivers/sh
+drivers/siox
+drivers/slimbus
+drivers/sn
+drivers/soc
+drivers/soundwire
+drivers/spi
+drivers/spmi
+drivers/ssb
+drivers/staging
+drivers/target
+drivers/tc
+drivers/tee
+drivers/thermal
+drivers/thunderbolt
+drivers/tty/ipwireless
+drivers/tty/serdev
+drivers/tty/serial
+drivers/tty/vt
+drivers/uio
+drivers/usb
+drivers/uwb
+drivers/vfio
+drivers/vhost
+drivers/video
+drivers/virt
+drivers/visorbus
+drivers/vlynq
+drivers/vme
+drivers/w1
+drivers/watchdog
+drivers/xen
+drivers/zorro
+fs/adfs
+fs/affs
+fs/afs
+fs/befs
+fs/bfs
+fs/btrfs
+fs/cachefiles
+fs/ceph
+fs/cifs
+fs/coda
+fs/cramfs
+fs/crypto
+fs/debugfs
+fs/dlm
+fs/ecryptfs
+fs/efivarfs
+fs/efs
+fs/f2fs
+fs/freevxfs
+fs/gfs2
+fs/hfs
+fs/hfsplus
+fs/hostfs
+fs/hpfs
+fs/isofs
+fs/jffs2
+fs/jfs
+fs/lockd
+fs/minix
+fs/nfs
+fs/nfs_common
+fs/nfsd
+fs/nilfs2
+fs/ntfs
+fs/ocfs2
+fs/omfs
+fs/openpromfs
+fs/orangefs
+fs/pstore
+fs/qnx4
+fs/qnx6
+fs/quota
+fs/reiserfs
+fs/romfs
+fs/squashfs
+fs/sysv
+fs/tracefs
+fs/ubifs
+fs/udf
+fs/ufs
+fs/unicode
+fs/xfs
+net/6lowpan
+net/802
+net/8021q
+net/appletalk
+net/atm
+net/ax25
+net/batman-adv
+net/bluetooth
+net/bridge
+net/caif
+net/can
+net/ceph
+net/dcb
+net/dccp
+net/decnet
+net/dns_resolver
+net/dsa
+net/hsr
+net/ieee802154
+net/ife
+net/iucv
+net/kcm
+net/key
+net/l2tp
+net/l3mdev
+net/lapb
+net/llc
+net/mac80211
+net/mac802154
+net/mpls
+net/ncsi
+net/netfilter
+net/netlabel
+net/netrom
+net/nfc
+net/nsh
+net/openvswitch
+net/phonet
+net/psample
+net/qrtr
+net/rds
+net/rfkill
+net/rose
+net/rxrpc
+net/sctp
+net/smc
+net/strparser
+net/sunrpc
+net/switchdev
+net/tipc
+net/tls
+net/wimax
+net/wireless
+net/x25
+net/xdp
+net/xfrm
+sound/aoa
+sound/arm
+sound/atmel
+sound/core/oss
+sound/core/seq
+sound/drivers
+sound/firewire
+sound/i2c
+sound/isa
+sound/mips
+sound/oss
+sound/parisc
+sound/pci/ali5451
+sound/pci/asihpi
+sound/pci/au88x0
+sound/pci/aw2
+sound/pci/ca0106
+sound/pci/cs46xx
+sound/pci/cs5535audio
+sound/pci/ctxfi
+sound/pci/echoaudio
+sound/pci/emu10k1
+sound/pci/hda
+sound/pci/ice1712
+sound/pci/korg1212
+sound/pci/lola
+sound/pci/lx6464es
+sound/pci/mixart
+sound/pci/nm256
+sound/pci/oxygen
+sound/pci/pcxhr
+sound/pci/riptide
+sound/pci/rme9652
+sound/pci/trident
+sound/pci/vx222
+sound/pci/ymfpci
+sound/pcmcia
+sound/ppc
+sound/sh
+sound/soc
+sound/sparc
+sound/spi
+sound/synth
+sound/usb
+sound/xen
+arch/x86/entry/entry_32.S
+arch/x86/entry/entry_64_compat.S
+arch/x86/entry/syscall_32.c
+arch/x86/entry/thunk_32.S
+arch/x86/mm/amdtopology.c
+arch/x86/mm/highmem_32.c
+arch/x86/mm/init_32.c
+arch/x86/mm/iomap_32.c
+arch/x86/mm/kmmio.c
+arch/x86/mm/mem_encrypt.c
+arch/x86/mm/mem_encrypt_boot.S
+arch/x86/mm/mem_encrypt_identity.c
+arch/x86/mm/mmio-mod.c
+arch/x86/mm/numa.c
+arch/x86/mm/numa_32.c
+arch/x86/mm/numa_64.c
+arch/x86/mm/numa_emulation.c
+arch/x86/mm/numa_internal.h
+arch/x86/mm/pf_in.c
+arch/x86/mm/pf_in.h
+arch/x86/mm/pgtable_32.c
+arch/x86/mm/srat.c
+arch/x86/mm/testmmiotrace.c
+drivers/base/Kconfig
+drivers/base/arch_topology.c
+drivers/base/devcoredump.c
+drivers/base/hypervisor.c
+drivers/base/isa.c
+drivers/base/memory.c
+drivers/base/module.c
+drivers/base/node.c
+drivers/base/pinctrl.c
+drivers/base/platform-msi.c
+drivers/base/power/Makefile
+drivers/base/power/clock_ops.c
+drivers/base/power/common.c
+drivers/base/power/domain.c
+drivers/base/power/domain_governor.c
+drivers/base/power/generic_ops.c
+drivers/base/power/main.c
+drivers/base/power/qos.c
+drivers/base/power/runtime.c
+drivers/base/power/sysfs.c
+drivers/base/power/trace.c
+drivers/base/power/wakeirq.c
+drivers/base/power/wakeup.c
+drivers/base/soc.c
+drivers/block/Kconfig
+drivers/block/amiflop.c
+drivers/block/ataflop.c
+drivers/block/brd.c
+drivers/block/cryptoloop.c
+drivers/block/floppy.c
+drivers/block/nbd.c
+drivers/block/null_blk.h
+drivers/block/null_blk_main.c
+drivers/block/null_blk_zoned.c
+drivers/block/pktcdvd.c
+drivers/block/ps3disk.c
+drivers/block/ps3vram.c
+drivers/block/rbd.c
+drivers/block/rbd_types.h
+drivers/block/skd_main.c
+drivers/block/skd_s1120.h
+drivers/block/sunvdc.c
+drivers/block/swim.c
+drivers/block/swim3.c
+drivers/block/swim_asm.S
+drivers/block/sx8.c
+drivers/block/umem.c
+drivers/block/umem.h
+drivers/block/xen-blkfront.c
+drivers/block/xsysace.c
+drivers/block/z2ram.c
+drivers/char/Kconfig
+drivers/char/adi.c
+drivers/char/apm-emulation.c
+drivers/char/applicom.c
+drivers/char/applicom.h
+drivers/char/bsr.c
+drivers/char/ds1620.c
+drivers/char/dsp56k.c
+drivers/char/dtlk.c
+drivers/char/efirtc.c
+drivers/char/hangcheck-timer.c
+drivers/char/hpet.c
+drivers/char/hw_random/Kconfig
+drivers/char/hw_random/amd-rng.c
+drivers/char/hw_random/atmel-rng.c
+drivers/char/hw_random/bcm2835-rng.c
+drivers/char/hw_random/cavium-rng-vf.c
+drivers/char/hw_random/cavium-rng.c
+drivers/char/hw_random/exynos-trng.c
+drivers/char/hw_random/geode-rng.c
+drivers/char/hw_random/hisi-rng.c
+drivers/char/hw_random/imx-rngc.c
+drivers/char/hw_random/intel-rng.c
+drivers/char/hw_random/iproc-rng200.c
+drivers/char/hw_random/ixp4xx-rng.c
+drivers/char/hw_random/ks-sa-rng.c
+drivers/char/hw_random/meson-rng.c
+drivers/char/hw_random/mtk-rng.c
+drivers/char/hw_random/mxc-rnga.c
+drivers/char/hw_random/n2-asm.S
+drivers/char/hw_random/n2-drv.c
+drivers/char/hw_random/n2rng.h
+drivers/char/hw_random/nomadik-rng.c
+drivers/char/hw_random/octeon-rng.c
+drivers/char/hw_random/omap-rng.c
+drivers/char/hw_random/omap3-rom-rng.c
+drivers/char/hw_random/optee-rng.c
+drivers/char/hw_random/pasemi-rng.c
+drivers/char/hw_random/pic32-rng.c
+drivers/char/hw_random/powernv-rng.c
+drivers/char/hw_random/pseries-rng.c
+drivers/char/hw_random/s390-trng.c
+drivers/char/hw_random/st-rng.c
+drivers/char/hw_random/stm32-rng.c
+drivers/char/hw_random/timeriomem-rng.c
+drivers/char/hw_random/tx4939-rng.c
+drivers/char/hw_random/via-rng.c
+drivers/char/hw_random/xgene-rng.c
+drivers/char/lp.c
+drivers/char/mbcs.c
+drivers/char/mbcs.h
+drivers/char/mspec.c
+drivers/char/nsc_gpio.c
+drivers/char/nvram.c
+drivers/char/nwbutton.c
+drivers/char/nwbutton.h
+drivers/char/nwflash.c
+drivers/char/pc8736x_gpio.c
+drivers/char/powernv-op-panel.c
+drivers/char/ppdev.c
+drivers/char/ps3flash.c
+drivers/char/raw.c
+drivers/char/rtc.c
+drivers/char/scx200_gpio.c
+drivers/char/snsc.c
+drivers/char/snsc.h
+drivers/char/snsc_event.c
+drivers/char/sonypi.c
+drivers/char/tb0219.c
+drivers/char/tlclk.c
+drivers/char/toshiba.c
+drivers/char/ttyprintk.c
+drivers/char/uv_mmtimer.c
+drivers/clocksource/Kconfig
+drivers/clocksource/acpi_pm.c
+drivers/clocksource/arc_timer.c
+drivers/clocksource/arm_arch_timer.c
+drivers/clocksource/arm_global_timer.c
+drivers/clocksource/armv7m_systick.c
+drivers/clocksource/asm9260_timer.c
+drivers/clocksource/bcm2835_timer.c
+drivers/clocksource/bcm_kona_timer.c
+drivers/clocksource/clksrc-dbx500-prcmu.c
+drivers/clocksource/clksrc_st_lpc.c
+drivers/clocksource/clps711x-timer.c
+drivers/clocksource/dummy_timer.c
+drivers/clocksource/dw_apb_timer.c
+drivers/clocksource/dw_apb_timer_of.c
+drivers/clocksource/em_sti.c
+drivers/clocksource/exynos_mct.c
+drivers/clocksource/h8300_timer16.c
+drivers/clocksource/h8300_timer8.c
+drivers/clocksource/h8300_tpu.c
+drivers/clocksource/hyperv_timer.c
+drivers/clocksource/jcore-pit.c
+drivers/clocksource/mips-gic-timer.c
+drivers/clocksource/mmio.c
+drivers/clocksource/mps2-timer.c
+drivers/clocksource/mxs_timer.c
+drivers/clocksource/nomadik-mtu.c
+drivers/clocksource/numachip.c
+drivers/clocksource/renesas-ostm.c
+drivers/clocksource/samsung_pwm_timer.c
+drivers/clocksource/scx200_hrt.c
+drivers/clocksource/sh_cmt.c
+drivers/clocksource/sh_mtu2.c
+drivers/clocksource/sh_tmu.c
+drivers/clocksource/timer-armada-370-xp.c
+drivers/clocksource/timer-atcpit100.c
+drivers/clocksource/timer-atlas7.c
+drivers/clocksource/timer-atmel-pit.c
+drivers/clocksource/timer-atmel-st.c
+drivers/clocksource/timer-atmel-tcb.c
+drivers/clocksource/timer-cadence-ttc.c
+drivers/clocksource/timer-cs5535.c
+drivers/clocksource/timer-davinci.c
+drivers/clocksource/timer-digicolor.c
+drivers/clocksource/timer-efm32.c
+drivers/clocksource/timer-fsl-ftm.c
+drivers/clocksource/timer-fttmr010.c
+drivers/clocksource/timer-gx6605s.c
+drivers/clocksource/timer-imx-gpt.c
+drivers/clocksource/timer-imx-sysctr.c
+drivers/clocksource/timer-imx-tpm.c
+drivers/clocksource/timer-integrator-ap.c
+drivers/clocksource/timer-ixp4xx.c
+drivers/clocksource/timer-keystone.c
+drivers/clocksource/timer-lpc32xx.c
+drivers/clocksource/timer-mediatek.c
+drivers/clocksource/timer-meson6.c
+drivers/clocksource/timer-milbeaut.c
+drivers/clocksource/timer-mp-csky.c
+drivers/clocksource/timer-npcm7xx.c
+drivers/clocksource/timer-nps.c
+drivers/clocksource/timer-of.c
+drivers/clocksource/timer-of.h
+drivers/clocksource/timer-orion.c
+drivers/clocksource/timer-owl.c
+drivers/clocksource/timer-oxnas-rps.c
+drivers/clocksource/timer-pistachio.c
+drivers/clocksource/timer-prima2.c
+drivers/clocksource/timer-probe.c
+drivers/clocksource/timer-pxa.c
+drivers/clocksource/timer-qcom.c
+drivers/clocksource/timer-rda.c
+drivers/clocksource/timer-riscv.c
+drivers/clocksource/timer-rockchip.c
+drivers/clocksource/timer-sp.h
+drivers/clocksource/timer-sp804.c
+drivers/clocksource/timer-sprd.c
+drivers/clocksource/timer-stm32.c
+drivers/clocksource/timer-sun4i.c
+drivers/clocksource/timer-sun5i.c
+drivers/clocksource/timer-tango-xtal.c
+drivers/clocksource/timer-tegra.c
+drivers/clocksource/timer-ti-32k.c
+drivers/clocksource/timer-ti-dm.c
+drivers/clocksource/timer-u300.c
+drivers/clocksource/timer-versatile.c
+drivers/clocksource/timer-vf-pit.c
+drivers/clocksource/timer-vt8500.c
+drivers/clocksource/timer-zevio.c
+drivers/dax/Kconfig
+drivers/dma-buf/Kconfig
+drivers/md/Kconfig
+drivers/md/dm-bio-prison-v1.c
+drivers/md/dm-bio-prison-v1.h
+drivers/md/dm-bio-prison-v2.c
+drivers/md/dm-bio-prison-v2.h
+drivers/md/dm-bio-record.h
+drivers/md/dm-cache-background-tracker.c
+drivers/md/dm-cache-background-tracker.h
+drivers/md/dm-cache-block-types.h
+drivers/md/dm-cache-metadata.c
+drivers/md/dm-cache-metadata.h
+drivers/md/dm-cache-policy-internal.h
+drivers/md/dm-cache-policy-smq.c
+drivers/md/dm-cache-policy.c
+drivers/md/dm-cache-policy.h
+drivers/md/dm-cache-target.c
+drivers/md/dm-delay.c
+drivers/md/dm-dust.c
+drivers/md/dm-era-target.c
+drivers/md/dm-exception-store.c
+drivers/md/dm-exception-store.h
+drivers/md/dm-flakey.c
+drivers/md/dm-integrity.c
+drivers/md/dm-log-userspace-base.c
+drivers/md/dm-log-userspace-transfer.c
+drivers/md/dm-log-userspace-transfer.h
+drivers/md/dm-log-writes.c
+drivers/md/dm-log.c
+drivers/md/dm-mpath.c
+drivers/md/dm-mpath.h
+drivers/md/dm-path-selector.c
+drivers/md/dm-path-selector.h
+drivers/md/dm-queue-length.c
+drivers/md/dm-raid.c
+drivers/md/dm-raid1.c
+drivers/md/dm-region-hash.c
+drivers/md/dm-round-robin.c
+drivers/md/dm-service-time.c
+drivers/md/dm-snap-persistent.c
+drivers/md/dm-snap-transient.c
+drivers/md/dm-snap.c
+drivers/md/dm-switch.c
+drivers/md/dm-thin-metadata.c
+drivers/md/dm-thin-metadata.h
+drivers/md/dm-thin.c
+drivers/md/dm-unstripe.c
+drivers/md/dm-writecache.c
+drivers/md/dm-zero.c
+drivers/md/dm-zoned-metadata.c
+drivers/md/dm-zoned-reclaim.c
+drivers/md/dm-zoned-target.c
+drivers/md/dm-zoned.h
+drivers/md/md-bitmap.c
+drivers/md/md-bitmap.h
+drivers/md/md-cluster.c
+drivers/md/md-cluster.h
+drivers/md/md-faulty.c
+drivers/md/md-linear.c
+drivers/md/md-linear.h
+drivers/md/md-multipath.c
+drivers/md/md-multipath.h
+drivers/md/md.c
+drivers/md/md.h
+drivers/md/raid0.c
+drivers/md/raid0.h
+drivers/md/raid1-10.c
+drivers/md/raid1.c
+drivers/md/raid1.h
+drivers/md/raid10.c
+drivers/md/raid10.h
+drivers/md/raid5-cache.c
+drivers/md/raid5-log.h
+drivers/md/raid5-ppl.c
+drivers/md/raid5.c
+drivers/md/raid5.h
+drivers/net/Kconfig
+drivers/net/Space.c
+drivers/net/dummy.c
+drivers/net/eql.c
+drivers/net/geneve.c
+drivers/net/gtp.c
+drivers/net/ifb.c
+drivers/net/macsec.c
+drivers/net/macvlan.c
+drivers/net/macvtap.c
+drivers/net/mdio.c
+drivers/net/mii.c
+drivers/net/netconsole.c
+drivers/net/ntb_netdev.c
+drivers/net/rionet.c
+drivers/net/sb1000.c
+drivers/net/sungem_phy.c
+drivers/net/thunderbolt.c
+drivers/net/vrf.c
+drivers/net/vsockmon.c
+drivers/net/vxlan.c
+drivers/net/xen-netfront.c
+drivers/pci/Kconfig
+drivers/pci/ats.c
+drivers/pci/ecam.c
+drivers/pci/iov.c
+drivers/pci/msi.c
+drivers/pci/of.c
+drivers/pci/p2pdma.c
+drivers/pci/pci-acpi.c
+drivers/pci/pci-bridge-emul.c
+drivers/pci/pci-bridge-emul.h
+drivers/pci/pci-label.c
+drivers/pci/pci-mid.c
+drivers/pci/pci-pf-stub.c
+drivers/pci/pci-stub.c
+drivers/pci/pcie/Kconfig
+drivers/pci/pcie/Makefile
+drivers/pci/pcie/aer.c
+drivers/pci/pcie/aer_inject.c
+drivers/pci/pcie/aspm.c
+drivers/pci/pcie/bw_notification.c
+drivers/pci/pcie/dpc.c
+drivers/pci/pcie/err.c
+drivers/pci/pcie/pme.c
+drivers/pci/pcie/portdrv_core.c
+drivers/pci/pcie/portdrv_pci.c
+drivers/pci/pcie/ptm.c
+drivers/pci/quirks.c
+drivers/pci/syscall.c
+drivers/pci/xen-pcifront.c
+drivers/rtc/Kconfig
+drivers/rtc/dev.c
+drivers/rtc/nvmem.c
+drivers/rtc/proc.c
+drivers/rtc/rtc-88pm80x.c
+drivers/rtc/rtc-88pm860x.c
+drivers/rtc/rtc-ab-b5ze-s3.c
+drivers/rtc/rtc-ab-eoz9.c
+drivers/rtc/rtc-ab3100.c
+drivers/rtc/rtc-ab8500.c
+drivers/rtc/rtc-abx80x.c
+drivers/rtc/rtc-ac100.c
+drivers/rtc/rtc-armada38x.c
+drivers/rtc/rtc-as3722.c
+drivers/rtc/rtc-asm9260.c
+drivers/rtc/rtc-aspeed.c
+drivers/rtc/rtc-at91rm9200.c
+drivers/rtc/rtc-at91rm9200.h
+drivers/rtc/rtc-at91sam9.c
+drivers/rtc/rtc-au1xxx.c
+drivers/rtc/rtc-bd70528.c
+drivers/rtc/rtc-bq32k.c
+drivers/rtc/rtc-bq4802.c
+drivers/rtc/rtc-brcmstb-waketimer.c
+drivers/rtc/rtc-cadence.c
+drivers/rtc/rtc-coh901331.c
+drivers/rtc/rtc-cpcap.c
+drivers/rtc/rtc-cros-ec.c
+drivers/rtc/rtc-da9052.c
+drivers/rtc/rtc-da9055.c
+drivers/rtc/rtc-da9063.c
+drivers/rtc/rtc-davinci.c
+drivers/rtc/rtc-digicolor.c
+drivers/rtc/rtc-dm355evm.c
+drivers/rtc/rtc-ds1216.c
+drivers/rtc/rtc-ds1286.c
+drivers/rtc/rtc-ds1302.c
+drivers/rtc/rtc-ds1305.c
+drivers/rtc/rtc-ds1307.c
+drivers/rtc/rtc-ds1343.c
+drivers/rtc/rtc-ds1347.c
+drivers/rtc/rtc-ds1374.c
+drivers/rtc/rtc-ds1390.c
+drivers/rtc/rtc-ds1511.c
+drivers/rtc/rtc-ds1553.c
+drivers/rtc/rtc-ds1672.c
+drivers/rtc/rtc-ds1685.c
+drivers/rtc/rtc-ds1742.c
+drivers/rtc/rtc-ds2404.c
+drivers/rtc/rtc-ds3232.c
+drivers/rtc/rtc-efi-platform.c
+drivers/rtc/rtc-efi.c
+drivers/rtc/rtc-em3027.c
+drivers/rtc/rtc-ep93xx.c
+drivers/rtc/rtc-fm3130.c
+drivers/rtc/rtc-ftrtc010.c
+drivers/rtc/rtc-generic.c
+drivers/rtc/rtc-goldfish.c
+drivers/rtc/rtc-hid-sensor-time.c
+drivers/rtc/rtc-hym8563.c
+drivers/rtc/rtc-imx-sc.c
+drivers/rtc/rtc-imxdi.c
+drivers/rtc/rtc-isl12022.c
+drivers/rtc/rtc-isl12026.c
+drivers/rtc/rtc-isl1208.c
+drivers/rtc/rtc-jz4740.c
+drivers/rtc/rtc-lp8788.c
+drivers/rtc/rtc-lpc24xx.c
+drivers/rtc/rtc-lpc32xx.c
+drivers/rtc/rtc-ls1x.c
+drivers/rtc/rtc-m41t80.c
+drivers/rtc/rtc-m41t93.c
+drivers/rtc/rtc-m41t94.c
+drivers/rtc/rtc-m48t35.c
+drivers/rtc/rtc-m48t59.c
+drivers/rtc/rtc-m48t86.c
+drivers/rtc/rtc-max6900.c
+drivers/rtc/rtc-max6902.c
+drivers/rtc/rtc-max6916.c
+drivers/rtc/rtc-max77686.c
+drivers/rtc/rtc-max8907.c
+drivers/rtc/rtc-max8925.c
+drivers/rtc/rtc-max8997.c
+drivers/rtc/rtc-max8998.c
+drivers/rtc/rtc-mc13xxx.c
+drivers/rtc/rtc-mcp795.c
+drivers/rtc/rtc-meson.c
+drivers/rtc/rtc-moxart.c
+drivers/rtc/rtc-mpc5121.c
+drivers/rtc/rtc-mrst.c
+drivers/rtc/rtc-msm6242.c
+drivers/rtc/rtc-mt6397.c
+drivers/rtc/rtc-mt7622.c
+drivers/rtc/rtc-mv.c
+drivers/rtc/rtc-mxc.c
+drivers/rtc/rtc-mxc_v2.c
+drivers/rtc/rtc-nuc900.c
+drivers/rtc/rtc-omap.c
+drivers/rtc/rtc-opal.c
+drivers/rtc/rtc-palmas.c
+drivers/rtc/rtc-pcap.c
+drivers/rtc/rtc-pcf2123.c
+drivers/rtc/rtc-pcf2127.c
+drivers/rtc/rtc-pcf50633.c
+drivers/rtc/rtc-pcf85063.c
+drivers/rtc/rtc-pcf8523.c
+drivers/rtc/rtc-pcf85363.c
+drivers/rtc/rtc-pcf8563.c
+drivers/rtc/rtc-pcf8583.c
+drivers/rtc/rtc-pic32.c
+drivers/rtc/rtc-pl030.c
+drivers/rtc/rtc-pl031.c
+drivers/rtc/rtc-pm8xxx.c
+drivers/rtc/rtc-ps3.c
+drivers/rtc/rtc-puv3.c
+drivers/rtc/rtc-pxa.c
+drivers/rtc/rtc-r7301.c
+drivers/rtc/rtc-r9701.c
+drivers/rtc/rtc-rc5t583.c
+drivers/rtc/rtc-rk808.c
+drivers/rtc/rtc-rp5c01.c
+drivers/rtc/rtc-rs5c313.c
+drivers/rtc/rtc-rs5c348.c
+drivers/rtc/rtc-rs5c372.c
+drivers/rtc/rtc-rtd119x.c
+drivers/rtc/rtc-rv3028.c
+drivers/rtc/rtc-rv3029c2.c
+drivers/rtc/rtc-rv8803.c
+drivers/rtc/rtc-rx4581.c
+drivers/rtc/rtc-rx6110.c
+drivers/rtc/rtc-rx8010.c
+drivers/rtc/rtc-rx8025.c
+drivers/rtc/rtc-rx8581.c
+drivers/rtc/rtc-s35390a.c
+drivers/rtc/rtc-s3c.c
+drivers/rtc/rtc-s3c.h
+drivers/rtc/rtc-s5m.c
+drivers/rtc/rtc-sa1100.c
+drivers/rtc/rtc-sa1100.h
+drivers/rtc/rtc-sc27xx.c
+drivers/rtc/rtc-sd3078.c
+drivers/rtc/rtc-sh.c
+drivers/rtc/rtc-sirfsoc.c
+drivers/rtc/rtc-snvs.c
+drivers/rtc/rtc-spear.c
+drivers/rtc/rtc-st-lpc.c
+drivers/rtc/rtc-starfire.c
+drivers/rtc/rtc-stk17ta8.c
+drivers/rtc/rtc-stm32.c
+drivers/rtc/rtc-stmp3xxx.c
+drivers/rtc/rtc-sun4v.c
+drivers/rtc/rtc-sun6i.c
+drivers/rtc/rtc-sunxi.c
+drivers/rtc/rtc-tegra.c
+drivers/rtc/rtc-test.c
+drivers/rtc/rtc-tps6586x.c
+drivers/rtc/rtc-tps65910.c
+drivers/rtc/rtc-tps80031.c
+drivers/rtc/rtc-twl.c
+drivers/rtc/rtc-tx4939.c
+drivers/rtc/rtc-v3020.c
+drivers/rtc/rtc-vr41xx.c
+drivers/rtc/rtc-vt8500.c
+drivers/rtc/rtc-wilco-ec.c
+drivers/rtc/rtc-wm831x.c
+drivers/rtc/rtc-wm8350.c
+drivers/rtc/rtc-x1205.c
+drivers/rtc/rtc-xgene.c
+drivers/rtc/rtc-zynqmp.c
+drivers/rtc/sysfs.c
+drivers/rtc/systohc.c
+drivers/tty/Kconfig
+drivers/tty/amiserial.c
+drivers/tty/cyclades.c
+drivers/tty/ehv_bytechan.c
+drivers/tty/goldfish.c
+drivers/tty/hvc/Kconfig
+drivers/tty/hvc/hvc_dcc.c
+drivers/tty/hvc/hvc_irq.c
+drivers/tty/hvc/hvc_iucv.c
+drivers/tty/hvc/hvc_opal.c
+drivers/tty/hvc/hvc_riscv_sbi.c
+drivers/tty/hvc/hvc_rtas.c
+drivers/tty/hvc/hvc_udbg.c
+drivers/tty/hvc/hvc_vio.c
+drivers/tty/hvc/hvc_xen.c
+drivers/tty/hvc/hvcs.c
+drivers/tty/hvc/hvsi.c
+drivers/tty/hvc/hvsi_lib.c
+drivers/tty/isicom.c
+drivers/tty/mips_ejtag_fdc.c
+drivers/tty/moxa.c
+drivers/tty/moxa.h
+drivers/tty/mxser.c
+drivers/tty/mxser.h
+drivers/tty/n_gsm.c
+drivers/tty/n_hdlc.c
+drivers/tty/n_r3964.c
+drivers/tty/n_tracerouter.c
+drivers/tty/n_tracesink.c
+drivers/tty/n_tracesink.h
+drivers/tty/nozomi.c
+drivers/tty/rocket.c
+drivers/tty/rocket.h
+drivers/tty/rocket_int.h
+drivers/tty/synclink.c
+drivers/tty/synclink_gt.c
+drivers/tty/synclinkmp.c
+drivers/tty/sysrq.c
+drivers/tty/ttynull.c
+drivers/tty/vcc.c
+net/sched/act_api.c
+net/sched/act_bpf.c
+net/sched/act_connmark.c
+net/sched/act_csum.c
+net/sched/act_ct.c
+net/sched/act_ctinfo.c
+net/sched/act_gact.c
+net/sched/act_ife.c
+net/sched/act_ipt.c
+net/sched/act_meta_mark.c
+net/sched/act_meta_skbprio.c
+net/sched/act_meta_skbtcindex.c
+net/sched/act_mirred.c
+net/sched/act_mpls.c
+net/sched/act_nat.c
+net/sched/act_pedit.c
+net/sched/act_police.c
+net/sched/act_sample.c
+net/sched/act_simple.c
+net/sched/act_skbedit.c
+net/sched/act_skbmod.c
+net/sched/act_tunnel_key.c
+net/sched/act_vlan.c
+net/sched/cls_api.c
+net/sched/cls_basic.c
+net/sched/cls_bpf.c
+net/sched/cls_cgroup.c
+net/sched/cls_flow.c
+net/sched/cls_flower.c
+net/sched/cls_fw.c
+net/sched/cls_matchall.c
+net/sched/cls_route.c
+net/sched/cls_rsvp.c
+net/sched/cls_rsvp.h
+net/sched/cls_rsvp6.c
+net/sched/cls_tcindex.c
+net/sched/cls_u32.c
+net/sched/em_canid.c
+net/sched/em_cmp.c
+net/sched/em_ipset.c
+net/sched/em_ipt.c
+net/sched/em_meta.c
+net/sched/em_nbyte.c
+net/sched/em_text.c
+net/sched/em_u32.c
+net/sched/ematch.c
+net/sched/sch_api.c
+net/sched/sch_atm.c
+net/sched/sch_blackhole.c
+net/sched/sch_cake.c
+net/sched/sch_cbq.c
+net/sched/sch_cbs.c
+net/sched/sch_choke.c
+net/sched/sch_codel.c
+net/sched/sch_drr.c
+net/sched/sch_dsmark.c
+net/sched/sch_etf.c
+net/sched/sch_fifo.c
+net/sched/sch_fq.c
+net/sched/sch_fq_codel.c
+net/sched/sch_gred.c
+net/sched/sch_hfsc.c
+net/sched/sch_hhf.c
+net/sched/sch_htb.c
+net/sched/sch_ingress.c
+net/sched/sch_mqprio.c
+net/sched/sch_multiq.c
+net/sched/sch_netem.c
+net/sched/sch_pie.c
+net/sched/sch_plug.c
+net/sched/sch_prio.c
+net/sched/sch_qfq.c
+net/sched/sch_red.c
+net/sched/sch_sfb.c
+net/sched/sch_sfq.c
+net/sched/sch_skbprio.c
+net/sched/sch_taprio.c
+net/sched/sch_tbf.c
+net/sched/sch_teql.c
+sound/core/compress_offload.c
+sound/core/ctljack.c
+sound/core/hrtimer.c
+sound/core/hwdep.c
+sound/core/hwdep_compat.c
+sound/core/info_oss.c
+sound/core/isadma.c
+sound/core/jack.c
+sound/core/pcm_compat.c
+sound/core/pcm_dmaengine.c
+sound/core/pcm_drm_eld.c
+sound/core/pcm_iec958.c
+sound/core/rawmidi.c
+sound/core/rawmidi_compat.c
+sound/core/seq_device.c
+sound/core/sound_oss.c
+sound/core/timer_compat.c
+sound/pci/ad1889.c
+sound/pci/ad1889.h
+sound/pci/ak4531_codec.c
+sound/pci/als300.c
+sound/pci/als4000.c
+sound/pci/atiixp.c
+sound/pci/atiixp_modem.c
+sound/pci/azt3328.c
+sound/pci/azt3328.h
+sound/pci/bt87x.c
+sound/pci/cmipci.c
+sound/pci/cs4281.c
+sound/pci/cs5530.c
+sound/pci/ens1370.c
+sound/pci/ens1371.c
+sound/pci/es1938.c
+sound/pci/es1968.c
+sound/pci/fm801.c
+sound/pci/intel8x0m.c
+sound/pci/maestro3.c
+sound/pci/rme32.c
+sound/pci/rme96.c
+sound/pci/sis7019.c
+sound/pci/sis7019.h
+sound/pci/sonicvibes.c
+sound/pci/via82xx.c
+sound/pci/via82xx_modem.c
diff -uprN linux-5.3/scripts/bonsai.sh linux-5.3-bonsai/scripts/bonsai.sh
--- linux-5.3/scripts/bonsai.sh 1969-12-31 19:00:00.000000000 -0500
+++ linux-5.3-bonsai/scripts/bonsai.sh 2019-09-20 15:15:25.116624284 -0400
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+WORKDIR=/tmp/bonsai
+SCRIPT=$(realpath ${BASH_SOURCE})
+SCRIPT_DIR=$(dirname ${SCRIPT})
+BONSAI_LIST=${SCRIPT_DIR}/bonsai.list
+
+test_tarfile() {
+ tarfile=$(basename ${1})
+ base=$(tarfile_basename ${1})
+
+ if [[ $tarfile == $base || ${base:0:6} != "linux-" ]]; then
+ echo "Argument is not a linux source tarball name"
+ exit 1
+ fi
+
+ if [[ ! -f ${1} ]]; then
+ echo "Tarfile ${1} does not exist"
+ exit 1
+ fi
+}
+
+tarfile_basename() {
+ tarfile=$(basename ${1})
+ # Strip .tar suffix (or .tar.xz, tar.gz, etc)
+ # output will look like "linux-5.0.1"
+ echo ${tarfile%%.tar*}
+}
+
+extract_file_lists() {
+
+ test_tarfile ${1}
+
+ echo "Extracting filenames"
+
+ tarfile=$(basename ${1})
+ # Strip .tar suffix (or .tar.xz, tar.gz, etc)
+ # base will now look like "linux-5.0.1"
+ base=${tarfile%%.tar*}
+
+ mkdir -p ${WORKDIR}
+
+ # sed:
+ # '1d' skip first line
+ # 's%${base}/%%' strip prefix ${base}/
+ #
+ tar tf ${1} | sed -e "1d; s%${base}/%%" > ${WORKDIR}/orig.all
+
+ # split output on presence of trailing / character
+ grep -e '/$' ${WORKDIR}/orig.all > ${WORKDIR}/orig.dirs
+ grep -ve '/$' ${WORKDIR}/orig.all > ${WORKDIR}/orig.files
+}
+
+generate_bonsai_diff() {
+
+ if [[ $# -ne 1 ]]; then
+ echo "bonsai --generate requires original source tarball path as argument"
+ usage
+ fi
+
+ extract_file_lists ${1}
+
+ # dirmap is a 'set' of directories that are removed
+ # entirely in bonsai tree
+ declare -A dirmap
+
+ :> ${WORKDIR}/bonsai.out
+
+ echo "Processing directories"
+
+ while read line; do
+ dir=${line%/}
+ if [[ ! -d ${dir} ]]; then
+ dirmap[$dir]=1
+ parent=$(dirname ${dir})
+ if [[ ! ${dirmap[$parent]} ]]; then
+ echo "${dir}" >> ${WORKDIR}/bonsai.out
+ fi
+ fi
+ done < ${WORKDIR}/orig.dirs
+
+ echo "Processing files"
+
+ while read line; do
+ dir=$(dirname ${line})
+ if [[ ! ${dirmap[$dir]} && ! -f ${line} ]]; then
+ # File is not in one of the directories already marked as removed
+ # and does not exist
+ echo ${line} >> ${WORKDIR}/bonsai.out
+ fi
+ done < ${WORKDIR}/orig.files
+
+
+ cp ${WORKDIR}/bonsai.out ${BONSAI_LIST}
+ rm -rf ${WORKDIR}
+ exit 0
+}
+
+bonsai_trim() {
+
+ if [[ ! -f ${BONSAI_LIST} ]]; then
+ echo "Bonsai list does not exist at ${BONSAI_LIST}"
+ exit 1
+ fi
+
+ if [[ -e .bonsai ]]; then
+ echo "Source tree is already trimmed (.bonsai directory exists)"
+ exit 1
+ fi
+
+ # XXX delete it if it already exists
+ mkdir -p .bonsai.tmp
+
+ echo "Trimming source tree"
+
+ while read line; do
+ parent=$(dirname ${line})
+ ## XXX test if target file/dir exists and warn
+ mkdir -p .bonsai.tmp/${parent}
+ mv ${line} .bonsai.tmp/${line}
+ done < ${BONSAI_LIST}
+
+ mv .bonsai.tmp .bonsai
+}
+
+bonsai_revert() {
+
+ echo "reverting removed files and directories"
+ while read line; do
+ parent=$(dirname ${line})
+ mkdir -p ${parent}
+ ## XXX or warn...
+ if [[ -e .bonsai/${line} ]]; then
+ mv .bonsai/${line} ${line}
+ fi
+ done < ${BONSAI_LIST}
+
+ rm -rf .bonsai
+}
+
+usage() {
+cat <<-EOF
+USAGE: bonsai --generate path/to/linux-x.x.tar.xz
+ bonsai --trim
+ bonsai --revert
+EOF
+exit 0
+}
+
+if [[ ! -f Kbuild || ! -f README ]]; then
+ echo "Kbuild and README file does not exist in current directory."
+ echo "Are you executing script at root of kernel source tree?"
+ exit 1
+fi
+
+while [[ $# -gt 0 ]]; do
+ key=${1}
+ case $key in
+ --generate)
+ shift
+ generate_bonsai_diff $@
+ exit 0
+ ;;
+ --trim)
+ shift
+ bonsai_trim $@
+ exit 0
+ ;;
+ --revert)
+ shift
+ bonsai_revert $@
+ exit 0
+ ;;
+ *)
+ printf "Unknown option ${key}\n"
+ exit 1
+ ;;
+ esac
+done
+
+usage
diff -uprN linux-5.3/sound/Kconfig linux-5.3-bonsai/sound/Kconfig
--- linux-5.3/sound/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/Kconfig 2019-09-20 15:15:10.776623601 -0400
@@ -8,37 +8,6 @@ menuconfig SOUND
if SOUND
-config SOUND_OSS_CORE
- bool
- default n
-
-config SOUND_OSS_CORE_PRECLAIM
- bool "Preclaim OSS device numbers"
- depends on SOUND_OSS_CORE
- default y
- help
- With this option enabled, the kernel will claim all OSS device
- numbers if any OSS support (native or emulation) is enabled
- whether the respective module is loaded or not and try to load the
- appropriate module using sound-slot/service-* and char-major-*
- module aliases when one of the device numbers is opened. With
- this option disabled, kernel will only claim actually in-use
- device numbers and opening a missing device will generate only the
- standard char-major-* aliases.
-
- The only visible difference is use of additional module aliases
- and whether OSS sound devices appear multiple times in
- /proc/devices. sound-slot/service-* module aliases are scheduled
- to be removed (ie. PRECLAIM won't be available) and this option is
- to make the transition easier. This option can be overridden
- during boot using the kernel parameter soundcore.preclaim_oss.
-
- Disabling this allows alternative OSS implementations.
-
- If unsure, say Y.
-
-source "sound/oss/dmasound/Kconfig"
-
if !UML
menuconfig SND
@@ -53,52 +22,12 @@ if SND
source "sound/core/Kconfig"
-source "sound/drivers/Kconfig"
-
-source "sound/isa/Kconfig"
-
source "sound/pci/Kconfig"
-source "sound/hda/Kconfig"
-
-source "sound/ppc/Kconfig"
-
source "sound/ac97/Kconfig"
-source "sound/aoa/Kconfig"
-
-source "sound/arm/Kconfig"
-
-source "sound/atmel/Kconfig"
-
-source "sound/spi/Kconfig"
-
-source "sound/mips/Kconfig"
-
-source "sound/sh/Kconfig"
-
-# the following will depend on the order of config.
-# here assuming USB is defined before ALSA
-source "sound/usb/Kconfig"
-
-source "sound/firewire/Kconfig"
-
-# the following will depend on the order of config.
-# here assuming PCMCIA is defined before ALSA
-source "sound/pcmcia/Kconfig"
-
-source "sound/sparc/Kconfig"
-
-source "sound/parisc/Kconfig"
-
-source "sound/soc/Kconfig"
-
source "sound/x86/Kconfig"
-source "sound/synth/Kconfig"
-
-source "sound/xen/Kconfig"
-
endif # SND
endif # !UML
diff -uprN linux-5.3/sound/Makefile linux-5.3-bonsai/sound/Makefile
--- linux-5.3/sound/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/Makefile 2019-09-20 15:15:10.776623601 -0400
@@ -3,10 +3,7 @@
#
obj-$(CONFIG_SOUND) += soundcore.o
-obj-$(CONFIG_DMASOUND) += oss/dmasound/
-obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \
- firewire/ sparc/ spi/ parisc/ pcmcia/ mips/ soc/ atmel/ hda/ x86/ xen/
-obj-$(CONFIG_SND_AOA) += aoa/
+obj-$(CONFIG_SND) += core/ pci/ hda/ x86/
# This one must be compilable even if sound is configured out
obj-$(CONFIG_AC97_BUS) += ac97_bus.o
diff -uprN linux-5.3/sound/core/Kconfig linux-5.3-bonsai/sound/core/Kconfig
--- linux-5.3/sound/core/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/core/Kconfig 2019-09-20 15:15:10.776623601 -0400
@@ -185,4 +185,3 @@ config SND_DMA_SGBUF
def_bool y
depends on X86
-source "sound/core/seq/Kconfig"
diff -uprN linux-5.3/sound/core/Makefile linux-5.3-bonsai/sound/core/Makefile
--- linux-5.3/sound/core/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/core/Makefile 2019-09-20 15:15:10.776623601 -0400
@@ -7,45 +7,42 @@
snd-y := sound.o init.o memory.o control.o misc.o device.o
ifneq ($(CONFIG_SND_PROC_FS),)
snd-y += info.o
-snd-$(CONFIG_SND_OSSEMUL) += info_oss.o
+#snd-$(CONFIG_SND_OSSEMUL) += info_oss.o
endif
-snd-$(CONFIG_ISA_DMA_API) += isadma.o
-snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o
+#snd-$(CONFIG_ISA_DMA_API) += isadma.o
+#snd-$(CONFIG_SND_OSSEMUL) += sound_oss.o
snd-$(CONFIG_SND_VMASTER) += vmaster.o
-snd-$(CONFIG_SND_JACK) += ctljack.o jack.o
+#snd-$(CONFIG_SND_JACK) += ctljack.o jack.o
snd-pcm-y := pcm.o pcm_native.o pcm_lib.o pcm_misc.o \
pcm_memory.o memalloc.o
snd-pcm-$(CONFIG_SND_PCM_TIMER) += pcm_timer.o
snd-pcm-$(CONFIG_SND_DMA_SGBUF) += sgbuf.o
-snd-pcm-$(CONFIG_SND_PCM_ELD) += pcm_drm_eld.o
-snd-pcm-$(CONFIG_SND_PCM_IEC958) += pcm_iec958.o
+#snd-pcm-$(CONFIG_SND_PCM_ELD) += pcm_drm_eld.o
+#snd-pcm-$(CONFIG_SND_PCM_IEC958) += pcm_iec958.o
# for trace-points
CFLAGS_pcm_lib.o := -I$(src)
CFLAGS_pcm_native.o := -I$(src)
-snd-pcm-dmaengine-objs := pcm_dmaengine.o
+#snd-pcm-dmaengine-objs := pcm_dmaengine.o
-snd-rawmidi-objs := rawmidi.o
+##snd-rawmidi-objs := rawmidi.o
snd-timer-objs := timer.o
-snd-hrtimer-objs := hrtimer.o
-snd-rtctimer-objs := rtctimer.o
-snd-hwdep-objs := hwdep.o
-snd-seq-device-objs := seq_device.o
+#snd-hrtimer-objs := hrtimer.o
+#snd-rtctimer-objs := rtctimer.o
+#snd-hwdep-objs := hwdep.o
+#snd-seq-device-objs := seq_device.o
-snd-compress-objs := compress_offload.o
+#snd-compress-objs := compress_offload.o
obj-$(CONFIG_SND) += snd.o
-obj-$(CONFIG_SND_HWDEP) += snd-hwdep.o
+#obj-$(CONFIG_SND_HWDEP) += snd-hwdep.o
obj-$(CONFIG_SND_TIMER) += snd-timer.o
-obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
+#obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
obj-$(CONFIG_SND_PCM) += snd-pcm.o
-obj-$(CONFIG_SND_DMAENGINE_PCM) += snd-pcm-dmaengine.o
-obj-$(CONFIG_SND_SEQ_DEVICE) += snd-seq-device.o
-obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
+#obj-$(CONFIG_SND_DMAENGINE_PCM) += snd-pcm-dmaengine.o
+#obj-$(CONFIG_SND_SEQ_DEVICE) += snd-seq-device.o
+#obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
-obj-$(CONFIG_SND_OSSEMUL) += oss/
-obj-$(CONFIG_SND_SEQUENCER) += seq/
-
-obj-$(CONFIG_SND_COMPRESS_OFFLOAD) += snd-compress.o
+#obj-$(CONFIG_SND_COMPRESS_OFFLOAD) += snd-compress.o
diff -uprN linux-5.3/sound/pci/Kconfig linux-5.3-bonsai/sound/pci/Kconfig
--- linux-5.3/sound/pci/Kconfig 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/pci/Kconfig 2019-09-20 15:15:10.777623601 -0400
@@ -10,652 +10,6 @@ menuconfig SND_PCI
if SND_PCI
-config SND_AD1889
- tristate "Analog Devices AD1889"
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated AC97 sound
- device found in particular on the Hewlett-Packard [BCJ]-xxx0
- class PA-RISC workstations, using the AD1819 codec.
-
- To compile this as a module, choose M here: the module
- will be called snd-ad1889.
-
-config SND_ALS300
- tristate "Avance Logic ALS300/ALS300+"
- select SND_PCM
- select SND_AC97_CODEC
- select SND_OPL3_LIB
- depends on ZONE_DMA
- help
- Say 'Y' or 'M' to include support for Avance Logic ALS300/ALS300+
-
- To compile this driver as a module, choose M here: the module
- will be called snd-als300
-
-config SND_ALS4000
- tristate "Avance Logic ALS4000"
- depends on ISA_DMA_API
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_PCM
- select SND_SB_COMMON
- help
- Say Y here to include support for soundcards based on Avance Logic
- ALS4000 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-als4000.
-
-config SND_ALI5451
- tristate "ALi M5451 PCI Audio Controller"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for the integrated AC97 sound
- device on motherboards using the ALi M5451 Audio Controller
- (M1535/M1535D/M1535+/M1535D+ south bridges). Newer chipsets
- use the "Intel/SiS/nVidia/AMD/ALi AC97 Controller" driver.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ali5451.
-
-config SND_ASIHPI
- tristate "AudioScience ASIxxxx"
- depends on X86
- select FW_LOADER
- select SND_PCM
- select SND_HWDEP
- help
- Say Y here to include support for AudioScience ASI sound cards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-asihpi.
-
-config SND_ATIIXP
- tristate "ATI IXP AC97 Controller"
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated AC97 sound
- device on motherboards with ATI chipsets (ATI IXP 150/200/250/
- 300/400).
-
- To compile this driver as a module, choose M here: the module
- will be called snd-atiixp.
-
-config SND_ATIIXP_MODEM
- tristate "ATI IXP Modem"
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated MC97 modem on
- motherboards with ATI chipsets (ATI IXP 150/200/250).
-
- To compile this driver as a module, choose M here: the module
- will be called snd-atiixp-modem.
-
-config SND_AU8810
- tristate "Aureal Advantage"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say Y here to include support for Aureal Advantage soundcards.
-
- Supported features: Hardware Mixer, SRC, EQ and SPDIF output.
- 3D support code is in place, but not yet useable. For more info,
- email the ALSA developer list, or .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-au8810.
-
-config SND_AU8820
- tristate "Aureal Vortex"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say Y here to include support for Aureal Vortex soundcards.
-
- Supported features: Hardware Mixer and SRC. For more info, email
- the ALSA developer list, or .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-au8820.
-
-config SND_AU8830
- tristate "Aureal Vortex 2"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say Y here to include support for Aureal Vortex 2 soundcards.
-
- Supported features: Hardware Mixer, SRC, EQ and SPDIF output.
- 3D support code is in place, but not yet useable. For more info,
- email the ALSA developer list, or .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-au8830.
-
-config SND_AW2
- tristate "Emagic Audiowerk 2"
- help
- Say Y here to include support for Emagic Audiowerk 2 soundcards.
-
- Supported features: Analog and SPDIF output. Analog or SPDIF input.
- Note: Switch between analog and digital input does not always work.
- It can produce continuous noise. The workaround is to switch again
- (and again) between digital and analog input until it works.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-aw2.
-
-
-config SND_AZT3328
- tristate "Aztech AZF3328 / PCI168"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_PCM
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_TIMER
- depends on ZONE_DMA
- help
- Say Y here to include support for Aztech AZF3328 (PCI168)
- soundcards.
-
- Supported features: AC97-"conformant" mixer, MPU401/OPL3, analog I/O
- (16bit/8bit, many sample rates [<= 66.2kHz], NO hardware mixing),
- Digital Enhanced Game Port, 1.024MHz multimedia sequencer timer,
- ext. codec (I2S port), onboard amp (4W/4Ohms/ch), suspend/resume.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-azt3328.
-
-config SND_BT87X
- tristate "Bt87x Audio Capture"
- select SND_PCM
- help
- If you want to record audio from TV cards based on
- Brooktree Bt878/Bt879 chips, say Y here and read
- .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-bt87x.
-
-config SND_BT87X_OVERCLOCK
- bool "Bt87x Audio overclocking"
- depends on SND_BT87X
- help
- Say Y here if 448000 Hz isn't enough for you and you want to
- record from the analog input with up to 1792000 Hz.
-
- Higher sample rates won't hurt your hardware, but audio
- quality may suffer.
-
-config SND_CA0106
- tristate "SB Audigy LS / Live 24bit"
- select SND_AC97_CODEC
- select SND_RAWMIDI
- select SND_VMASTER
- help
- Say Y here to include support for the Sound Blaster Audigy LS
- and Live 24bit.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ca0106.
-
-config SND_CMIPCI
- tristate "C-Media 8338, 8738, 8768, 8770"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_PCM
- help
- If you want to use soundcards based on C-Media CMI8338, CMI8738,
- CMI8768 or CMI8770 chips, say Y here and read
- .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-cmipci.
-
-config SND_OXYGEN_LIB
- tristate
-
-config SND_OXYGEN
- tristate "C-Media 8786, 8787, 8788 (Oxygen)"
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- help
- Say Y here to include support for sound cards based on the
- C-Media CMI8788 (Oxygen HD Audio) chip:
- * Asound A-8788
- * Asus Xonar DG/DGX
- * AuzenTech X-Meridian
- * AuzenTech X-Meridian 2G
- * Bgears b-Enspirer
- * Club3D Theatron DTS
- * HT-Omega Claro (plus)
- * HT-Omega Claro halo (XT)
- * Kuroutoshikou CMI8787-HG2PCI
- * Razer Barracuda AC-1
- * Sondigo Inferno
- * TempoTec/MediaTek HiFier Fantasia
- * TempoTec/MediaTek HiFier Serenade
-
- To compile this driver as a module, choose M here: the module
- will be called snd-oxygen.
-
-config SND_CS4281
- tristate "Cirrus Logic (Sound Fusion) CS4281"
- select SND_OPL3_LIB
- select SND_RAWMIDI
- select SND_AC97_CODEC
- help
- Say Y here to include support for Cirrus Logic CS4281 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-cs4281.
-
-config SND_CS46XX
- tristate "Cirrus Logic (Sound Fusion) CS4280/CS461x/CS462x/CS463x"
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select FW_LOADER
- help
- Say Y here to include support for Cirrus Logic CS4610/CS4612/
- CS4614/CS4615/CS4622/CS4624/CS4630/CS4280 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-cs46xx.
-
-config SND_CS46XX_NEW_DSP
- bool "Cirrus Logic (Sound Fusion) New DSP support"
- depends on SND_CS46XX
- default y
- help
- Say Y here to use a new DSP image for SPDIF and dual codecs.
-
- This works better than the old code, so say Y.
-
-config SND_CS5530
- tristate "CS5530 Audio"
- depends on ISA_DMA_API && (X86_32 || COMPILE_TEST)
- select SND_SB16_DSP
- help
- Say Y here to include support for audio on Cyrix/NatSemi CS5530 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-cs5530.
-
-config SND_CS5535AUDIO
- tristate "CS5535/CS5536 Audio"
- depends on X86_32 || MIPS || COMPILE_TEST
- select SND_PCM
- select SND_AC97_CODEC
- help
- Say Y here to include support for audio on CS5535 chips. It is
- referred to as NS CS5535 IO or AMD CS5535 IO companion in
- various literature. This driver also supports the CS5536 audio
- device. However, for both chips, on certain boards, you may
- need to use ac97_quirk=hp_only if your board has physically
- mapped headphone out to master output. If that works for you,
- send lspci -vvv output to the mailing list so that your board
- can be identified in the quirks list.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-cs5535audio.
-
-config SND_CTXFI
- tristate "Creative Sound Blaster X-Fi"
- select SND_PCM
- help
- If you want to use soundcards based on Creative Sound Blastr X-Fi
- boards with 20k1 or 20k2 chips, say Y here.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ctxfi.
-
-config SND_DARLA20
- tristate "(Echoaudio) Darla20"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Darla.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-darla20
-
-config SND_GINA20
- tristate "(Echoaudio) Gina20"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Gina.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-gina20
-
-config SND_LAYLA20
- tristate "(Echoaudio) Layla20"
- select FW_LOADER
- select SND_RAWMIDI
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Layla.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-layla20
-
-config SND_DARLA24
- tristate "(Echoaudio) Darla24"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Darla24.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-darla24
-
-config SND_GINA24
- tristate "(Echoaudio) Gina24"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Gina24.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-gina24
-
-config SND_LAYLA24
- tristate "(Echoaudio) Layla24"
- select FW_LOADER
- select SND_RAWMIDI
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Layla24.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-layla24
-
-config SND_MONA
- tristate "(Echoaudio) Mona"
- select FW_LOADER
- select SND_RAWMIDI
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Mona.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-mona
-
-config SND_MIA
- tristate "(Echoaudio) Mia"
- select FW_LOADER
- select SND_RAWMIDI
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Mia and Mia-midi.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-mia
-
-config SND_ECHO3G
- tristate "(Echoaudio) 3G cards"
- select FW_LOADER
- select SND_RAWMIDI
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Gina3G and Layla3G.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-echo3g
-
-config SND_INDIGO
- tristate "(Echoaudio) Indigo"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Indigo.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-indigo
-
-config SND_INDIGOIO
- tristate "(Echoaudio) Indigo IO"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Indigo IO.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-indigoio
-
-config SND_INDIGODJ
- tristate "(Echoaudio) Indigo DJ"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Indigo DJ.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-indigodj
-
-config SND_INDIGOIOX
- tristate "(Echoaudio) Indigo IOx"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Indigo IOx.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-indigoiox
-
-config SND_INDIGODJX
- tristate "(Echoaudio) Indigo DJx"
- select FW_LOADER
- select SND_PCM
- help
- Say 'Y' or 'M' to include support for Echoaudio Indigo DJx.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-indigodjx
-
-config SND_EMU10K1
- tristate "Emu10k1 (SB Live!, Audigy, E-mu APS)"
- select FW_LOADER
- select SND_HWDEP
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_TIMER
- select SND_SEQ_DEVICE if SND_SEQUENCER != n
- depends on ZONE_DMA
- help
- Say Y to include support for Sound Blaster PCI 512, Live!,
- Audigy and E-mu APS (partially supported) soundcards.
-
- The confusing multitude of mixer controls is documented in
- and
- .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-emu10k1.
-
-# select SEQ stuff to min(SND_SEQUENCER,SND_XXX)
-config SND_EMU10K1_SEQ
- def_tristate SND_SEQUENCER && SND_EMU10K1
- select SND_SEQ_MIDI_EMUL
- select SND_SEQ_VIRMIDI
- select SND_SYNTH_EMUX
-
-config SND_EMU10K1X
- tristate "Emu10k1X (Dell OEM Version)"
- select SND_AC97_CODEC
- select SND_RAWMIDI
- depends on ZONE_DMA
- help
- Say Y here to include support for the Dell OEM version of the
- Sound Blaster Live!.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-emu10k1x.
-
-config SND_ENS1370
- tristate "(Creative) Ensoniq AudioPCI 1370"
- select SND_RAWMIDI
- select SND_PCM
- help
- Say Y here to include support for Ensoniq AudioPCI ES1370 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ens1370.
-
-config SND_ENS1371
- tristate "(Creative) Ensoniq AudioPCI 1371/1373"
- select SND_RAWMIDI
- select SND_AC97_CODEC
- help
- Say Y here to include support for Ensoniq AudioPCI ES1371 chips and
- Sound Blaster PCI 64 or 128 soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ens1371.
-
-config SND_ES1938
- tristate "ESS ES1938/1946/1969 (Solo-1)"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Solo-1
- (ES1938, ES1946, ES1969) chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-es1938.
-
-config SND_ES1968
- tristate "ESS ES1968/1978 (Maestro-1/2/2E)"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Maestro
- 1/2/2E chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-es1968.
-
-config SND_ES1968_INPUT
- bool "Enable input device for es1968 volume buttons"
- depends on SND_ES1968
- depends on INPUT=y || INPUT=SND_ES1968
- help
- If you say Y here, you will get an input device which reports
- keypresses for the volume buttons connected to the es1968 chip.
- If you say N the buttons will directly control the master volume.
- It is recommended to say Y.
-
-config SND_ES1968_RADIO
- bool "Enable TEA5757 radio tuner support for es1968"
- depends on SND_ES1968
- depends on MEDIA_RADIO_SUPPORT
- depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_ES1968
- select RADIO_ADAPTERS
- select RADIO_TEA575X
-
- help
- Say Y here to include support for TEA5757 radio tuner integrated on
- some MediaForte cards (e.g. SF64-PCE2).
-
-config SND_FM801
- tristate "ForteMedia FM801"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say Y here to include support for soundcards based on the ForteMedia
- FM801 chip.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-fm801.
-
-config SND_FM801_TEA575X_BOOL
- bool "ForteMedia FM801 + TEA5757 tuner"
- depends on SND_FM801
- depends on MEDIA_RADIO_SUPPORT
- depends on VIDEO_V4L2=y || VIDEO_V4L2=SND_FM801
- select RADIO_ADAPTERS
- select RADIO_TEA575X
- help
- Say Y here to include support for soundcards based on the ForteMedia
- FM801 chip with a TEA5757 tuner (MediaForte SF256-PCS, SF256-PCP and
- SF64-PCR) into the snd-fm801 driver.
-
-config SND_HDSP
- tristate "RME Hammerfall DSP Audio"
- select FW_LOADER
- select SND_HWDEP
- select SND_RAWMIDI
- select SND_PCM
- help
- Say Y here to include support for RME Hammerfall DSP Audio
- soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-hdsp.
-
-comment "Don't forget to add built-in firmwares for HDSP driver"
- depends on SND_HDSP=y
-
-config SND_HDSPM
- tristate "RME Hammerfall DSP MADI/RayDAT/AIO"
- select SND_HWDEP
- select SND_RAWMIDI
- select SND_PCM
- help
- Say Y here to include support for RME Hammerfall DSP MADI,
- RayDAT and AIO soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-hdspm.
-
-config SND_ICE1712
- tristate "ICEnsemble ICE1712 (Envy24)"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- select BITREVERSE
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on the
- ICE1712 (Envy24) chip.
-
- Currently supported hardware is: M-Audio Delta 1010(LT),
- DiO 2496, 66, 44, 410, Audiophile 24/96; Digigram VX442;
- TerraTec EWX 24/96, EWS 88MT/D, DMX 6Fire, Phase 88;
- Hoontech SoundTrack DSP 24/Value/Media7.1; Event EZ8;
- Lionstracs Mediastation, Terrasoniq TS 88.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ice1712.
-
-config SND_ICE1724
- tristate "ICE/VT1724/1720 (Envy24HT/PT)"
- select SND_RAWMIDI
- select SND_AC97_CODEC
- select SND_VMASTER
- help
- Say Y here to include support for soundcards based on
- ICE/VT1724/1720 (Envy24HT/PT) chips.
-
- Currently supported hardware is: AMP AUDIO2000; M-Audio
- Revolution 5.1, 7.1, Audiophile 192; TerraTec Aureon 5.1 Sky,
- 7.1 Space/Universe, Phase 22/28; Onkyo SE-90PCI, SE-200PCI;
- AudioTrak Prodigy 192, 7.1 (HIFI/LT/XT), HD2; Hercules
- Fortissimo IV; ESI Juli@; Pontis MS300; EGO-SYS WaveTerminal
- 192M; Albatron K8X800 Pro II; Chaintech ZNF3-150/250, 9CJS,
- AV-710; Shuttle SN25P; Philips PSC724 Ultimate Edge.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ice1724.
config SND_INTEL8X0
tristate "Intel/SiS/nVidia/AMD/ALi AC97 Controller"
@@ -669,245 +23,5 @@ config SND_INTEL8X0
To compile this driver as a module, choose M here: the module
will be called snd-intel8x0.
-config SND_INTEL8X0M
- tristate "Intel/SiS/nVidia/AMD MC97 Modem"
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated MC97 modem on
- motherboards with Intel/SiS/nVidia/AMD chipsets.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-intel8x0m.
-
-config SND_KORG1212
- tristate "Korg 1212 IO"
- select SND_PCM
- help
- Say Y here to include support for Korg 1212IO soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-korg1212.
-
-config SND_LOLA
- tristate "Digigram Lola"
- select SND_PCM
- help
- Say Y to include support for Digigram Lola boards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-lola.
-
-config SND_LX6464ES
- tristate "Digigram LX6464ES"
- depends on HAS_IOPORT_MAP
- select SND_PCM
- help
- Say Y here to include support for Digigram LX6464ES boards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-lx6464es.
-
-
-config SND_MAESTRO3
- tristate "ESS Allegro/Maestro3"
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on ESS Maestro 3
- (Allegro) chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-maestro3.
-
-config SND_MAESTRO3_INPUT
- bool "Enable input device for maestro3 volume buttons"
- depends on SND_MAESTRO3
- depends on INPUT=y || INPUT=SND_MAESTRO3
- help
- If you say Y here, you will get an input device which reports
- keypresses for the volume buttons connected to the maestro3 chip.
- If you say N the buttons will directly control the master volume.
- It is recommended to say Y.
-
-config SND_MIXART
- tristate "Digigram miXart"
- select FW_LOADER
- select SND_HWDEP
- select SND_PCM
- help
- If you want to use Digigram miXart soundcards, say Y here and
- read .
-
- To compile this driver as a module, choose M here: the module
- will be called snd-mixart.
-
-config SND_NM256
- tristate "NeoMagic NM256AV/ZX"
- select SND_AC97_CODEC
- help
- Say Y here to include support for NeoMagic NM256AV/ZX chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-nm256.
-
-config SND_PCXHR
- tristate "Digigram PCXHR"
- select FW_LOADER
- select SND_PCM
- select SND_HWDEP
- help
- Say Y here to include support for Digigram PCXHR boards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-pcxhr.
-
-config SND_RIPTIDE
- tristate "Conexant Riptide"
- select FW_LOADER
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say 'Y' or 'M' to include support for Conexant Riptide chip.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-riptide
-
-config SND_RME32
- tristate "RME Digi32, 32/8, 32 PRO"
- select SND_PCM
- help
- Say Y to include support for RME Digi32, Digi32 PRO and
- Digi32/8 (Sek'd Prodif32, Prodif96 and Prodif Gold) audio
- devices.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-rme32.
-
-config SND_RME96
- tristate "RME Digi96, 96/8, 96/8 PRO"
- select SND_PCM
- help
- Say Y here to include support for RME Digi96, Digi96/8 and
- Digi96/8 PRO/PAD/PST soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-rme96.
-
-config SND_RME9652
- tristate "RME Digi9652 (Hammerfall)"
- select SND_PCM
- help
- Say Y here to include support for RME Hammerfall (RME
- Digi9652/Digi9636) soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-rme9652.
-
-config SND_SE6X
- tristate "Studio Evolution SE6X"
- depends on SND_OXYGEN=n && SND_VIRTUOSO=n # PCI ID conflict
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- help
- Say Y or M here only if you actually have this sound card.
-
-config SND_SIS7019
- tristate "SiS 7019 Audio Accelerator"
- depends on X86_32
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for the SiS 7019 Audio Accelerator.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-sis7019.
-
-config SND_SONICVIBES
- tristate "S3 SonicVibes"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on the S3
- SonicVibes chip.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-sonicvibes.
-
-config SND_TRIDENT
- tristate "Trident 4D-Wave DX/NX; SiS 7018"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- depends on ZONE_DMA
- help
- Say Y here to include support for soundcards based on Trident
- 4D-Wave DX/NX or SiS 7018 chips.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-trident.
-
-config SND_VIA82XX
- tristate "VIA 82C686A/B, 8233/8235 AC97 Controller"
- select SND_MPU401_UART
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated AC97 sound
- device on motherboards with VIA chipsets.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-via82xx.
-
-config SND_VIA82XX_MODEM
- tristate "VIA 82C686A/B, 8233 based Modems"
- select SND_AC97_CODEC
- help
- Say Y here to include support for the integrated MC97 modem on
- motherboards with VIA chipsets.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-via82xx-modem.
-
-config SND_VIRTUOSO
- tristate "Asus Virtuoso 66/100/200 (Xonar)"
- select SND_OXYGEN_LIB
- select SND_PCM
- select SND_MPU401_UART
- select SND_JACK
- help
- Say Y here to include support for sound cards based on the
- Asus AV66/AV100/AV200 chips, i.e., Xonar D1, DX, D2, D2X, DS, DSX,
- Essence ST (Deluxe), and Essence STX (II).
- Support for the HDAV1.3 (Deluxe) and HDAV1.3 Slim is experimental;
- for the Xense, missing.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-virtuoso.
-
-config SND_VX222
- tristate "Digigram VX222"
- select SND_VX_LIB
- help
- Say Y here to include support for Digigram VX222 soundcards.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-vx222.
-
-config SND_YMFPCI
- tristate "Yamaha YMF724/740/744/754"
- select SND_OPL3_LIB
- select SND_MPU401_UART
- select SND_AC97_CODEC
- select SND_TIMER
- help
- Say Y here to include support for Yamaha PCI audio chips -
- YMF724, YMF724F, YMF740, YMF740C, YMF744, YMF754.
-
- To compile this driver as a module, choose M here: the module
- will be called snd-ymfpci.
-
endif # SND_PCI
-source "sound/pci/hda/Kconfig"
diff -uprN linux-5.3/sound/pci/Makefile linux-5.3-bonsai/sound/pci/Makefile
--- linux-5.3/sound/pci/Makefile 2019-09-15 17:19:32.000000000 -0400
+++ linux-5.3-bonsai/sound/pci/Makefile 2019-09-20 15:15:10.777623601 -0400
@@ -4,80 +4,7 @@
# Copyright (c) 2001 by Jaroslav Kysela
#
-snd-ad1889-objs := ad1889.o
-snd-als300-objs := als300.o
-snd-als4000-objs := als4000.o
-snd-atiixp-objs := atiixp.o
-snd-atiixp-modem-objs := atiixp_modem.o
-snd-azt3328-objs := azt3328.o
-snd-bt87x-objs := bt87x.o
-snd-cmipci-objs := cmipci.o
-snd-cs4281-objs := cs4281.o
-snd-cs5530-objs := cs5530.o
-snd-ens1370-objs := ens1370.o ak4531_codec.o
-snd-ens1371-objs := ens1371.o
-snd-es1938-objs := es1938.o
-snd-es1968-objs := es1968.o
-snd-fm801-objs := fm801.o
snd-intel8x0-objs := intel8x0.o
-snd-intel8x0m-objs := intel8x0m.o
-snd-maestro3-objs := maestro3.o
-snd-rme32-objs := rme32.o
-snd-rme96-objs := rme96.o
-snd-sis7019-objs := sis7019.o
-snd-sonicvibes-objs := sonicvibes.o
-snd-via82xx-objs := via82xx.o
-snd-via82xx-modem-objs := via82xx_modem.o
-# Toplevel Module Dependency
-obj-$(CONFIG_SND_AD1889) += snd-ad1889.o
-obj-$(CONFIG_SND_ALS300) += snd-als300.o
-obj-$(CONFIG_SND_ALS4000) += snd-als4000.o
-obj-$(CONFIG_SND_ATIIXP) += snd-atiixp.o
-obj-$(CONFIG_SND_ATIIXP_MODEM) += snd-atiixp-modem.o
-obj-$(CONFIG_SND_AZT3328) += snd-azt3328.o
-obj-$(CONFIG_SND_BT87X) += snd-bt87x.o
-obj-$(CONFIG_SND_CMIPCI) += snd-cmipci.o
-obj-$(CONFIG_SND_CS4281) += snd-cs4281.o
-obj-$(CONFIG_SND_CS5530) += snd-cs5530.o
-obj-$(CONFIG_SND_ENS1370) += snd-ens1370.o
-obj-$(CONFIG_SND_ENS1371) += snd-ens1371.o
-obj-$(CONFIG_SND_ES1938) += snd-es1938.o
-obj-$(CONFIG_SND_ES1968) += snd-es1968.o
-obj-$(CONFIG_SND_FM801) += snd-fm801.o
-obj-$(CONFIG_SND_INTEL8X0) += snd-intel8x0.o
-obj-$(CONFIG_SND_INTEL8X0M) += snd-intel8x0m.o
-obj-$(CONFIG_SND_MAESTRO3) += snd-maestro3.o
-obj-$(CONFIG_SND_RME32) += snd-rme32.o
-obj-$(CONFIG_SND_RME96) += snd-rme96.o
-obj-$(CONFIG_SND_SIS7019) += snd-sis7019.o
-obj-$(CONFIG_SND_SONICVIBES) += snd-sonicvibes.o
-obj-$(CONFIG_SND_VIA82XX) += snd-via82xx.o
-obj-$(CONFIG_SND_VIA82XX_MODEM) += snd-via82xx-modem.o
-obj-$(CONFIG_SND) += \
- ac97/ \
- ali5451/ \
- asihpi/ \
- au88x0/ \
- aw2/ \
- ctxfi/ \
- ca0106/ \
- cs46xx/ \
- cs5535audio/ \
- lola/ \
- lx6464es/ \
- echoaudio/ \
- emu10k1/ \
- hda/ \
- ice1712/ \
- korg1212/ \
- mixart/ \
- nm256/ \
- oxygen/ \
- pcxhr/ \
- riptide/ \
- rme9652/ \
- trident/ \
- ymfpci/ \
- vx222/
+obj-$(CONFIG_SND) += ac97/