summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBertrand Jacquin <bertrand@jacquin.bzh>2019-06-17 23:42:51 +0100
committerBertrand Jacquin <bertrand@jacquin.bzh>2019-06-17 23:42:51 +0100
commita693cf25f3c59cf3034716d828f24c3ac75eeddf (patch)
treedf51eb966d69117c00f265a98ed1b32341b144d0
parentsys-kernel/stable-sources: Bump 5.0 (diff)
downloadetc-portage-patches-a693cf25f3c59cf3034716d828f24c3ac75eeddf.tar.gz
sys-kernel/stable-sources: Bump 5.1
-rw-r--r--sys-kernel/boest-v5.1.11/0001-patch-5.1-ja1.diff.patch (renamed from sys-kernel/boest-v5.1.1/0001-patch-5.1-ja1.diff.patch)50
-rw-r--r--sys-kernel/boest-v5.1.11/0002-pool-2.6.25-tcp-timewait-20s.diff.patch (renamed from sys-kernel/boest-v5.1.2/0002-pool-2.6.25-tcp-timewait-20s.diff.patch)8
-rw-r--r--sys-kernel/boest-v5.1.11/0003-pool-2.6.25-disable-tcp-debug.diff.patch (renamed from sys-kernel/boest-v5.1.1/0003-pool-2.6.25-disable-tcp-debug.diff.patch)6
-rw-r--r--sys-kernel/boest-v5.1.11/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch (renamed from sys-kernel/boest-v5.1.1/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch)20
-rw-r--r--sys-kernel/boest-v5.1.11/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch (renamed from sys-kernel/boest-v5.1.1/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch (renamed from sys-kernel/boest-v5.1.2/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0007-This-patch-adds-support-for-a-restricted-user-contro.patch (renamed from sys-kernel/boest-v5.1.1/0007-This-patch-adds-support-for-a-restricted-user-contro.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0008-fs-Enable-link-security-restrictions-by-default.patch (renamed from sys-kernel/boest-v5.1.2/0008-fs-Enable-link-security-restrictions-by-default.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch38
-rw-r--r--sys-kernel/boest-v5.1.11/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch (renamed from sys-kernel/boest-v5.1.2/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch (renamed from sys-kernel/boest-v5.1.1/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch (renamed from sys-kernel/boest-v5.1.2/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch)4
-rw-r--r--sys-kernel/boest-v5.1.11/0013-WARNING.patch (renamed from sys-kernel/boest-v5.1.1/0012-WARNING.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/0001-patch-5.1-ja1.diff.patch (renamed from sys-kernel/boest-v5.1.2/0001-patch-5.1-ja1.diff.patch)36
-rw-r--r--sys-kernel/boest-v5.1.9/0002-pool-2.6.25-tcp-timewait-20s.diff.patch (renamed from sys-kernel/boest-v5.1.1/0002-pool-2.6.25-tcp-timewait-20s.diff.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0003-pool-2.6.25-disable-tcp-debug.diff.patch (renamed from sys-kernel/boest-v5.1.2/0003-pool-2.6.25-disable-tcp-debug.diff.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch (renamed from sys-kernel/boest-v5.1.2/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch)8
-rw-r--r--sys-kernel/boest-v5.1.9/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch (renamed from sys-kernel/boest-v5.1.2/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch (renamed from sys-kernel/boest-v5.1.1/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch)10
-rw-r--r--sys-kernel/boest-v5.1.9/0007-This-patch-adds-support-for-a-restricted-user-contro.patch (renamed from sys-kernel/boest-v5.1.2/0007-This-patch-adds-support-for-a-restricted-user-contro.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0008-fs-Enable-link-security-restrictions-by-default.patch (renamed from sys-kernel/boest-v5.1.1/0008-fs-Enable-link-security-restrictions-by-default.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch38
-rw-r--r--sys-kernel/boest-v5.1.9/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch (renamed from sys-kernel/boest-v5.1.1/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch (renamed from sys-kernel/boest-v5.1.2/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch (renamed from sys-kernel/boest-v5.1.1/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch)10
-rw-r--r--sys-kernel/boest-v5.1.9/0013-WARNING.patch (renamed from sys-kernel/boest-v5.1.2/0012-WARNING.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0013-firmware-Updated-mailbox-header.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0013-firmware-Updated-mailbox-header.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0025-Update-vfpmodule.c.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0025-Update-vfpmodule.c.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0037-Add-dwc_otg-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0037-Add-dwc_otg-driver.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0038-bcm2708-framebuffer-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0038-bcm2708-framebuffer-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0047-Add-SMI-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0047-Add-SMI-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0049-Add-SMI-NAND-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0049-Add-SMI-NAND-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0051-Add-cpufreq-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0051-Add-cpufreq-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0053-char-broadcom-Add-vcio-module.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0053-char-broadcom-Add-vcio-module.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0066-Add-driver-for-rpi-proto.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0066-Add-driver-for-rpi-proto.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch)10
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0090-config-Add-default-configs.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0090-config-Add-default-configs.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0097-cache-export-clean-and-invalidate.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0097-cache-export-clean-and-invalidate.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch)12
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0117-vc4_firmware_kms-fix-build.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0117-vc4_firmware_kms-fix-build.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0131-Add-rpi-poe-fan-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0131-Add-rpi-poe-fan-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch)14
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0139-Update-issue-templates-2736.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0139-Update-issue-templates-2736.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch)8
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch)8
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch)18
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch)6
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch (renamed from sys-kernel/boest-v5.1.1/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch)4
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0186-dt-bindings-rv3028-backup-switchover-support.patch22
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0187-sound-Fixes-for-audioinjector-octo-under-4.19.patch116
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0188-overlays-Add-PiGlow-overlay.patch153
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0189-configs-enable-LED-driver-for-PiGlow.patch48
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0190-dts-Increase-default-coherent-pool-size.patch29
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0191-configs-Enable-netdev-LED-trigger.patch48
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0192-lan78xx-use-default-alignment-for-rx-buffers.patch25
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0193-staging-mmal-vchiq-Replace-spinlock-protecting-conte.patch69
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0194-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch53
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0195-configs-Enable-ICS-43432-I2S-microphone-module.patch48
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0196-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch28
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0197-Added-IQaudIO-Pi-Codec-board-support-2969.patch427
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0198-configs-Enable-PIDs-cgroup.patch28
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0199-w1-ds2408-reset-on-output_write-retry-with-readback.patch142
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0200-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch93
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0201-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch23
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0202-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch538
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0203-.gitignore-Add-.dtbo-explicitly.patch24
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0204-allo-boss-dac-switch-to-snd_soc_dai_set_bclk_ratio.patch29
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0205-hifiberry_dacplus-switch-to-snd_soc_dai_set_bclk_rat.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0206-hifiberry_dacplusadc-switch-to-snd_soc_dai_set_bclk_.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0207-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch49
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0208-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch35
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0209-media-ov5647-Add-support-for-PWDN-GPIO.patch94
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0210-media-ov5647-Add-support-for-non-continuous-clock-mo.patch81
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0211-media-tc358743-Increase-FIFO-level-to-374.patch33
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0212-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch78
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0213-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch81
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0214-media-tc358743-Check-I2C-succeeded-during-probe.patch100
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0215-media-adv7180-Default-to-the-first-valid-input.patch47
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0216-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch26
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0217-media-videodev2-Add-helper-defines-for-printing-FOUR.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0218-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch105
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0219-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch2448
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0220-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0221-defconfig-Enable-Unicam-driver-and-various-sources-o.patch88
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0222-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch224
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0223-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch135
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0224-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch493
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0225-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch143
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0226-overlays-Remove-superfluous-address-size-cells.patch69
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0227-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch150
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0228-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch32
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0229-media-tc358743-Return-an-appropriate-colorspace-from.patch100
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0230-staging-vchiq_arm-Fix-platform-device-unregistration.patch29
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0231-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch199
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0232-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch27
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0233-staging-bcm2835-camera-Return-early-on-errors.patch199
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0234-staging-bcm2835-camera-Remove-dead-email-addresses.patch265
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0235-staging-bcm2835-camera-Fix-comment-style-violations.patch622
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0236-staging-bcm2835-camera-Fix-spacing-around-operators.patch108
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0237-staging-bcm2835-camera-Reduce-length-of-enum-names.patch780
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0238-staging-bcm2835-camera-Fix-multiple-line-dereference.patch135
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0239-staging-bcm2835-camera-Fix-brace-style-issues.patch62
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0240-staging-bcm2835-camera-Fix-missing-lines-between-ite.patch39
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0241-staging-bcm2835-camera-Fix-logical-continuation-spli.patch51
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0242-staging-bcm2835-camera-Fix-open-parenthesis-alignmen.patch145
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0243-staging-bcm2835_camera-Ensure-all-buffers-are-return.patch101
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0244-staging-bcm2835-camera-Remove-check-of-the-number-of.patch41
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0245-staging-bcm2835-camera-Handle-empty-EOS-buffers-whil.patch88
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0246-staging-bcm2835-camera-Set-sequence-number-correctly.patch50
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0247-staging-bcm2835-camera-Ensure-timestamps-never-go-ba.patch40
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0248-staging-bcm2835-camera-Add-multiple-inclusion-protec.patch52
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0249-staging-bcm2835-camera-Unify-header-inclusion-define.patch32
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0250-staging-bcm2835-camera-Fix-multiple-assignments-shou.patch32
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0251-staging-bcm2835-camera-Fix-up-all-formatting-in-mmal.patch338
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0252-staging-bcm2835-camera-Use-enums-for-max-value-in-co.patch114
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0253-staging-bcm2835-camera-Correct-V4L2_CID_COLORFX_CBCR.patch36
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0254-staging-bcm2835-camera-Remove-amend-some-obsolete-co.patch51
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0255-staging-vc04_services-Split-vchiq-mmal-into-a-module.patch299
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0256-staging-mmal-vchiq-Allocate-and-free-components-as-r.patch111
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0257-staging-mmal-vchiq-Avoid-use-of-bool-in-structures.patch97
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0258-staging-mmal-vchiq-Make-timeout-a-defined-parameter.patch40
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0259-staging-mmal-vchiq-Make-a-mmal_buf-struct-for-passin.patch288
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0260-staging-mmal-vchiq-Add-support-for-event-callbacks.patch364
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0261-staging-vc04_services-Support-sending-data-to-MMAL-p.patch44
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0262-staging-vc04_services-Fixup-vchiq-mmal-include-order.patch40
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0263-staging-vc04_services-Add-new-vc-sm-cma-driver.patch1902
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0264-staging-vc04_services-Use-vc-sm-cma-to-support-zero-.patch171
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0265-media-videobuf2-Allow-exporting-of-a-struct-dmabuf.patch87
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0266-staging-vc04_services-Add-a-V4L2-M2M-codec-driver.patch2479
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0267-config-Add-bcm2835-codec-to-Pi-defconfigs.patch37
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0268-staging-bcm2835-camera-Fix-stride-on-RGB3-BGR3-forma.patch55
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0269-char-vcio-Add-compat-ioctl-handling.patch60
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0270-char-vcio-Fail-probe-if-rpi_firmware-is-not-found.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0271-staging-mmal-vchiq-Fix-client_component-for-64-bit-k.patch72
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0272-staging-bcm2835-camera-Add-sanity-checks-for-queue_s.patch46
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0273-staging-bcm2835-camera-Set-the-field-value-within-ea.patch29
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0274-char-vc_mem-Fix-up-compat-ioctls-for-64bit-kernel.patch115
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0275-char-vc_mem-Fix-all-coding-style-issues.patch432
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0276-clk-clk-bcm2835-Use-zd-when-printing-size_t.patch26
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0277-dtoverlays-Correct-DT-handling-camera-GPIOs.patch91
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0278-media-ov5647-Use-gpiod_set_value_cansleep.patch56
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0279-media-bcm2835-unicam-Power-on-subdev-on-open-release.patch123
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0280-staging-bcm2835-camera-Correct-ctrl-min-max-step-def.patch60
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0281-staging-bcm2835-codec-variable-vb2-may-be-used-unini.patch39
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0282-staging-bcm2835-codec-Fix-potentially-uninitialised-.patch27
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0283-staging-vc-sm-cma-Correct-DMA-configuration.patch46
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0284-staging-vc-sm-cma-Use-a-void-pointer-as-the-handle-w.patch119
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0285-staging-vc-sm-cma-Fix-up-for-64bit-builds.patch203
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0286-staging-mmal_vchiq-Add-in-the-Bayer-encoding-formats.patch53
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0287-staging-mmal-vchiq-Always-return-the-param-size-from.patch40
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0288-staging-mmal-vchiq-If-the-VPU-returns-an-error-don-t.patch31
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0289-staging-bcm2835_codec-Query-supported-formats-from-t.patch729
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0290-staging-bcm2835_codec-Add-support-for-the-ISP-as-an-.patch386
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0291-staging-bcm2835_codec-Add-an-option-for-ignoring-Bay.patch181
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0292-staging-bcm2835_codec-Fix-handling-of-VB2_MEMORY_DMA.patch192
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0293-staging-mmal-vchiq-Update-mmal_parameters.h-with-rec.patch58
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0294-staging-bcm2835_codec-Include-timing-info-in-SPS-hea.patch46
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0295-staging-vc_sm_cma-Remove-erroneous-misc_deregister.patch46
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0296-staging-bcm2835-codec-NULL-component-handle-on-queue.patch61
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0297-staging-vc-sm-cma-Remove-the-debugfs-directory-on-re.patch26
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0298-staging-vc-sm-cma-Use-devm_-allocs-for-sm_state.patch71
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0299-staging-vc-sm-cma-Don-t-fail-if-debugfs-calls-fail.patch39
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0300-staging-vc-sm-cma-Ensure-mutex-and-idr-are-destroyed.patch29
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0301-staging-bcm2835_codec-Clean-up-logging-on-unloading-.patch51
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0302-media-bcm2835-unicam-Add-support-for-enum-framesizes.patch135
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0303-staging-bcm2835-codec-Refactor-default-resolution-co.patch154
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0304-staging-bcm2835-codec-Correct-port-width-calc-for-tr.patch31
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0305-staging-bcm2835-codec-Remove-height-padding-for-ISP-.patch63
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0306-staging-mmal-vchiq-Free-the-event-context-for-contro.patch30
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0307-staging-mmal-vchiq-Fix-memory-leak-in-error-path.patch78
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0308-overlays-Update-upstream-overlay.patch128
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0309-usb-dwc_otg-Clean-up-interrupt-claiming-code.patch165
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0310-overlays-Delete-the-deprecated-sdio-1bit-overlay.patch94
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0311-overlays-Remove-upstream-aux-interrupt-overlay.patch104
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0312-overlays-Standardise-on-compatible-brcm-bcm2835.patch2059
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0313-vc4-Remove-interrupt-and-DMA-trampling.patch125
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0314-BCM270X_DT-Add-non-removable-clone-of-mmc-node.patch220
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0315-BCM270X_DT-usb-Refactor-DTS-and-overlays.patch66
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0316-w1-ds2408-Fix-typo-after-49695ac46861-reset-on-outpu.patch33
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0317-BCM270X_DT-Rename-Pi-Zero-W-DT-files.patch56
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0318-BCM270X_DT-Create-bcm2708-rpi-zero.dts.patch152
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0319-overlays-Fix-mmc-related-overlays-after-refactor.patch79
-rw-r--r--sys-kernel/boest-v5.1.9/raspberrypi/0320-config-Add-NF_TABLES-support.patch170
l---------sys-kernel/stable-sources-5.1.11
l---------sys-kernel/stable-sources-5.1.111
l---------sys-kernel/stable-sources-5.1.21
l---------sys-kernel/stable-sources-5.1.91
350 files changed, 24463 insertions, 508 deletions
diff --git a/sys-kernel/boest-v5.1.1/0001-patch-5.1-ja1.diff.patch b/sys-kernel/boest-v5.1.11/0001-patch-5.1-ja1.diff.patch
index 89aac1b5..2595986a 100644
--- a/sys-kernel/boest-v5.1.1/0001-patch-5.1-ja1.diff.patch
+++ b/sys-kernel/boest-v5.1.11/0001-patch-5.1-ja1.diff.patch
@@ -1,7 +1,7 @@
-From c13eff2e1132816773f4184216427946ca5f238d Mon Sep 17 00:00:00 2001
+From 1ecd88a41ac5d1dc706979a51f06bc2976265db7 Mon Sep 17 00:00:00 2001
From: Julian Anastasov <ja@ssi.bg>
Date: Mon, 6 May 2019 12:45:11 +0000
-Subject: [PATCH 01/12] patch-5.1-ja1.diff
+Subject: [PATCH 01/13] patch-5.1-ja1.diff
Jumbo patch containing the following parts:
- routes-2.X.*.diff (static_routes, alt_routes, nf_reroute but without arp_prefsrc functionality, it is replaced by arprules and rp_filter_mask)
@@ -36,10 +36,10 @@ URL: http://ja.ssi.bg/patch-5.1-ja1.diff
20 files changed, 1173 insertions(+), 128 deletions(-)
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index c4ac35234f05..5a5d64e4daf5 100644
+index f0d09162c7a3..048db28eb683 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
-@@ -1077,6 +1077,19 @@ forwarding - BOOLEAN
+@@ -1085,6 +1085,19 @@ forwarding - BOOLEAN
Enable IP forwarding on this interface. This controls whether packets
received _on_ this interface can be forwarded.
@@ -48,7 +48,7 @@ index c4ac35234f05..5a5d64e4daf5 100644
+ forwarding of packets with local source address. 1 means yes,
+ 0 means no. By default the flag is disabled and such packets
+ are not forwarded.
-+
++
+ If you enable this flag on internal network, the router will forward
+ packets from internal hosts with shared IP addresses no matter how
+ the rp_filter is set. This flag is activated only if it is
@@ -59,7 +59,7 @@ index c4ac35234f05..5a5d64e4daf5 100644
mc_forwarding - BOOLEAN
Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE
and a multicast routing daemon is required.
-@@ -1192,6 +1205,15 @@ rp_filter - INTEGER
+@@ -1200,6 +1213,15 @@ rp_filter - INTEGER
Default value is 0. Note that some distributions enable it
in startup scripts.
@@ -75,7 +75,7 @@ index c4ac35234f05..5a5d64e4daf5 100644
arp_filter - BOOLEAN
1 - Allows you to have multiple network interfaces on the same
subnet, and have the ARPs for each interface be answered
-@@ -1332,6 +1354,14 @@ drop_gratuitous_arp - BOOLEAN
+@@ -1340,6 +1362,14 @@ drop_gratuitous_arp - BOOLEAN
Default: off (0)
@@ -329,7 +329,7 @@ index 22afa566cbce..3de2da264fc8 100644
skb->pkt_type = PACKET_OTHERHOST;
nf_bridge->pkt_otherhost = false;
diff --git a/net/ipv4/arp.c b/net/ipv4/arp.c
-index 850a6f13a082..d92ae82268de 100644
+index 850a6f13a082..bf0bf575eff6 100644
--- a/net/ipv4/arp.c
+++ b/net/ipv4/arp.c
@@ -71,6 +71,9 @@
@@ -508,7 +508,7 @@ index 850a6f13a082..d92ae82268de 100644
if (!dont_send && IN_DEV_ARPFILTER(in_dev))
dont_send = arp_filter(sip, tip, dev);
+ if (!dont_send && skb->pkt_type != PACKET_HOST)
-+ dont_send = arp_hidden(tip,dev);
++ dont_send = arp_hidden(tip,dev);
if (!dont_send) {
n = neigh_event_ns(&arp_tbl, sha, &sip, dev);
if (n) {
@@ -1797,10 +1797,10 @@ index 007da0882412..10e9d56ea776 100644
.hook = iptable_nat_do_chain,
.pf = NFPROTO_IPV4,
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index 6fdf1c195d8e..b338293debd9 100644
+index 1cd512ac84ba..1e669785c41e 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -1648,7 +1648,7 @@ int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -1650,7 +1650,7 @@ int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr,
return -EINVAL;
} else {
err = fib_validate_source(skb, saddr, 0, tos, 0, dev,
@@ -1809,7 +1809,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
return err;
}
-@@ -1723,7 +1723,7 @@ static void ip_handle_martian_source(struct net_device *dev,
+@@ -1725,7 +1725,7 @@ static void ip_handle_martian_source(struct net_device *dev,
static int __mkroute_input(struct sk_buff *skb,
const struct fib_result *res,
struct in_device *in_dev,
@@ -1818,7 +1818,7 @@ index 6fdf1c195d8e..b338293debd9 100644
{
struct fib_nh_exception *fnhe;
struct rtable *rth;
-@@ -1740,7 +1740,7 @@ static int __mkroute_input(struct sk_buff *skb,
+@@ -1742,7 +1742,7 @@ static int __mkroute_input(struct sk_buff *skb,
}
err = fib_validate_source(skb, saddr, daddr, tos, FIB_RES_OIF(*res),
@@ -1827,7 +1827,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0) {
ip_handle_martian_source(in_dev->dev, in_dev, skb, daddr,
saddr);
-@@ -1750,7 +1750,7 @@ static int __mkroute_input(struct sk_buff *skb,
+@@ -1752,7 +1752,7 @@ static int __mkroute_input(struct sk_buff *skb,
do_cache = res->fi && !itag;
if (out_dev == in_dev && err && IN_DEV_TX_REDIRECTS(out_dev) &&
@@ -1836,7 +1836,7 @@ index 6fdf1c195d8e..b338293debd9 100644
(IN_DEV_SHARED_MEDIA(out_dev) ||
inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
IPCB(skb)->flags |= IPSKB_DOREDIRECT;
-@@ -1912,10 +1912,12 @@ int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
+@@ -1914,10 +1914,12 @@ int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
static int ip_mkroute_input(struct sk_buff *skb,
struct fib_result *res,
@@ -1850,7 +1850,7 @@ index 6fdf1c195d8e..b338293debd9 100644
#ifdef CONFIG_IP_ROUTE_MULTIPATH
if (res->fi && res->fi->fib_nhs > 1) {
int h = fib_multipath_hash(res->fi->fib_net, NULL, skb, hkeys);
-@@ -1925,7 +1927,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
+@@ -1927,7 +1929,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
#endif
/* create a routing cache entry */
@@ -1859,7 +1859,7 @@ index 6fdf1c195d8e..b338293debd9 100644
}
/*
-@@ -1940,7 +1942,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
+@@ -1942,7 +1944,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
*/
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
@@ -1868,7 +1868,7 @@ index 6fdf1c195d8e..b338293debd9 100644
struct fib_result *res)
{
struct in_device *in_dev = __in_dev_get_rcu(dev);
-@@ -1998,18 +2000,25 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2000,18 +2002,25 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
goto martian_source;
}
@@ -1896,7 +1896,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (fib4_rules_early_flow_dissect(net, skb, &fl4, &_flkeys)) {
flkeys = &_flkeys;
-@@ -2020,6 +2029,8 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2022,6 +2031,8 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
}
err = fib_lookup(net, &fl4, res, 0);
@@ -1905,7 +1905,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err != 0) {
if (!IN_DEV_FORWARD(in_dev))
err = -EHOSTUNREACH;
-@@ -2034,7 +2045,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2039,7 +2050,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
if (res->type == RTN_LOCAL) {
err = fib_validate_source(skb, saddr, daddr, tos,
@@ -1914,7 +1914,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
goto martian_source;
goto local_input;
-@@ -2048,16 +2059,19 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2053,16 +2064,19 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
goto martian_destination;
make_route:
@@ -1936,7 +1936,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
goto martian_source;
}
-@@ -2161,9 +2175,26 @@ int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2163,9 +2177,26 @@ int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr,
}
EXPORT_SYMBOL(ip_route_input_noref);
@@ -1965,7 +1965,7 @@ index 6fdf1c195d8e..b338293debd9 100644
{
/* Multicast recognition logic is moved from route cache to here.
The problem was that too many Ethernet cards have broken/missing
-@@ -2209,7 +2240,13 @@ int ip_route_input_rcu(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2211,7 +2242,13 @@ int ip_route_input_rcu(struct sk_buff *skb, __be32 daddr, __be32 saddr,
return err;
}
@@ -1980,7 +1980,7 @@ index 6fdf1c195d8e..b338293debd9 100644
}
/* called with rcu_read_lock() */
-@@ -2461,6 +2498,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
+@@ -2463,6 +2500,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
dev_out = net->loopback_dev;
fl4->flowi4_oif = LOOPBACK_IFINDEX;
@@ -1988,7 +1988,7 @@ index 6fdf1c195d8e..b338293debd9 100644
res->type = RTN_LOCAL;
flags |= RTCF_LOCAL;
goto make_route;
-@@ -2519,6 +2557,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
+@@ -2521,6 +2559,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
orig_oif = FIB_RES_OIF(*res);
fl4->flowi4_oif = dev_out->ifindex;
diff --git a/sys-kernel/boest-v5.1.2/0002-pool-2.6.25-tcp-timewait-20s.diff.patch b/sys-kernel/boest-v5.1.11/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
index 08af3a00..44ee093b 100644
--- a/sys-kernel/boest-v5.1.2/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
+++ b/sys-kernel/boest-v5.1.11/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
@@ -1,7 +1,7 @@
-From f15610d33fd95ea1d877aab090b85d0d6bf44204 Mon Sep 17 00:00:00 2001
+From 59f0a31675acd6d5c96d433937f2b0a86330aeec Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 02/12] pool/2.6.25-tcp-timewait-20s.diff
+Subject: [PATCH 02/13] pool/2.6.25-tcp-timewait-20s.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
@@ -11,10 +11,10 @@ Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
-index 68ee02523b87..af51523854d2 100644
+index 36fcd0ad0515..229a56ae55d9 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
-@@ -118,8 +118,8 @@ void tcp_time_wait(struct sock *sk, int state, int timeo);
+@@ -120,8 +120,8 @@ void tcp_time_wait(struct sock *sk, int state, int timeo);
* initial RTO.
*/
diff --git a/sys-kernel/boest-v5.1.1/0003-pool-2.6.25-disable-tcp-debug.diff.patch b/sys-kernel/boest-v5.1.11/0003-pool-2.6.25-disable-tcp-debug.diff.patch
index d98842e7..e39c4201 100644
--- a/sys-kernel/boest-v5.1.1/0003-pool-2.6.25-disable-tcp-debug.diff.patch
+++ b/sys-kernel/boest-v5.1.11/0003-pool-2.6.25-disable-tcp-debug.diff.patch
@@ -1,7 +1,7 @@
-From 71db81ed5afde01f301b4202bcd3479df17fffb0 Mon Sep 17 00:00:00 2001
+From 5cd30d297dddec46d1a852006109bdd68a5daf57 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 03/12] pool/2.6.25-disable-tcp-debug.diff
+Subject: [PATCH 03/13] pool/2.6.25-disable-tcp-debug.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
@@ -11,7 +11,7 @@ Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
-index af51523854d2..61efa5a2868d 100644
+index 229a56ae55d9..92bb26dd475e 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -18,7 +18,7 @@
diff --git a/sys-kernel/boest-v5.1.1/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch b/sys-kernel/boest-v5.1.11/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
index 9670cdd5..80cbe781 100644
--- a/sys-kernel/boest-v5.1.1/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
+++ b/sys-kernel/boest-v5.1.11/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
@@ -1,7 +1,7 @@
-From 2279cbf1e033df087cee347e4825dbbda234e493 Mon Sep 17 00:00:00 2001
+From c19067b48f5068399efc810e51e18075326ea065 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Wed, 8 Oct 2008 10:00:42 +0200
-Subject: [PATCH 04/12] TCP: add a sysctl to disable simultaneous connection
+Subject: [PATCH 04/13] TCP: add a sysctl to disable simultaneous connection
opening.
Strict implementation of RFC793 (TCP) requires support for a feature
@@ -39,7 +39,7 @@ Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
5 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
-index 5a5d64e4daf5..c65fd0523daa 100644
+index 048db28eb683..c0fd3af84508 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -199,6 +199,28 @@ inet_peer_maxttl - INTEGER
@@ -72,10 +72,10 @@ index 5a5d64e4daf5..c65fd0523daa 100644
Limit of socket listen() backlog, known in userspace as SOMAXCONN.
Defaults to 128. See also tcp_max_syn_backlog for additional tuning
diff --git a/include/net/netns/ipv4.h b/include/net/netns/ipv4.h
-index 104a6669e344..f406fdc12340 100644
+index 623cfbb7b8dc..a62a48ab3992 100644
--- a/include/net/netns/ipv4.h
+++ b/include/net/netns/ipv4.h
-@@ -140,6 +140,7 @@ struct netns_ipv4 {
+@@ -142,6 +142,7 @@ struct netns_ipv4 {
int sysctl_tcp_recovery;
int sysctl_tcp_thin_linear_timeouts;
int sysctl_tcp_slow_start_after_idle;
@@ -96,10 +96,10 @@ index 87aa2a6d9125..c94a1099bc5b 100644
enum {
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
-index eeb4041fa5f9..5d6345007a7d 100644
+index 4f1fa744d3c8..bf9e6b3bc260 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
-@@ -515,6 +515,13 @@ static struct ctl_table ipv4_table[] = {
+@@ -517,6 +517,13 @@ static struct ctl_table ipv4_table[] = {
.mode = 0444,
.proc_handler = proc_tcp_available_congestion_control,
},
@@ -114,10 +114,10 @@ index eeb4041fa5f9..5d6345007a7d 100644
.procname = "tcp_allowed_congestion_control",
.maxlen = TCP_CA_BUF_MAX,
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
-index 731d3045b50a..a4f5ceca4879 100644
+index d48f935c8e28..7f52710b97eb 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
-@@ -5752,6 +5752,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
+@@ -5766,6 +5766,7 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
const struct tcphdr *th)
{
struct inet_connection_sock *icsk = inet_csk(sk);
@@ -125,7 +125,7 @@ index 731d3045b50a..a4f5ceca4879 100644
struct tcp_sock *tp = tcp_sk(sk);
struct tcp_fastopen_cookie foc = { .len = -1 };
int saved_clamp = tp->rx_opt.mss_clamp;
-@@ -5907,10 +5908,13 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
+@@ -5921,10 +5922,13 @@ static int tcp_rcv_synsent_state_process(struct sock *sk, struct sk_buff *skb,
tcp_paws_reject(&tp->rx_opt, 0))
goto discard_and_undo;
diff --git a/sys-kernel/boest-v5.1.1/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch b/sys-kernel/boest-v5.1.11/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
index 81264de7..af0b72b0 100644
--- a/sys-kernel/boest-v5.1.1/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
+++ b/sys-kernel/boest-v5.1.11/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
@@ -1,7 +1,7 @@
-From b1f687ad3c4b501e9d4a0e1a900a57a9ec650d32 Mon Sep 17 00:00:00 2001
+From 7f0d179ab8006970b4a23e7967fbfecf88efea7e Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 05/12] pool/2.6.25-disable-kbdrate-at-boot.diff
+Subject: [PATCH 05/13] pool/2.6.25-disable-kbdrate-at-boot.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
diff --git a/sys-kernel/boest-v5.1.2/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch b/sys-kernel/boest-v5.1.11/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
index 25fb9877..938767d5 100644
--- a/sys-kernel/boest-v5.1.2/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
+++ b/sys-kernel/boest-v5.1.11/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
@@ -1,7 +1,7 @@
-From 90f428284d9712e43029d9362cc46ff3650980f7 Mon Sep 17 00:00:00 2001
+From 97ecd278ad97455deb6af6751149cc37cc217407 Mon Sep 17 00:00:00 2001
From: Bertrand Jacquin <bertrand@jacquin.bzh>
Date: Wed, 9 Jan 2013 00:28:28 +0100
-Subject: [PATCH 06/12] Disable CONFIG_PROCESSOR_SELECT printk()'s
+Subject: [PATCH 06/13] Disable CONFIG_PROCESSOR_SELECT printk()'s
Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
---
diff --git a/sys-kernel/boest-v5.1.1/0007-This-patch-adds-support-for-a-restricted-user-contro.patch b/sys-kernel/boest-v5.1.11/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
index 82b59610..02351a1f 100644
--- a/sys-kernel/boest-v5.1.1/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
+++ b/sys-kernel/boest-v5.1.11/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
@@ -1,7 +1,7 @@
-From 7ccd619a2e89a05f4f5992a286e58b3eeac1c0b4 Mon Sep 17 00:00:00 2001
+From 8e6e97362d065613f18cb6bcf03237070b053df7 Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
Date: Sun, 21 Apr 2019 16:05:59 -0400
-Subject: [PATCH 07/12] This patch adds support for a restricted
+Subject: [PATCH 07/13] This patch adds support for a restricted
user-controlled namespace on tmpfs filesystem used to house PaX flags. The
namespace must be of the form user.pax.* and its value cannot exceed a size
of 8 bytes.
diff --git a/sys-kernel/boest-v5.1.2/0008-fs-Enable-link-security-restrictions-by-default.patch b/sys-kernel/boest-v5.1.11/0008-fs-Enable-link-security-restrictions-by-default.patch
index a7016609..66602cad 100644
--- a/sys-kernel/boest-v5.1.2/0008-fs-Enable-link-security-restrictions-by-default.patch
+++ b/sys-kernel/boest-v5.1.11/0008-fs-Enable-link-security-restrictions-by-default.patch
@@ -1,7 +1,7 @@
-From 3736e69f2ebb9cd0350adb66b6ea236e57ee20ec Mon Sep 17 00:00:00 2001
+From 7368eeb8ef9f6b6428b198f97d1e243fef781312 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 2 Nov 2012 05:32:06 +0000
-Subject: [PATCH 08/12] fs: Enable link security restrictions by default
+Subject: [PATCH 08/13] fs: Enable link security restrictions by default
This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415
('VFS: don't do protected {sym,hard}links by default').
diff --git a/sys-kernel/boest-v5.1.11/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch b/sys-kernel/boest-v5.1.11/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch
new file mode 100644
index 00000000..1c6360b8
--- /dev/null
+++ b/sys-kernel/boest-v5.1.11/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch
@@ -0,0 +1,38 @@
+From dc317a21c32aee93cc51927109370870ce2f3db5 Mon Sep 17 00:00:00 2001
+From: Mike Pagano <mpagano@gentoo.org>
+Date: Tue, 11 Jun 2019 14:01:00 -0400
+Subject: [PATCH 09/13] The encryption is only mandatory to be enforced when
+ both sides are using Secure Simple Pairing and this means the key size check
+ makes only sense in that case.
+
+On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
+optional and thus causing an issue if the key size check is not bound to
+using Secure Simple Pairing.
+
+Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Cc: stable@vger.kernel.org
+---
+ net/bluetooth/hci_conn.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
+index bd4978ce8c45..5ca75f939da6 100644
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
+ return 0;
+ }
+
+- if (hci_conn_ssp_enabled(conn) &&
+- !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
++ /* If Secure Simple Pairing is not enabled, then legacy connection
++ * setup is used and no encryption or key sizes can be enforced.
++ */
++ if (!hci_conn_ssp_enabled(conn))
++ return 1;
++
++ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
+ return 0;
+
+ return 1;
diff --git a/sys-kernel/boest-v5.1.2/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch b/sys-kernel/boest-v5.1.11/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
index 02759a32..e7362783 100644
--- a/sys-kernel/boest-v5.1.2/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
+++ b/sys-kernel/boest-v5.1.11/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
@@ -1,7 +1,7 @@
-From 2f69ab3daea200e12378443cbf2ab918a36fd6ef Mon Sep 17 00:00:00 2001
+From e6c69d5b51fcaaa9c4157c845b3368adbe1ee73b Mon Sep 17 00:00:00 2001
From: Laura Abbott <labbott@fedoraproject.org>
Date: Tue, 8 Sep 2015 09:53:38 -0700
-Subject: [PATCH 09/12] usb-storage: Disable UAS on JMicron SATA enclosure
+Subject: [PATCH 10/13] usb-storage: Disable UAS on JMicron SATA enclosure
Steve Ellis reported incorrect block sizes and alignement
offsets with a SATA enclosure. Adding a quirk to disable
diff --git a/sys-kernel/boest-v5.1.1/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch b/sys-kernel/boest-v5.1.11/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
index 557e2f48..4a3c7120 100644
--- a/sys-kernel/boest-v5.1.1/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
+++ b/sys-kernel/boest-v5.1.11/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
@@ -1,7 +1,7 @@
-From 337d3626ee5c3f6d854fa3a21939ad25ac8382aa Mon Sep 17 00:00:00 2001
+From 88f302e3973163ea95e2efc6285473ab37ee2511 Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Sun, 21 Apr 2019 16:05:59 -0400
-Subject: [PATCH 10/12] 5.1:2600_enable-key-swapping-for-apple-mac.patch
+Subject: [PATCH 11/13] 5.1:2600_enable-key-swapping-for-apple-mac.patch
---
drivers/hid/hid-apple.c | 76 +++++++++++++++++++++++++++++++++++++++--
diff --git a/sys-kernel/boest-v5.1.2/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch b/sys-kernel/boest-v5.1.11/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch
index 19217a1f..69119825 100644
--- a/sys-kernel/boest-v5.1.2/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch
+++ b/sys-kernel/boest-v5.1.11/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch
@@ -1,7 +1,7 @@
-From d8798d4c3c1dec9beceb1b95baef3e6eed736854 Mon Sep 17 00:00:00 2001
+From b3fc16ab03220294e77456c8c26f61793d69d5ed Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Fri, 28 Dec 2018 18:58:06 -0500
-Subject: [PATCH 11/12] 5.1:4567_distro-Gentoo-Kconfig.patch
+Subject: [PATCH 12/13] 5.1:4567_distro-Gentoo-Kconfig.patch
---
Kconfig | 2 +
diff --git a/sys-kernel/boest-v5.1.1/0012-WARNING.patch b/sys-kernel/boest-v5.1.11/0013-WARNING.patch
index 66c5f0c5..dca2c9f2 100644
--- a/sys-kernel/boest-v5.1.1/0012-WARNING.patch
+++ b/sys-kernel/boest-v5.1.11/0013-WARNING.patch
@@ -1,7 +1,7 @@
-From 07a93a8ba8ebe5f5c5aa0d93ed910c1b03d79c7c Mon Sep 17 00:00:00 2001
+From 5402d962a2cc3a38ded060b79932fa8047f67342 Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Fri, 10 May 2019 19:39:45 -0400
-Subject: [PATCH 12/12] WARNING This patch works with gcc versions 4.9+ and
+Subject: [PATCH 13/13] WARNING This patch works with gcc versions 4.9+ and
with kernel version 4.13+ and should NOT be applied when compiling on older
versions of gcc due to key name changes of the march flags introduced with
the version 4.9 release of gcc.[1]
@@ -413,7 +413,7 @@ index 6adce15268bd..7d0709e548af 100644
config X86_MINIMUM_CPU_FAMILY
int
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
-index a587805c6687..4bcabbf10e9b 100644
+index 56e748a7679f..191a478d8bfe 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -118,13 +118,42 @@ else
diff --git a/sys-kernel/boest-v5.1.2/0001-patch-5.1-ja1.diff.patch b/sys-kernel/boest-v5.1.9/0001-patch-5.1-ja1.diff.patch
index d52f17b8..ba697dd3 100644
--- a/sys-kernel/boest-v5.1.2/0001-patch-5.1-ja1.diff.patch
+++ b/sys-kernel/boest-v5.1.9/0001-patch-5.1-ja1.diff.patch
@@ -1,7 +1,7 @@
-From 800ec7d725fcdfccea2cdd907f81c176b78d6f00 Mon Sep 17 00:00:00 2001
+From 45d8335107400d5dbd790f68c4002e7668029b13 Mon Sep 17 00:00:00 2001
From: Julian Anastasov <ja@ssi.bg>
Date: Mon, 6 May 2019 12:45:11 +0000
-Subject: [PATCH 01/12] patch-5.1-ja1.diff
+Subject: [PATCH 01/13] patch-5.1-ja1.diff
Jumbo patch containing the following parts:
- routes-2.X.*.diff (static_routes, alt_routes, nf_reroute but without arp_prefsrc functionality, it is replaced by arprules and rp_filter_mask)
@@ -1797,10 +1797,10 @@ index 007da0882412..10e9d56ea776 100644
.hook = iptable_nat_do_chain,
.pf = NFPROTO_IPV4,
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
-index 6fdf1c195d8e..b338293debd9 100644
+index 1cd512ac84ba..1e669785c41e 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -1648,7 +1648,7 @@ int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -1650,7 +1650,7 @@ int ip_mc_validate_source(struct sk_buff *skb, __be32 daddr, __be32 saddr,
return -EINVAL;
} else {
err = fib_validate_source(skb, saddr, 0, tos, 0, dev,
@@ -1809,7 +1809,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
return err;
}
-@@ -1723,7 +1723,7 @@ static void ip_handle_martian_source(struct net_device *dev,
+@@ -1725,7 +1725,7 @@ static void ip_handle_martian_source(struct net_device *dev,
static int __mkroute_input(struct sk_buff *skb,
const struct fib_result *res,
struct in_device *in_dev,
@@ -1818,7 +1818,7 @@ index 6fdf1c195d8e..b338293debd9 100644
{
struct fib_nh_exception *fnhe;
struct rtable *rth;
-@@ -1740,7 +1740,7 @@ static int __mkroute_input(struct sk_buff *skb,
+@@ -1742,7 +1742,7 @@ static int __mkroute_input(struct sk_buff *skb,
}
err = fib_validate_source(skb, saddr, daddr, tos, FIB_RES_OIF(*res),
@@ -1827,7 +1827,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0) {
ip_handle_martian_source(in_dev->dev, in_dev, skb, daddr,
saddr);
-@@ -1750,7 +1750,7 @@ static int __mkroute_input(struct sk_buff *skb,
+@@ -1752,7 +1752,7 @@ static int __mkroute_input(struct sk_buff *skb,
do_cache = res->fi && !itag;
if (out_dev == in_dev && err && IN_DEV_TX_REDIRECTS(out_dev) &&
@@ -1836,7 +1836,7 @@ index 6fdf1c195d8e..b338293debd9 100644
(IN_DEV_SHARED_MEDIA(out_dev) ||
inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
IPCB(skb)->flags |= IPSKB_DOREDIRECT;
-@@ -1912,10 +1912,12 @@ int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
+@@ -1914,10 +1914,12 @@ int fib_multipath_hash(const struct net *net, const struct flowi4 *fl4,
static int ip_mkroute_input(struct sk_buff *skb,
struct fib_result *res,
@@ -1850,7 +1850,7 @@ index 6fdf1c195d8e..b338293debd9 100644
#ifdef CONFIG_IP_ROUTE_MULTIPATH
if (res->fi && res->fi->fib_nhs > 1) {
int h = fib_multipath_hash(res->fi->fib_net, NULL, skb, hkeys);
-@@ -1925,7 +1927,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
+@@ -1927,7 +1929,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
#endif
/* create a routing cache entry */
@@ -1859,7 +1859,7 @@ index 6fdf1c195d8e..b338293debd9 100644
}
/*
-@@ -1940,7 +1942,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
+@@ -1942,7 +1944,7 @@ static int ip_mkroute_input(struct sk_buff *skb,
*/
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
@@ -1868,7 +1868,7 @@ index 6fdf1c195d8e..b338293debd9 100644
struct fib_result *res)
{
struct in_device *in_dev = __in_dev_get_rcu(dev);
-@@ -1998,18 +2000,25 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2000,18 +2002,25 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
goto martian_source;
}
@@ -1896,7 +1896,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (fib4_rules_early_flow_dissect(net, skb, &fl4, &_flkeys)) {
flkeys = &_flkeys;
-@@ -2020,6 +2029,8 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2022,6 +2031,8 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
}
err = fib_lookup(net, &fl4, res, 0);
@@ -1905,7 +1905,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err != 0) {
if (!IN_DEV_FORWARD(in_dev))
err = -EHOSTUNREACH;
-@@ -2034,7 +2045,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2039,7 +2050,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
if (res->type == RTN_LOCAL) {
err = fib_validate_source(skb, saddr, daddr, tos,
@@ -1914,7 +1914,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
goto martian_source;
goto local_input;
-@@ -2048,16 +2059,19 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2053,16 +2064,19 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
goto martian_destination;
make_route:
@@ -1936,7 +1936,7 @@ index 6fdf1c195d8e..b338293debd9 100644
if (err < 0)
goto martian_source;
}
-@@ -2161,9 +2175,26 @@ int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2163,9 +2177,26 @@ int ip_route_input_noref(struct sk_buff *skb, __be32 daddr, __be32 saddr,
}
EXPORT_SYMBOL(ip_route_input_noref);
@@ -1965,7 +1965,7 @@ index 6fdf1c195d8e..b338293debd9 100644
{
/* Multicast recognition logic is moved from route cache to here.
The problem was that too many Ethernet cards have broken/missing
-@@ -2209,7 +2240,13 @@ int ip_route_input_rcu(struct sk_buff *skb, __be32 daddr, __be32 saddr,
+@@ -2211,7 +2242,13 @@ int ip_route_input_rcu(struct sk_buff *skb, __be32 daddr, __be32 saddr,
return err;
}
@@ -1980,7 +1980,7 @@ index 6fdf1c195d8e..b338293debd9 100644
}
/* called with rcu_read_lock() */
-@@ -2461,6 +2498,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
+@@ -2463,6 +2500,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
dev_out = net->loopback_dev;
fl4->flowi4_oif = LOOPBACK_IFINDEX;
@@ -1988,7 +1988,7 @@ index 6fdf1c195d8e..b338293debd9 100644
res->type = RTN_LOCAL;
flags |= RTCF_LOCAL;
goto make_route;
-@@ -2519,6 +2557,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
+@@ -2521,6 +2559,7 @@ struct rtable *ip_route_output_key_hash_rcu(struct net *net, struct flowi4 *fl4,
orig_oif = FIB_RES_OIF(*res);
fl4->flowi4_oif = dev_out->ifindex;
diff --git a/sys-kernel/boest-v5.1.1/0002-pool-2.6.25-tcp-timewait-20s.diff.patch b/sys-kernel/boest-v5.1.9/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
index ae0308a9..7ac4546b 100644
--- a/sys-kernel/boest-v5.1.1/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
+++ b/sys-kernel/boest-v5.1.9/0002-pool-2.6.25-tcp-timewait-20s.diff.patch
@@ -1,7 +1,7 @@
-From 38a0f1b389d85b1fd523d157473dd1886eef03c9 Mon Sep 17 00:00:00 2001
+From 9b266f76708cd8b375675c817755b7f4554b2f3e Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 02/12] pool/2.6.25-tcp-timewait-20s.diff
+Subject: [PATCH 02/13] pool/2.6.25-tcp-timewait-20s.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
diff --git a/sys-kernel/boest-v5.1.2/0003-pool-2.6.25-disable-tcp-debug.diff.patch b/sys-kernel/boest-v5.1.9/0003-pool-2.6.25-disable-tcp-debug.diff.patch
index 3865c9b6..7495dc2e 100644
--- a/sys-kernel/boest-v5.1.2/0003-pool-2.6.25-disable-tcp-debug.diff.patch
+++ b/sys-kernel/boest-v5.1.9/0003-pool-2.6.25-disable-tcp-debug.diff.patch
@@ -1,7 +1,7 @@
-From 7882c95af1413393d8495339ab7ff5e65f3d1e9f Mon Sep 17 00:00:00 2001
+From f4e60e112da45a6a27e3f2adb6aa59a1e7a65d48 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 03/12] pool/2.6.25-disable-tcp-debug.diff
+Subject: [PATCH 03/13] pool/2.6.25-disable-tcp-debug.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
diff --git a/sys-kernel/boest-v5.1.2/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch b/sys-kernel/boest-v5.1.9/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
index 97fe3c59..43cae3c4 100644
--- a/sys-kernel/boest-v5.1.2/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
+++ b/sys-kernel/boest-v5.1.9/0004-TCP-add-a-sysctl-to-disable-simultaneous-connection-.patch
@@ -1,7 +1,7 @@
-From 116e6238b23a546148ac642e156fd1581419d36e Mon Sep 17 00:00:00 2001
+From 64cd35027ed19a1483f6027cfb823855ebeb7f54 Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Wed, 8 Oct 2008 10:00:42 +0200
-Subject: [PATCH 04/12] TCP: add a sysctl to disable simultaneous connection
+Subject: [PATCH 04/13] TCP: add a sysctl to disable simultaneous connection
opening.
Strict implementation of RFC793 (TCP) requires support for a feature
@@ -72,10 +72,10 @@ index 1a6421971270..885639d4c788 100644
Limit of socket listen() backlog, known in userspace as SOMAXCONN.
Defaults to 128. See also tcp_max_syn_backlog for additional tuning
diff --git a/include/net/netns/ipv4.h b/include/net/netns/ipv4.h
-index 104a6669e344..f406fdc12340 100644
+index 7698460a3dd1..74e4fbf9be4f 100644
--- a/include/net/netns/ipv4.h
+++ b/include/net/netns/ipv4.h
-@@ -140,6 +140,7 @@ struct netns_ipv4 {
+@@ -141,6 +141,7 @@ struct netns_ipv4 {
int sysctl_tcp_recovery;
int sysctl_tcp_thin_linear_timeouts;
int sysctl_tcp_slow_start_after_idle;
diff --git a/sys-kernel/boest-v5.1.2/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch b/sys-kernel/boest-v5.1.9/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
index 29bae4eb..171196d5 100644
--- a/sys-kernel/boest-v5.1.2/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
+++ b/sys-kernel/boest-v5.1.9/0005-pool-2.6.25-disable-kbdrate-at-boot.diff.patch
@@ -1,7 +1,7 @@
-From 121676d6d37575a29968298fb418446a01897a49 Mon Sep 17 00:00:00 2001
+From b53fba94d35087057248381d9e4a624d292927bd Mon Sep 17 00:00:00 2001
From: Willy Tarreau <w@1wt.eu>
Date: Sun, 15 Feb 2009 14:51:33 +0100
-Subject: [PATCH 05/12] pool/2.6.25-disable-kbdrate-at-boot.diff
+Subject: [PATCH 05/13] pool/2.6.25-disable-kbdrate-at-boot.diff
From http://linux.1wt.eu/alix/kernel-src/2.6.27-wt11/patches-2.6.27-wt11.tar.bz2
diff --git a/sys-kernel/boest-v5.1.1/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch b/sys-kernel/boest-v5.1.9/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
index f5838ebf..e59d754f 100644
--- a/sys-kernel/boest-v5.1.1/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
+++ b/sys-kernel/boest-v5.1.9/0006-Disable-CONFIG_PROCESSOR_SELECT-printk-s.patch
@@ -1,7 +1,7 @@
-From 6ddba75f963a2f617248487cc8f6635def90c4dc Mon Sep 17 00:00:00 2001
+From d25350041b980082c40c57a43aea643edd44e697 Mon Sep 17 00:00:00 2001
From: Bertrand Jacquin <bertrand@jacquin.bzh>
Date: Wed, 9 Jan 2013 00:28:28 +0100
-Subject: [PATCH 06/12] Disable CONFIG_PROCESSOR_SELECT printk()'s
+Subject: [PATCH 06/13] Disable CONFIG_PROCESSOR_SELECT printk()'s
Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
---
@@ -9,10 +9,10 @@ Signed-off-by: Bertrand Jacquin <bertrand@jacquin.bzh>
1 file changed, 17 deletions(-)
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
-index cb28e98a0659..e6c914785fad 100644
+index 132a63dc5a76..0f9d27df958c 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
-@@ -1137,10 +1137,6 @@ void __init early_cpu_init(void)
+@@ -1158,10 +1158,6 @@ void __init early_cpu_init(void)
const struct cpu_dev *const *cdev;
int count = 0;
@@ -23,7 +23,7 @@ index cb28e98a0659..e6c914785fad 100644
for (cdev = __x86_cpu_dev_start; cdev < __x86_cpu_dev_end; cdev++) {
const struct cpu_dev *cpudev = *cdev;
-@@ -1148,19 +1144,6 @@ void __init early_cpu_init(void)
+@@ -1169,19 +1165,6 @@ void __init early_cpu_init(void)
break;
cpu_devs[count] = cpudev;
count++;
diff --git a/sys-kernel/boest-v5.1.2/0007-This-patch-adds-support-for-a-restricted-user-contro.patch b/sys-kernel/boest-v5.1.9/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
index e95d553c..0f5bc66e 100644
--- a/sys-kernel/boest-v5.1.2/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
+++ b/sys-kernel/boest-v5.1.9/0007-This-patch-adds-support-for-a-restricted-user-contro.patch
@@ -1,7 +1,7 @@
-From 8a836886b851876e7aeaf7f3ac6fbf9e10e65d1f Mon Sep 17 00:00:00 2001
+From eee9563070577d1516facfa281eb98b2060aded7 Mon Sep 17 00:00:00 2001
From: "Anthony G. Basile" <blueness@gentoo.org>
Date: Sun, 21 Apr 2019 16:05:59 -0400
-Subject: [PATCH 07/12] This patch adds support for a restricted
+Subject: [PATCH 07/13] This patch adds support for a restricted
user-controlled namespace on tmpfs filesystem used to house PaX flags. The
namespace must be of the form user.pax.* and its value cannot exceed a size
of 8 bytes.
diff --git a/sys-kernel/boest-v5.1.1/0008-fs-Enable-link-security-restrictions-by-default.patch b/sys-kernel/boest-v5.1.9/0008-fs-Enable-link-security-restrictions-by-default.patch
index fa59735c..573b7bc5 100644
--- a/sys-kernel/boest-v5.1.1/0008-fs-Enable-link-security-restrictions-by-default.patch
+++ b/sys-kernel/boest-v5.1.9/0008-fs-Enable-link-security-restrictions-by-default.patch
@@ -1,7 +1,7 @@
-From 6c1bc2ecb3d78560b371139c909b1031c590a448 Mon Sep 17 00:00:00 2001
+From f54f427bfcdb92df8d656b937e59149f6ceb4234 Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben@decadent.org.uk>
Date: Fri, 2 Nov 2012 05:32:06 +0000
-Subject: [PATCH 08/12] fs: Enable link security restrictions by default
+Subject: [PATCH 08/13] fs: Enable link security restrictions by default
This reverts commit 561ec64ae67ef25cac8d72bb9c4bfc955edfd415
('VFS: don't do protected {sym,hard}links by default').
diff --git a/sys-kernel/boest-v5.1.9/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch b/sys-kernel/boest-v5.1.9/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch
new file mode 100644
index 00000000..3394c05e
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/0009-The-encryption-is-only-mandatory-to-be-enforced-when.patch
@@ -0,0 +1,38 @@
+From 8ce115d2e5a7cae07ec32a954dec8de493469682 Mon Sep 17 00:00:00 2001
+From: Mike Pagano <mpagano@gentoo.org>
+Date: Tue, 11 Jun 2019 14:01:00 -0400
+Subject: [PATCH 09/13] The encryption is only mandatory to be enforced when
+ both sides are using Secure Simple Pairing and this means the key size check
+ makes only sense in that case.
+
+On legacy Bluetooth 2.0 and earlier devices like mice the encryption was
+optional and thus causing an issue if the key size check is not bound to
+using Secure Simple Pairing.
+
+Fixes: d5bb334a8e17 ("Bluetooth: Align minimum encryption key size for LE and BR/EDR connections")
+Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
+Cc: stable@vger.kernel.org
+---
+ net/bluetooth/hci_conn.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
+index 3cf0764d5793..7516cdde3373 100644
+--- a/net/bluetooth/hci_conn.c
++++ b/net/bluetooth/hci_conn.c
+@@ -1272,8 +1272,13 @@ int hci_conn_check_link_mode(struct hci_conn *conn)
+ return 0;
+ }
+
+- if (hci_conn_ssp_enabled(conn) &&
+- !test_bit(HCI_CONN_ENCRYPT, &conn->flags))
++ /* If Secure Simple Pairing is not enabled, then legacy connection
++ * setup is used and no encryption or key sizes can be enforced.
++ */
++ if (!hci_conn_ssp_enabled(conn))
++ return 1;
++
++ if (!test_bit(HCI_CONN_ENCRYPT, &conn->flags))
+ return 0;
+
+ /* The minimum encryption key size needs to be enforced by the
diff --git a/sys-kernel/boest-v5.1.1/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch b/sys-kernel/boest-v5.1.9/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
index 84a45c2c..af02e8e4 100644
--- a/sys-kernel/boest-v5.1.1/0009-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
+++ b/sys-kernel/boest-v5.1.9/0010-usb-storage-Disable-UAS-on-JMicron-SATA-enclosure.patch
@@ -1,7 +1,7 @@
-From 6a1d594236d639c536b9ed95deaab56061635b7c Mon Sep 17 00:00:00 2001
+From 0852b9c69068f8fd636d947236a35377dd32f051 Mon Sep 17 00:00:00 2001
From: Laura Abbott <labbott@fedoraproject.org>
Date: Tue, 8 Sep 2015 09:53:38 -0700
-Subject: [PATCH 09/12] usb-storage: Disable UAS on JMicron SATA enclosure
+Subject: [PATCH 10/13] usb-storage: Disable UAS on JMicron SATA enclosure
Steve Ellis reported incorrect block sizes and alignement
offsets with a SATA enclosure. Adding a quirk to disable
diff --git a/sys-kernel/boest-v5.1.2/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch b/sys-kernel/boest-v5.1.9/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
index 71c55901..b02c27e0 100644
--- a/sys-kernel/boest-v5.1.2/0010-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
+++ b/sys-kernel/boest-v5.1.9/0011-5.1-2600_enable-key-swapping-for-apple-mac.patch.patch
@@ -1,7 +1,7 @@
-From 0af38fffe25d7fb2a267d29168ca627df3dc6315 Mon Sep 17 00:00:00 2001
+From 16feebf382d1e13c7e6357e16cc0deb7cee0a42c Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Sun, 21 Apr 2019 16:05:59 -0400
-Subject: [PATCH 10/12] 5.1:2600_enable-key-swapping-for-apple-mac.patch
+Subject: [PATCH 11/13] 5.1:2600_enable-key-swapping-for-apple-mac.patch
---
drivers/hid/hid-apple.c | 76 +++++++++++++++++++++++++++++++++++++++--
diff --git a/sys-kernel/boest-v5.1.1/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch b/sys-kernel/boest-v5.1.9/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch
index 3a419508..1913354a 100644
--- a/sys-kernel/boest-v5.1.1/0011-5.1-4567_distro-Gentoo-Kconfig.patch.patch
+++ b/sys-kernel/boest-v5.1.9/0012-5.1-4567_distro-Gentoo-Kconfig.patch.patch
@@ -1,7 +1,7 @@
-From 8757f9c98a8582ab896a24bf238609e63492d446 Mon Sep 17 00:00:00 2001
+From b1f7c7dcf10e07de74e85a58586c3c592768e01e Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Fri, 28 Dec 2018 18:58:06 -0500
-Subject: [PATCH 11/12] 5.1:4567_distro-Gentoo-Kconfig.patch
+Subject: [PATCH 12/13] 5.1:4567_distro-Gentoo-Kconfig.patch
---
Kconfig | 2 +
@@ -20,7 +20,7 @@ index 48a80beab685..a5ad73c66099 100644
+source "distro/Kconfig"
diff --git a/distro/Kconfig b/distro/Kconfig
new file mode 100644
-index 000000000000..cc385887e08a
+index 000000000000..57379b7720de
--- /dev/null
+++ b/distro/Kconfig
@@ -0,0 +1,147 @@
@@ -90,7 +90,7 @@ index 000000000000..cc385887e08a
+ NET_NS (required for FEATURES=network-sandbox)
+ PID_NS (required for FEATURES=pid-sandbox)
+ SYSVIPC (required by IPC_NS)
-+
++
+
+ It is highly recommended that you leave this enabled as these FEATURES
+ are, or will soon be, enabled by default.
@@ -130,7 +130,7 @@ index 000000000000..cc385887e08a
+ select BLK_DEV_BSG
+ select CGROUPS
+ select CHECKPOINT_RESTORE
-+ select CRYPTO_HMAC
++ select CRYPTO_HMAC
+ select CRYPTO_SHA256
+ select CRYPTO_USER_API_HASH
+ select DEVPTS_MULTIPLE_INSTANCES
diff --git a/sys-kernel/boest-v5.1.2/0012-WARNING.patch b/sys-kernel/boest-v5.1.9/0013-WARNING.patch
index 88a7ff12..f4fe69b8 100644
--- a/sys-kernel/boest-v5.1.2/0012-WARNING.patch
+++ b/sys-kernel/boest-v5.1.9/0013-WARNING.patch
@@ -1,7 +1,7 @@
-From 19730d7010c56c357309f07c07387362869ca677 Mon Sep 17 00:00:00 2001
+From f8bf675b939d6a7e99285ac880ea8dc4d087efc6 Mon Sep 17 00:00:00 2001
From: Mike Pagano <mpagano@gentoo.org>
Date: Fri, 10 May 2019 19:39:45 -0400
-Subject: [PATCH 12/12] WARNING This patch works with gcc versions 4.9+ and
+Subject: [PATCH 13/13] WARNING This patch works with gcc versions 4.9+ and
with kernel version 4.13+ and should NOT be applied when compiling on older
versions of gcc due to key name changes of the march flags introduced with
the version 4.9 release of gcc.[1]
@@ -413,7 +413,7 @@ index 6adce15268bd..7d0709e548af 100644
config X86_MINIMUM_CPU_FAMILY
int
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
-index a587805c6687..4bcabbf10e9b 100644
+index 56e748a7679f..191a478d8bfe 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -118,13 +118,42 @@ else
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch
index fd15aa46..6b94dcda 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0001-arm-partially-revert-702b94bff3c50542a6e4ab9a4f4cef0.patch
@@ -1,7 +1,7 @@
-From d4d5f5b1e77004dca51a49fa1720511cc8cf00a1 Mon Sep 17 00:00:00 2001
+From ddfdc507ef2503d430465074a4e88a3aef786925 Mon Sep 17 00:00:00 2001
From: Dan Pasanen <dan.pasanen@gmail.com>
Date: Thu, 21 Sep 2017 09:55:42 -0500
-Subject: [PATCH 001/185] arm: partially revert
+Subject: [PATCH 001/320] arm: partially revert
702b94bff3c50542a6e4ab9a4f4cef093262fe65
* Re-expose some dmi APIs for use in VCSM
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch
index b8c745db..d29ecd7e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0002-Revert-rtc-pcf8523-properly-handle-oscillator-stop-b.patch
@@ -1,7 +1,7 @@
-From 997c134fbb98cab37fd5ed20e8ee48922dcc1276 Mon Sep 17 00:00:00 2001
+From 7678b8b6c2c02953d0e5798555aa0ba5280060bb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 29 Oct 2018 14:45:45 +0000
-Subject: [PATCH 002/185] Revert "rtc: pcf8523: properly handle oscillator stop
+Subject: [PATCH 002/320] Revert "rtc: pcf8523: properly handle oscillator stop
bit"
This reverts commit ede44c908d44b166a5b6bd7caacd105c2ff5a70f.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch
index defb15f5..8d878fdb 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0003-smsx95xx-fix-crimes-against-truesize.patch
@@ -1,7 +1,7 @@
-From bec63726bbfcc99b06d446195281c6e12cf4a22f Mon Sep 17 00:00:00 2001
+From 1a85f6cbe07d28b0c16318a00e442f4dbb5b1bf7 Mon Sep 17 00:00:00 2001
From: Steve Glendinning <steve.glendinning@smsc.com>
Date: Thu, 19 Feb 2015 18:47:12 +0000
-Subject: [PATCH 003/185] smsx95xx: fix crimes against truesize
+Subject: [PATCH 003/320] smsx95xx: fix crimes against truesize
smsc95xx is adjusting truesize when it shouldn't, and following a recent patch from Eric this is now triggering warnings.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
index 840ad77f..7b34217d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0004-smsc95xx-Experimental-Enable-turbo_mode-and-packetsi.patch
@@ -1,7 +1,7 @@
-From fc2a1e411397658adf8896049f02222963546281 Mon Sep 17 00:00:00 2001
+From a2877f5f25902d7514d0cc61ddd1d1a294cb5da5 Mon Sep 17 00:00:00 2001
From: Sam Nazarko <email@samnazarko.co.uk>
Date: Fri, 1 Apr 2016 17:27:21 +0100
-Subject: [PATCH 004/185] smsc95xx: Experimental: Enable turbo_mode and
+Subject: [PATCH 004/320] smsc95xx: Experimental: Enable turbo_mode and
packetsize=2560 by default
See: http://forum.kodi.tv/showthread.php?tid=285288
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch
index b1fac8bb..15fe38ca 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0005-Allow-mac-address-to-be-set-in-smsc95xx.patch
@@ -1,7 +1,7 @@
-From b921f59343fe44de2ed7030ed8c6113c45e71e0e Mon Sep 17 00:00:00 2001
+From cad9d41b29adca7e1fe744fa8fbd4a2577f5dd35 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 26 Mar 2013 17:26:38 +0000
-Subject: [PATCH 005/185] Allow mac address to be set in smsc95xx
+Subject: [PATCH 005/320] Allow mac address to be set in smsc95xx
Signed-off-by: popcornmix <popcornmix@gmail.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch
index 87e9341f..5a871b22 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0006-Protect-__release_resource-against-resources-without.patch
@@ -1,7 +1,7 @@
-From 7466d3c89719bdbea2501caa4622fa1ef94ae093 Mon Sep 17 00:00:00 2001
+From efdbc271c329fa5241584e68d833372ddf145baa Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 13 Mar 2015 12:43:36 +0000
-Subject: [PATCH 006/185] Protect __release_resource against resources without
+Subject: [PATCH 006/320] Protect __release_resource against resources without
parents
Without this patch, removing a device tree overlay can crash here.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
index 7e44e21d..ffdd605f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0007-irq-bcm2836-Prevent-spurious-interrupts-and-trap-the.patch
@@ -1,7 +1,7 @@
-From 1353e12d39e3b150a54b525f2580c71c5bf0a519 Mon Sep 17 00:00:00 2001
+From 3dc1596faedc2f3f64cc1b7dc6ff9636c0a14f31 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 4 Dec 2015 17:41:50 +0000
-Subject: [PATCH 007/185] irq-bcm2836: Prevent spurious interrupts, and trap
+Subject: [PATCH 007/320] irq-bcm2836: Prevent spurious interrupts, and trap
them early
The old arch-specific IRQ macros included a dsb to ensure the
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch
index a02f8082..27c6c009 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0008-irq-bcm2836-Avoid-Invalid-trigger-warning.patch
@@ -1,7 +1,7 @@
-From 5d46e61e441e56a9ccc234c4a5785721e7e039bc Mon Sep 17 00:00:00 2001
+From fecf03071d2639b1f5b3eeab6f3517a31bd7698c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 9 Feb 2017 14:33:30 +0000
-Subject: [PATCH 008/185] irq-bcm2836: Avoid "Invalid trigger warning"
+Subject: [PATCH 008/320] irq-bcm2836: Avoid "Invalid trigger warning"
Initialise the level for each IRQ to avoid a warning from the
arm arch timer code.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch
index c1f09cbd..92d8fd3f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0009-irqchip-bcm2835-Add-FIQ-support.patch
@@ -1,7 +1,7 @@
-From 78ac0fdc2d2ee4e24445d9b9fbdf09704f216e2d Mon Sep 17 00:00:00 2001
+From cd83d987a002630809f3f30c57c19dc5d8eea605 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 12 Jun 2015 19:01:05 +0200
-Subject: [PATCH 009/185] irqchip: bcm2835: Add FIQ support
+Subject: [PATCH 009/320] irqchip: bcm2835: Add FIQ support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
index 738a1a21..93868109 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0010-irqchip-irq-bcm2835-Add-2836-FIQ-support.patch
@@ -1,7 +1,7 @@
-From cc1513db41eef987a80c6ce203795e7a06c04901 Mon Sep 17 00:00:00 2001
+From fcd717fe83198f3560a7a70e3e2f5597370c6daa Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 23 Oct 2015 16:26:55 +0200
-Subject: [PATCH 010/185] irqchip: irq-bcm2835: Add 2836 FIQ support
+Subject: [PATCH 010/320] irqchip: irq-bcm2835: Add 2836 FIQ support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch
index 1ee9942b..9d24a75e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0011-spi-spidev-Completely-disable-the-spidev-warning.patch
@@ -1,7 +1,7 @@
-From a6535479687721bf872e72903816cdf863c1210c Mon Sep 17 00:00:00 2001
+From a42bb4453a859abe6ad9b8240d5bab18f1a40f1c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Jul 2015 10:26:09 +0100
-Subject: [PATCH 011/185] spi: spidev: Completely disable the spidev warning
+Subject: [PATCH 011/320] spi: spidev: Completely disable the spidev warning
An alternative strategy would be to use "rpi,spidev" instead, but that
would require many Raspberry Pi Device Tree changes.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
index f2913ab3..74475ccf 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0012-dmaengine-bcm2835-Load-driver-early-and-support-lega.patch
@@ -1,7 +1,7 @@
-From af840f0afa9e4f346b99308089320ca26522ccbf Mon Sep 17 00:00:00 2001
+From bbc84685ee89c71062ce9857338951331ddcb8fd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Sat, 3 Oct 2015 22:22:55 +0200
-Subject: [PATCH 012/185] dmaengine: bcm2835: Load driver early and support
+Subject: [PATCH 012/320] dmaengine: bcm2835: Load driver early and support
legacy API
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0013-firmware-Updated-mailbox-header.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0013-firmware-Updated-mailbox-header.patch
index 2e5f3bc3..088030ca 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0013-firmware-Updated-mailbox-header.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0013-firmware-Updated-mailbox-header.patch
@@ -1,7 +1,7 @@
-From ea4ee7a65c67cd719758f7689483be1a4d69d465 Mon Sep 17 00:00:00 2001
+From 8afe62727736535c4c7fe23d916670b37f3e5ef1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 25 Jan 2016 17:25:12 +0000
-Subject: [PATCH 013/185] firmware: Updated mailbox header
+Subject: [PATCH 013/320] firmware: Updated mailbox header
---
include/soc/bcm2835/raspberrypi-firmware.h | 3 +++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch
index c57c9b9a..a0f936ae 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0014-rtc-Add-SPI-alias-for-pcf2123-driver.patch
@@ -1,7 +1,7 @@
-From a1ebab770b18264cf09482be2f1c2b3668f2ed14 Mon Sep 17 00:00:00 2001
+From 774c8e9e23e5e04cec9a32f7c61182dd99d202d9 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 15 Jun 2016 16:48:41 +0100
-Subject: [PATCH 014/185] rtc: Add SPI alias for pcf2123 driver
+Subject: [PATCH 014/320] rtc: Add SPI alias for pcf2123 driver
Without this alias, Device Tree won't cause the driver
to be loaded.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch
index cc08c1ef..0d65c130 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0015-watchdog-bcm2835-Support-setting-reboot-partition.patch
@@ -1,7 +1,7 @@
-From 4241ebedc3a20801881b18c2bfde84eed4a29816 Mon Sep 17 00:00:00 2001
+From a8bb09a9d8d19c884c85ca76bcfa71689cb9d683 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 7 Oct 2016 16:50:59 +0200
-Subject: [PATCH 015/185] watchdog: bcm2835: Support setting reboot partition
+Subject: [PATCH 015/320] watchdog: bcm2835: Support setting reboot partition
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
index 35ffb0c3..91f2b643 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0016-reboot-Use-power-off-rather-than-busy-spinning-when-.patch
@@ -1,7 +1,7 @@
-From c8ee63c1845d22de42dc3b927b7d41ce9ec16bf3 Mon Sep 17 00:00:00 2001
+From 1d735a80f23819db70b2ae900c3063b153a24899 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 5 Apr 2016 19:40:12 +0100
-Subject: [PATCH 016/185] reboot: Use power off rather than busy spinning when
+Subject: [PATCH 016/320] reboot: Use power off rather than busy spinning when
halt is requested
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch
index 0d496daa..b0c114db 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0017-bcm-Make-RASPBERRYPI_POWER-depend-on-PM.patch
@@ -1,7 +1,7 @@
-From 71b3bb1e6ac03e8753d9485a34dbc27b510cd522 Mon Sep 17 00:00:00 2001
+From 6601c4a52a409af545ff7e63e74e9199223ed8d0 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 9 Nov 2016 13:02:52 +0000
-Subject: [PATCH 017/185] bcm: Make RASPBERRYPI_POWER depend on PM
+Subject: [PATCH 017/320] bcm: Make RASPBERRYPI_POWER depend on PM
---
drivers/soc/bcm/Kconfig | 1 +
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch
index 3260b933..ea3d5b86 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0018-Register-the-clocks-early-during-the-boot-process-so.patch
@@ -1,7 +1,7 @@
-From f5909494ef9aa73329fbe960ec518bfb5b146153 Mon Sep 17 00:00:00 2001
+From ac7943d0184817286176e139b5469baafc0df421 Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Fri, 2 Sep 2016 16:45:27 +0100
-Subject: [PATCH 018/185] Register the clocks early during the boot process, so
+Subject: [PATCH 018/320] Register the clocks early during the boot process, so
that special/critical clocks can get enabled early on in the boot process
avoiding the risk of disabling a clock, pll_divider or pll when a claiming
driver fails to install propperly - maybe it needs to defer.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
index 3516da67..79ddb120 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0019-bcm2835-rng-Avoid-initialising-if-already-enabled.patch
@@ -1,7 +1,7 @@
-From 268a0ead9185868127dfcd3f78ead2689df9a25c Mon Sep 17 00:00:00 2001
+From c2eb5f342e31b88ff4e86b10795c201521410ccd Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 6 Dec 2016 17:05:39 +0000
-Subject: [PATCH 019/185] bcm2835-rng: Avoid initialising if already enabled
+Subject: [PATCH 019/320] bcm2835-rng: Avoid initialising if already enabled
Avoids the 0x40000 cycles of warmup again if firmware has already used it
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
index e03fde27..384a5638 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0020-clk-bcm2835-Mark-used-PLLs-and-dividers-CRITICAL.patch
@@ -1,7 +1,7 @@
-From 7d39a1b01f4e8f537e2f689f1857f6eac06ca02c Mon Sep 17 00:00:00 2001
+From 4bd374cf121d27e1fa006e128bf241b0e151af1f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Feb 2017 17:20:08 +0000
-Subject: [PATCH 020/185] clk-bcm2835: Mark used PLLs and dividers CRITICAL
+Subject: [PATCH 020/320] clk-bcm2835: Mark used PLLs and dividers CRITICAL
The VPU configures and relies on several PLLs and dividers. Mark all
enabled dividers and their PLLs as CRITICAL to prevent the kernel from
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch
index 05b4141a..7bd2d92d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0021-clk-bcm2835-Add-claim-clocks-property.patch
@@ -1,7 +1,7 @@
-From 8b9364ead333f8b8fc35b3c66e1f899a3c4b65ba Mon Sep 17 00:00:00 2001
+From 1afe961c0df8bf79611c529073964a25d3bbca27 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 13 Feb 2017 17:20:08 +0000
-Subject: [PATCH 021/185] clk-bcm2835: Add claim-clocks property
+Subject: [PATCH 021/320] clk-bcm2835: Add claim-clocks property
The claim-clocks property can be used to prevent PLLs and dividers
from being marked as critical. It contains a vector of clock IDs,
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
index c5b43afa..4c154693 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0022-clk-bcm2835-Read-max-core-clock-from-firmware.patch
@@ -1,7 +1,7 @@
-From 3dd843da5b45bbdf43a8a86da8ed31db29645477 Mon Sep 17 00:00:00 2001
+From c0ade0f792abf909890fb26885a7b1ccf1a511e8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 6 Mar 2017 09:06:18 +0000
-Subject: [PATCH 022/185] clk-bcm2835: Read max core clock from firmware
+Subject: [PATCH 022/320] clk-bcm2835: Read max core clock from firmware
The VPU is responsible for managing the core clock, usually under
direction from the bcm2835-cpufreq driver but not via the clk-bcm2835
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
index b473965c..75541d38 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0023-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch
@@ -1,7 +1,7 @@
-From cf2afee6b347ad5d4c72bdaa0570493d9cd1286f Mon Sep 17 00:00:00 2001
+From 304f131b4615aa502677bc29a1517679532567f5 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 9 May 2016 17:28:18 -0700
-Subject: [PATCH 023/185] clk: bcm2835: Mark GPIO clocks enabled at boot as
+Subject: [PATCH 023/320] clk: bcm2835: Mark GPIO clocks enabled at boot as
critical.
These divide off of PLLD_PER and are used for the ethernet and wifi
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch
index c3ad8c37..97f86355 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0024-sound-Demote-deferral-errors-to-INFO-level.patch
@@ -1,7 +1,7 @@
-From dd2e8b442bdfff44dc7ca99a6740af75a5824295 Mon Sep 17 00:00:00 2001
+From f45d446a72a75cd106d5a77b359548b9c4c9f592 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 9 Feb 2017 14:36:44 +0000
-Subject: [PATCH 024/185] sound: Demote deferral errors to INFO level
+Subject: [PATCH 024/320] sound: Demote deferral errors to INFO level
At present there is no mechanism to specify driver load order,
which can lead to deferrals and repeated retries until successful.
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
-index 46e3ab0fced4..bba28797782e 100644
+index fe99b02bbf17..501acde817c3 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -901,7 +901,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card,
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0025-Update-vfpmodule.c.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0025-Update-vfpmodule.c.patch
index 2e9080ea..95772b06 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0025-Update-vfpmodule.c.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0025-Update-vfpmodule.c.patch
@@ -1,7 +1,7 @@
-From b0d1cbb7b639cc83a3c4952368f523b76ba49cf1 Mon Sep 17 00:00:00 2001
+From eb589719fbf1fb4720164d8b2dc3b04086c6a530 Mon Sep 17 00:00:00 2001
From: Claggy3 <stephen.maclagan@hotmail.com>
Date: Sat, 11 Feb 2017 14:00:30 +0000
-Subject: [PATCH 025/185] Update vfpmodule.c
+Subject: [PATCH 025/320] Update vfpmodule.c
Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m.
This patch fixes a problem with VFP state save and restore related
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch
index df86dacd..d274e9fd 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0026-i2c-bcm2835-Add-debug-support.patch
@@ -1,7 +1,7 @@
-From 24dd416eb07dc906e42350da69c43beb5bd3a991 Mon Sep 17 00:00:00 2001
+From aa2ca139ed6605584191c52c196e727e8419bdc6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Tue, 1 Nov 2016 15:15:41 +0100
-Subject: [PATCH 026/185] i2c: bcm2835: Add debug support
+Subject: [PATCH 026/320] i2c: bcm2835: Add debug support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch
index f038d119..775da611 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0027-mm-Remove-the-PFN-busy-warning.patch
@@ -1,7 +1,7 @@
-From 015cd01a5261ab103aa7d397efdfde07afe46671 Mon Sep 17 00:00:00 2001
+From 219fbdf7e481a70b28676ee2ed9488b1a7d12e5f Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 18 Dec 2014 16:07:15 -0800
-Subject: [PATCH 027/185] mm: Remove the PFN busy warning
+Subject: [PATCH 027/320] mm: Remove the PFN busy warning
See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is
expected sometimes when using CMA. However, that commit still spams
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch
index f5302b3f..f72dc3dd 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0028-ASoC-Add-prompt-for-ICS43432-codec.patch
@@ -1,7 +1,7 @@
-From a2382df07a3c4199b67b99c10d83e2ff591c6dfc Mon Sep 17 00:00:00 2001
+From 0aee20607dc0c2219f1f79fd9a41b85cb5b0fb87 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 23 Mar 2017 10:06:56 +0000
-Subject: [PATCH 028/185] ASoC: Add prompt for ICS43432 codec
+Subject: [PATCH 028/320] ASoC: Add prompt for ICS43432 codec
Without a prompt string, a config setting can't be included in a
defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch
index edd1580e..955d3a89 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0029-irqchip-irq-bcm2836-Remove-regmap-and-syscon-use.patch
@@ -1,7 +1,7 @@
-From ae4aaa786229ca16a621afc75f34633849ac1bab Mon Sep 17 00:00:00 2001
+From 2d6a02afb6d780d41f22ac2af20a42d9b32763fa Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Jan 2018 16:52:45 +0000
-Subject: [PATCH 029/185] irqchip: irq-bcm2836: Remove regmap and syscon use
+Subject: [PATCH 029/320] irqchip: irq-bcm2836: Remove regmap and syscon use
The syscon node defines a register range that duplicates that used by
the local_intc node on bcm2836/7. Since irq-bcm2835 and irq-bcm2836 are
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch
index ff997479..a451b41b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0030-lan78xx-Enable-LEDs-and-auto-negotiation.patch
@@ -1,7 +1,7 @@
-From 91a6f0a3a14cfccb9ae701cfa5f5b433d43db773 Mon Sep 17 00:00:00 2001
+From 422f3d3fc7490cac3da6874befab00bd2468292d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 17 Oct 2017 15:04:29 +0100
-Subject: [PATCH 030/185] lan78xx: Enable LEDs and auto-negotiation
+Subject: [PATCH 030/320] lan78xx: Enable LEDs and auto-negotiation
For applications of the LAN78xx that don't have valid programmed
EEPROMs or OTPs, enabling both LEDs and auto-negotiation by default
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
index 1f66dfca..7fe0dec4 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0031-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch
@@ -1,7 +1,7 @@
-From 1541723da1e385380dd9e81f89625c3e9aecc30b Mon Sep 17 00:00:00 2001
+From cafe9f0debd139e1c6027141f2216ae4653f2e74 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 23 Feb 2016 17:26:48 +0000
-Subject: [PATCH 031/185] amba_pl011: Don't use DT aliases for numbering
+Subject: [PATCH 031/320] amba_pl011: Don't use DT aliases for numbering
The pl011 driver looks for DT aliases of the form "serial<n>",
and if found uses <n> as the device ID. This can cause
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch
index c1006958..25d425af 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0032-amba_pl011-Round-input-clock-up.patch
@@ -1,7 +1,7 @@
-From dc03bdbd5c13c2cacd9b27ac08dadff85f127d58 Mon Sep 17 00:00:00 2001
+From d63859d13e8a3b425a32b867976c7e282438211e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 1 Mar 2017 16:07:39 +0000
-Subject: [PATCH 032/185] amba_pl011: Round input clock up
+Subject: [PATCH 032/320] amba_pl011: Round input clock up
The UART clock is initialised to be as close to the requested
frequency as possible without exceeding it. Now that there is a
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
index 5f265536..e9a8e871 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0033-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch
@@ -1,7 +1,7 @@
-From 737c18fba6ad665ea1a57e5f8980d1b97dc3c9b6 Mon Sep 17 00:00:00 2001
+From a2f8dbed9565be567966a08b56d525bef3fc9a5f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 Sep 2017 10:32:19 +0100
-Subject: [PATCH 033/185] amba_pl011: Insert mb() for correct FIFO handling
+Subject: [PATCH 033/320] amba_pl011: Insert mb() for correct FIFO handling
The pl011 register accessor functions use the _relaxed versions of the
standard readl() and writel() functions, meaning that there are no
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch
index f1b9fb4a..cb200e2e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0034-amba_pl011-Add-cts-event-workaround-DT-property.patch
@@ -1,7 +1,7 @@
-From 9a5e6c60bb33afb7b5ef0984ce0fcad9e8a500e4 Mon Sep 17 00:00:00 2001
+From 11391f3283cc82c8f54d7fdbf1f297f91924bfaf Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 29 Sep 2017 10:32:19 +0100
-Subject: [PATCH 034/185] amba_pl011: Add cts-event-workaround DT property
+Subject: [PATCH 034/320] amba_pl011: Add cts-event-workaround DT property
The BCM2835 PL011 implementation seems to have a bug that can lead to a
transmission lockup if CTS changes frequently. A workaround was added to
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
index 61017578..40544bbb 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0035-pinctrl-bcm2835-Set-base-to-0-give-expected-gpio-num.patch
@@ -1,7 +1,7 @@
-From 6b63db22d3e56d6656f6a2bdcfde39cede7f5a0e Mon Sep 17 00:00:00 2001
+From 422e0d09c083846fc8ace89a855f5f4971b2f83a Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Thu, 10 Jul 2014 13:59:47 +0200
-Subject: [PATCH 035/185] pinctrl-bcm2835: Set base to 0 give expected gpio
+Subject: [PATCH 035/320] pinctrl-bcm2835: Set base to 0 give expected gpio
numbering
Signed-off-by: Noralf Tronnes <notro@tronnes.org>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch
index 7a93773b..80bd2ca3 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0036-Main-bcm2708-bcm2709-linux-port.patch
@@ -1,7 +1,7 @@
-From 1fd65d6d666771d749db81ef0fde8792723ca9bb Mon Sep 17 00:00:00 2001
+From 20d8a54e7fec32d01a4597689307e2f963931025 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 12 May 2013 12:24:19 +0100
-Subject: [PATCH 036/185] Main bcm2708/bcm2709 linux port
+Subject: [PATCH 036/320] Main bcm2708/bcm2709 linux port
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0037-Add-dwc_otg-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0037-Add-dwc_otg-driver.patch
index a33ae11e..24faa7ca 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0037-Add-dwc_otg-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0037-Add-dwc_otg-driver.patch
@@ -1,7 +1,7 @@
-From 45df369ca0eaad287b4cebc16c2c91bd63321490 Mon Sep 17 00:00:00 2001
+From d8e0e6a3bee91a67b448368f06ba11a3575c88e6 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 1 May 2013 19:46:17 +0100
-Subject: [PATCH 037/185] Add dwc_otg driver
+Subject: [PATCH 037/320] Add dwc_otg driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -911,7 +911,7 @@ index 1ac9c1e5f773..62070ef0afb4 100644
return i;
}
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
-index 8d4631c81b9f..7a1b4bd94c57 100644
+index 310eef451db8..925cedf870f1 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
@@ -5286,7 +5286,7 @@ static void port_event(struct usb_hub *hub, int port1)
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0038-bcm2708-framebuffer-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0038-bcm2708-framebuffer-driver.patch
index 21e5ba24..13a2a112 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0038-bcm2708-framebuffer-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0038-bcm2708-framebuffer-driver.patch
@@ -1,7 +1,7 @@
-From cf8e767d5b94663f1344af58ce296a571721afec Mon Sep 17 00:00:00 2001
+From df3797ff72e83968df17e45c51248a52c568d5df Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 17:06:34 +0100
-Subject: [PATCH 038/185] bcm2708 framebuffer driver
+Subject: [PATCH 038/320] bcm2708 framebuffer driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch
index 6ab155b6..2b5df106 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0039-fbdev-add-FBIOCOPYAREA-ioctl.patch
@@ -1,7 +1,7 @@
-From 207b57f326e8735741b106edf3b99bda7c214f26 Mon Sep 17 00:00:00 2001
+From 6c67b62eb3bba7a273bc21623e1ac4c19c65552c Mon Sep 17 00:00:00 2001
From: Siarhei Siamashka <siarhei.siamashka@gmail.com>
Date: Mon, 17 Jun 2013 13:32:11 +0300
-Subject: [PATCH 039/185] fbdev: add FBIOCOPYAREA ioctl
+Subject: [PATCH 039/320] fbdev: add FBIOCOPYAREA ioctl
Based on the patch authored by Ali Gholami Rudi at
https://lkml.org/lkml/2009/7/13/153
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch
index 8f8e8171..70c7fd88 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0040-Speed-up-console-framebuffer-imageblit-function.patch
@@ -1,7 +1,7 @@
-From 84d656b287704a070aea3bda50dd9ae8a55d6c65 Mon Sep 17 00:00:00 2001
+From dfd09566d98a2f60d94805d92dccd2dee5ea5905 Mon Sep 17 00:00:00 2001
From: Harm Hanemaaijer <fgenfb@yahoo.com>
Date: Thu, 20 Jun 2013 20:21:39 +0200
-Subject: [PATCH 040/185] Speed up console framebuffer imageblit function
+Subject: [PATCH 040/320] Speed up console framebuffer imageblit function
Especially on platforms with a slower CPU but a relatively high
framebuffer fill bandwidth, like current ARM devices, the existing
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch
index 0900ae68..40f33b8d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0041-dmaengine-Add-support-for-BCM2708.patch
@@ -1,7 +1,7 @@
-From 0bdb97ff5a288e60fec6fffdb7cee093b79e191c Mon Sep 17 00:00:00 2001
+From 5fb09ebbb55e671b9dcb837cac1e593efc3fd9cb Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Fri, 22 Nov 2013 14:22:53 +0100
-Subject: [PATCH 041/185] dmaengine: Add support for BCM2708
+Subject: [PATCH 041/320] dmaengine: Add support for BCM2708
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch
index 02c5e20d..babd77bb 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0042-MMC-added-alternative-MMC-driver.patch
@@ -1,7 +1,7 @@
-From 5b1e4082aac1560ac646118e1aef8f1d3a5855e1 Mon Sep 17 00:00:00 2001
+From 96d1bfc78b6ee4bc038877698c7ced6834edb5d2 Mon Sep 17 00:00:00 2001
From: gellert <gellert@raspberrypi.org>
Date: Fri, 15 Aug 2014 16:35:06 +0100
-Subject: [PATCH 042/185] MMC: added alternative MMC driver
+Subject: [PATCH 042/320] MMC: added alternative MMC driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
@@ -319,7 +319,7 @@ index dd2f73af8f2c..b11a56e76a4f 100644
};
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 28fcd8f580a1..4f717a77ee3a 100644
+index 94032939cbbd..d5c181e7da40 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -4,6 +4,35 @@
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
index 7f952fc9..c59b0267 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0043-Adding-bcm2835-sdhost-driver-and-an-overlay-to-enabl.patch
@@ -1,7 +1,7 @@
-From 4c9e56a8c327efd2c5a5208a5d91eb5937849b4e Mon Sep 17 00:00:00 2001
+From 67fbc232a1370716268809d11dd834960d9b3d70 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 25 Mar 2015 17:49:47 +0000
-Subject: [PATCH 043/185] Adding bcm2835-sdhost driver, and an overlay to
+Subject: [PATCH 043/320] Adding bcm2835-sdhost driver, and an overlay to
enable it
BCM2835 has two SD card interfaces. This driver uses the other one.
@@ -236,7 +236,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
3 files changed, 2225 insertions(+)
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
-index 4f717a77ee3a..41bab83ef37a 100644
+index d5c181e7da40..8713e2c5b221 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -33,6 +33,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch
index 7c9c9fff..23c83493 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0044-vc_mem-Add-vc_mem-driver-for-querying-firmware-memor.patch
@@ -1,7 +1,7 @@
-From a4cff129b527877a86174bd3cbec6486e46dc4c9 Mon Sep 17 00:00:00 2001
+From 7333b2211e32e833ed0a0eb2f2b0bd69913b2b54 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 28 Oct 2016 15:36:43 +0100
-Subject: [PATCH 044/185] vc_mem: Add vc_mem driver for querying firmware
+Subject: [PATCH 044/320] vc_mem: Add vc_mem driver for querying firmware
memory addresses
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
index 0caa949c..9490bd25 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0045-vcsm-VideoCore-shared-memory-service-for-BCM2835.patch
@@ -1,7 +1,7 @@
-From a01d7eb32adcb0c9473fac5f72214c7c7182e0ba Mon Sep 17 00:00:00 2001
+From 4de4b929d29cd8c88d46839d4db7ccc6bcf49727 Mon Sep 17 00:00:00 2001
From: Tim Gover <tgover@broadcom.com>
Date: Tue, 22 Jul 2014 15:41:04 +0100
-Subject: [PATCH 045/185] vcsm: VideoCore shared memory service for BCM2835
+Subject: [PATCH 045/320] vcsm: VideoCore shared memory service for BCM2835
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
index f45fa489..cd2a9477 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0046-Add-dev-gpiomem-device-for-rootless-user-GPIO-access.patch
@@ -1,7 +1,7 @@
-From 116ad4dc64ff88aad96f136700320f13fdf1b763 Mon Sep 17 00:00:00 2001
+From e19142be993d9d8c88f6ea0ea40ec9e11fb58663 Mon Sep 17 00:00:00 2001
From: Luke Wren <luke@raspberrypi.org>
Date: Fri, 21 Aug 2015 23:14:48 +0100
-Subject: [PATCH 046/185] Add /dev/gpiomem device for rootless user GPIO access
+Subject: [PATCH 046/320] Add /dev/gpiomem device for rootless user GPIO access
Signed-off-by: Luke Wren <luke@raspberrypi.org>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0047-Add-SMI-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0047-Add-SMI-driver.patch
index 500a3962..75c0b7db 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0047-Add-SMI-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0047-Add-SMI-driver.patch
@@ -1,7 +1,7 @@
-From db16a8620880253c533a2a6bad168e8a3a9dda4b Mon Sep 17 00:00:00 2001
+From 49bd7c2cc6b2d1289be48aaadde4beae7ed99146 Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:14:45 +0100
-Subject: [PATCH 047/185] Add SMI driver
+Subject: [PATCH 047/320] Add SMI driver
Signed-off-by: Luke Wren <wren6991@gmail.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch
index 87abd1a5..5bf4d252 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0048-MISC-bcm2835-smi-use-clock-manager-and-fix-reload-is.patch
@@ -1,7 +1,7 @@
-From 633e0ecdcb4f978feb325137585338e375098c5f Mon Sep 17 00:00:00 2001
+From d48120ff5ee07e7b23e9c1470d3b89ec75ac06cc Mon Sep 17 00:00:00 2001
From: Martin Sperl <kernel@martin.sperl.org>
Date: Tue, 26 Apr 2016 14:59:21 +0000
-Subject: [PATCH 048/185] MISC: bcm2835: smi: use clock manager and fix reload
+Subject: [PATCH 048/320] MISC: bcm2835: smi: use clock manager and fix reload
issues
Use clock manager instead of self-made clockmanager.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0049-Add-SMI-NAND-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0049-Add-SMI-NAND-driver.patch
index 4e60f252..67b60204 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0049-Add-SMI-NAND-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0049-Add-SMI-NAND-driver.patch
@@ -1,7 +1,7 @@
-From 5a2ff1ea7a28ba94bc13af9579e8c08e7f2e1a73 Mon Sep 17 00:00:00 2001
+From d05f549eca5189d287d1b0cb07e4a845d8aed614 Mon Sep 17 00:00:00 2001
From: Luke Wren <wren6991@gmail.com>
Date: Sat, 5 Sep 2015 01:16:10 +0100
-Subject: [PATCH 049/185] Add SMI NAND driver
+Subject: [PATCH 049/320] Add SMI NAND driver
Signed-off-by: Luke Wren <wren6991@gmail.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch
index 3367d196..178e2be2 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0050-Revert-Add-SMI-NAND-driver.patch
@@ -1,7 +1,7 @@
-From 6439f843af8762781dbeca2f9b60cc7294fd87e2 Mon Sep 17 00:00:00 2001
+From 8f06686122055f6485a0fbff6792dfbf0b0218f1 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 12 Nov 2018 15:57:17 +0000
-Subject: [PATCH 050/185] Revert "Add SMI NAND driver"
+Subject: [PATCH 050/320] Revert "Add SMI NAND driver"
This reverts commit b1521a1f77c32e0754edf41064f8eac574380634.
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0051-Add-cpufreq-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0051-Add-cpufreq-driver.patch
index 51951d2a..0393287c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0051-Add-cpufreq-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0051-Add-cpufreq-driver.patch
@@ -1,7 +1,7 @@
-From b896dc3877c4f66ddab3b675e9f0db9fd2017ad4 Mon Sep 17 00:00:00 2001
+From 1bdf6ef3291040f7714999d2f90b1f876a9a3406 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:49:20 +0100
-Subject: [PATCH 051/185] Add cpufreq driver
+Subject: [PATCH 051/320] Add cpufreq driver
Signed-off-by: popcornmix <popcornmix@gmail.com>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch
index b2df7a52..87c811b8 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0052-Add-Chris-Boot-s-i2c-driver.patch
@@ -1,7 +1,7 @@
-From 67f6e397edb9673b610685b059288492c5d08098 Mon Sep 17 00:00:00 2001
+From 1a8932a9a3ccb46b78144bd6638eff3ad3f40c71 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 17 Jun 2015 15:44:08 +0100
-Subject: [PATCH 052/185] Add Chris Boot's i2c driver
+Subject: [PATCH 052/320] Add Chris Boot's i2c driver
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0053-char-broadcom-Add-vcio-module.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0053-char-broadcom-Add-vcio-module.patch
index 55532516..546c9242 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0053-char-broadcom-Add-vcio-module.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0053-char-broadcom-Add-vcio-module.patch
@@ -1,7 +1,7 @@
-From d4f847d51019a6b3271b07b5d0d57bcc4b79a395 Mon Sep 17 00:00:00 2001
+From f8ba4c4009c9d2b3fa0b08057d1ad5f1f583c764 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:27:06 +0200
-Subject: [PATCH 053/185] char: broadcom: Add vcio module
+Subject: [PATCH 053/320] char: broadcom: Add vcio module
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch
index 4484cc10..7aead25a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0054-firmware-bcm2835-Support-ARCH_BCM270x.patch
@@ -1,7 +1,7 @@
-From bb129fe5a9bcf1c44c7c26de388e753c0bcafbd2 Mon Sep 17 00:00:00 2001
+From d66a293a8fe14d011f02a9ab27727a0544293390 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Fri, 26 Jun 2015 14:25:01 +0200
-Subject: [PATCH 054/185] firmware: bcm2835: Support ARCH_BCM270x
+Subject: [PATCH 054/320] firmware: bcm2835: Support ARCH_BCM270x
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
index 6d24cdaa..120a2786 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0055-scripts-Add-mkknlimg-and-knlinfo-scripts-from-tools-.patch
@@ -1,7 +1,7 @@
-From 5aae821c6116c0184c5a865235a1e2fb2d4359fe Mon Sep 17 00:00:00 2001
+From d5575d0c2d56c5801eaeb57bf4d8d052ad75719f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 May 2015 09:00:42 +0100
-Subject: [PATCH 055/185] scripts: Add mkknlimg and knlinfo scripts from tools
+Subject: [PATCH 055/320] scripts: Add mkknlimg and knlinfo scripts from tools
repo
The Raspberry Pi firmware looks for a trailer on the kernel image to
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch
index c13a31ab..f2d8a28b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0056-BCM2708-Add-core-Device-Tree-support.patch
@@ -1,7 +1,7 @@
-From a014bc9c47a0bef05dac3d1a44a59182da525e2b Mon Sep 17 00:00:00 2001
+From 7666f0fa43d31854affbd8555a5c1a32ff87ceaa Mon Sep 17 00:00:00 2001
From: notro <notro@tronnes.org>
Date: Wed, 9 Jul 2014 14:46:08 +0200
-Subject: [PATCH 056/185] BCM2708: Add core Device Tree support
+Subject: [PATCH 056/320] BCM2708: Add core Device Tree support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
index 214cffc9..54c557dd 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0057-BCM270x_DT-Add-pwr_led-and-the-required-input-trigge.patch
@@ -1,7 +1,7 @@
-From 4def728a1f295d70457d1764d9030767435d1234 Mon Sep 17 00:00:00 2001
+From 6a0150bf6e4d253d3e1c52094b843ab3f455186a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 6 Feb 2015 13:50:57 +0000
-Subject: [PATCH 057/185] BCM270x_DT: Add pwr_led, and the required "input"
+Subject: [PATCH 057/320] BCM270x_DT: Add pwr_led, and the required "input"
trigger
The "input" trigger makes the associated GPIO an input. This is to support
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch
index 07899b70..11061852 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0058-Added-Device-IDs-for-August-DVB-T-205.patch
@@ -1,7 +1,7 @@
-From 0f3e0735036b9b7c09bf28b4cb6a774eccbf69e7 Mon Sep 17 00:00:00 2001
+From 0bff010fbda85afd937ba12f99fb1a6da8e1bd36 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Wed, 3 Jul 2013 00:54:08 +0100
-Subject: [PATCH 058/185] Added Device IDs for August DVB-T 205
+Subject: [PATCH 058/320] Added Device IDs for August DVB-T 205
---
drivers/media/usb/dvb-usb-v2/rtl28xxu.c | 4 ++++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch
index 9e7003b4..9ccc2cdc 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0059-Improve-__copy_to_user-and-__copy_from_user-performa.patch
@@ -1,7 +1,7 @@
-From e6a188a11ad980b419c80c2e04f77c49ef0c6307 Mon Sep 17 00:00:00 2001
+From 046bbd34b433adfabff2b633738cf7fc07703978 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 28 Nov 2016 16:50:04 +0000
-Subject: [PATCH 059/185] Improve __copy_to_user and __copy_from_user
+Subject: [PATCH 059/320] Improve __copy_to_user and __copy_from_user
performance
Provide a __copy_from_user that uses memcpy. On BCM2708, use
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
index 0b13acae..06a92713 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0060-gpio-poweroff-Allow-it-to-work-on-Raspberry-Pi.patch
@@ -1,7 +1,7 @@
-From 2a0830bb15f3d18a14339491b5317774226defb5 Mon Sep 17 00:00:00 2001
+From b344a720a4bf0c1226ad4322aee71a16ffbe499d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 25 Jun 2015 12:16:11 +0100
-Subject: [PATCH 060/185] gpio-poweroff: Allow it to work on Raspberry Pi
+Subject: [PATCH 060/320] gpio-poweroff: Allow it to work on Raspberry Pi
The Raspberry Pi firmware manages the power-down and reboot
process. To do this it installs a pm_power_off handler, causing
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
index c61a1482..27594d00 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0061-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch
@@ -1,7 +1,7 @@
-From 7a906ad062465128283728fe994a9a70e6841c11 Mon Sep 17 00:00:00 2001
+From ae6cbd140fcc545c257f84eecd5ba8f6e0cffc00 Mon Sep 17 00:00:00 2001
From: Phil Elwell <pelwell@users.noreply.github.com>
Date: Tue, 14 Jul 2015 14:32:47 +0100
-Subject: [PATCH 061/185] mfd: Add Raspberry Pi Sense HAT core driver
+Subject: [PATCH 061/320] mfd: Add Raspberry Pi Sense HAT core driver
---
drivers/input/joystick/Kconfig | 8 +
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch
index 55ea2cc3..e92346a1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0062-ASoC-Add-support-for-Rpi-DAC.patch
@@ -1,7 +1,7 @@
-From 4ce269867e6cd6426fa4bd1dfeb1bb33b6979214 Mon Sep 17 00:00:00 2001
+From a353aaf1b6a11b5aa5647c9f451e322fde1beb1b Mon Sep 17 00:00:00 2001
From: Florian Meier <florian.meier@koalo.de>
Date: Mon, 25 Jan 2016 15:48:59 +0000
-Subject: [PATCH 062/185] ASoC: Add support for Rpi-DAC
+Subject: [PATCH 062/320] ASoC: Add support for Rpi-DAC
---
sound/soc/codecs/Kconfig | 5 +++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
index 5bc4bd63..cd21868a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0063-Add-IQaudIO-Sound-Card-support-for-Raspberry-Pi.patch
@@ -1,7 +1,7 @@
-From e782af11b13a690ebf79f3b194371749907e690e Mon Sep 17 00:00:00 2001
+From 4f85d6ecb1531d0eadcf231265df1b7580ade016 Mon Sep 17 00:00:00 2001
From: Gordon Garrity <gordon@iqaudio.com>
Date: Sat, 8 Mar 2014 16:56:57 +0000
-Subject: [PATCH 063/185] Add IQaudIO Sound Card support for Raspberry Pi
+Subject: [PATCH 063/320] Add IQaudIO Sound Card support for Raspberry Pi
Set a limit of 0dB on Digital Volume Control
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch
index 1688b6bc..893395e5 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0064-Added-support-for-HiFiBerry-DAC.patch
@@ -1,7 +1,7 @@
-From 506fb49a9844a5c0eb9acc36dc0204685f7d55d0 Mon Sep 17 00:00:00 2001
+From 90aa2d40d5285b8df190557810d6aa17a3b70b18 Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 10:06:56 +0200
-Subject: [PATCH 064/185] Added support for HiFiBerry DAC+
+Subject: [PATCH 064/320] Added support for HiFiBerry DAC+
The driver is based on the HiFiBerry DAC driver. However HiFiBerry DAC+ uses
a different codec chip (PCM5122), therefore a new driver is necessary.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
index 8f0629f2..85d4b0b0 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0065-Added-driver-for-HiFiBerry-Amp-amplifier-add-on-boar.patch
@@ -1,7 +1,7 @@
-From 400307fd073ea7f0c64609e2e55f5449d39f5755 Mon Sep 17 00:00:00 2001
+From 0b28c1e850fed3b24d937c673e51860145c4ddfe Mon Sep 17 00:00:00 2001
From: Daniel Matuschek <info@crazy-audio.com>
Date: Mon, 4 Aug 2014 11:09:58 +0200
-Subject: [PATCH 065/185] Added driver for HiFiBerry Amp amplifier add-on board
+Subject: [PATCH 065/320] Added driver for HiFiBerry Amp amplifier add-on board
The driver contains a low-level hardware driver for the TAS5713 and the
drivers for the Raspberry Pi I2S subsystem.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0066-Add-driver-for-rpi-proto.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0066-Add-driver-for-rpi-proto.patch
index 9663d70e..8782eebc 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0066-Add-driver-for-rpi-proto.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0066-Add-driver-for-rpi-proto.patch
@@ -1,7 +1,7 @@
-From d061858e7d74f9691d808ddd80fdb8ea60bf5a2b Mon Sep 17 00:00:00 2001
+From ea6b1896c975c21e7c082ddff8682d6c25cc687f Mon Sep 17 00:00:00 2001
From: Waldemar Brodkorb <wbrodkorb@conet.de>
Date: Wed, 25 Mar 2015 09:26:17 +0100
-Subject: [PATCH 066/185] Add driver for rpi-proto
+Subject: [PATCH 066/320] Add driver for rpi-proto
Forward port of 3.10.x driver from https://github.com/koalo
We are using a custom board and would like to use rpi 3.18.x
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch
index e44f86ce..f43d70f4 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0067-Add-Support-for-JustBoom-Audio-boards.patch
@@ -1,7 +1,7 @@
-From 85afb40caf4f60f7bdc9ecc6a39c7048f4ee70a9 Mon Sep 17 00:00:00 2001
+From 7cd3bb86ae1c4e2e07d537438a302cc790641db1 Mon Sep 17 00:00:00 2001
From: Aaron Shaw <shawaj@gmail.com>
Date: Thu, 7 Apr 2016 21:26:21 +0100
-Subject: [PATCH 067/185] Add Support for JustBoom Audio boards
+Subject: [PATCH 067/320] Add Support for JustBoom Audio boards
justboom-dac: Adjust for ALSA API change
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
index d983ea6d..811e3940 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0068-New-AudioInjector.net-Pi-soundcard-with-low-jitter-a.patch
@@ -1,7 +1,7 @@
-From bf0de1e414a0c8afde272efff763dc11a8e81380 Mon Sep 17 00:00:00 2001
+From 33e28b1f0266653b088c65818ff9879121fb4cb3 Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Mon, 16 May 2016 21:36:31 +1000
-Subject: [PATCH 068/185] New AudioInjector.net Pi soundcard with low jitter
+Subject: [PATCH 068/320] New AudioInjector.net Pi soundcard with low jitter
audio in and out.
Contains the sound/soc/bcm ALSA machine driver and necessary alterations to the Kconfig and Makefile.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
index d3fa456f..86821c27 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0069-New-driver-for-RRA-DigiDAC1-soundcard-using-WM8741-W.patch
@@ -1,7 +1,7 @@
-From f5833bb4c9417dec887a7557193aefa9a1da4117 Mon Sep 17 00:00:00 2001
+From d165fd1945f1c19055e58bc19bebdbfe1e1eac5e Mon Sep 17 00:00:00 2001
From: escalator2015 <jmtasende@gmail.com>
Date: Tue, 24 May 2016 16:20:09 +0100
-Subject: [PATCH 069/185] New driver for RRA DigiDAC1 soundcard using WM8741 +
+Subject: [PATCH 069/320] New driver for RRA DigiDAC1 soundcard using WM8741 +
WM8804
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
index ff4a2e25..29e581ea 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0070-Add-support-for-Dion-Audio-LOCO-DAC-AMP-HAT.patch
@@ -1,7 +1,7 @@
-From 41ff2d4edfe5f1c08bd70120b25866b06a64e1c0 Mon Sep 17 00:00:00 2001
+From b07c964511e2698c205429ab0603862eefee49f0 Mon Sep 17 00:00:00 2001
From: DigitalDreamtime <clive.messer@digitaldreamtime.co.uk>
Date: Sat, 2 Jul 2016 16:26:19 +0100
-Subject: [PATCH 070/185] Add support for Dion Audio LOCO DAC-AMP HAT
+Subject: [PATCH 070/320] Add support for Dion Audio LOCO DAC-AMP HAT
Using dedicated machine driver and pcm5102a codec driver.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch
index 19f7de82..2226e6cc 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0071-Allo-Piano-DAC-boards-Initial-2-channel-stereo-suppo.patch
@@ -1,7 +1,7 @@
-From ff108b4a37e77c6d26da1fa45a495a0767b22687 Mon Sep 17 00:00:00 2001
+From 7d96ecb9cb5f5d72f5fe0c0a26ab28f697e9e0ee Mon Sep 17 00:00:00 2001
From: Clive Messer <clive.m.messer@gmail.com>
Date: Mon, 19 Sep 2016 14:01:04 +0100
-Subject: [PATCH 071/185] Allo Piano DAC boards: Initial 2 channel (stereo)
+Subject: [PATCH 071/320] Allo Piano DAC boards: Initial 2 channel (stereo)
support (#1645)
Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards,
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch
index 988b1de9..5db9d73b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0072-Add-support-for-Allo-Piano-DAC-2.1-plus-add-on-board.patch
@@ -1,7 +1,7 @@
-From bc63b3b6bc2ec6435e59bd2e5c02bf6ce3e23ebe Mon Sep 17 00:00:00 2001
+From b3213385f7e4b41976681c790164361781549bbc Mon Sep 17 00:00:00 2001
From: Raashid Muhammed <raashidmuhammed@zilogic.com>
Date: Mon, 27 Mar 2017 12:35:00 +0530
-Subject: [PATCH 072/185] Add support for Allo Piano DAC 2.1 plus add-on board
+Subject: [PATCH 072/320] Add support for Allo Piano DAC 2.1 plus add-on board
for Raspberry Pi.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch
index 3f2e5d5f..4b175917 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0073-Add-support-for-Allo-Boss-DAC-add-on-board-for-Raspb.patch
@@ -1,7 +1,7 @@
-From 7ee8b536c69329e932f162f260f09d3ddbbaca6d Mon Sep 17 00:00:00 2001
+From 2a276ca40c135a0597d8f59377b36aafb2fca342 Mon Sep 17 00:00:00 2001
From: BabuSubashChandar <babuenir@gmail.com>
Date: Tue, 28 Mar 2017 20:04:42 +0530
-Subject: [PATCH 073/185] Add support for Allo Boss DAC add-on board for
+Subject: [PATCH 073/320] Add support for Allo Boss DAC add-on board for
Raspberry Pi. (#1924)
Signed-off-by: Baswaraj K <jaikumar@cem-solutions.net>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch
index a54f4752..f3c513f9 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0074-Support-for-Blokas-Labs-pisound-board.patch
@@ -1,7 +1,7 @@
-From 44915ac764e62f96cc56e542a828227d89c823e1 Mon Sep 17 00:00:00 2001
+From ac5454f3e633f7bb057c052e1a6539a34086d600 Mon Sep 17 00:00:00 2001
From: gtrainavicius <gtrainavicius@users.noreply.github.com>
Date: Sun, 23 Oct 2016 12:06:53 +0300
-Subject: [PATCH 074/185] Support for Blokas Labs pisound board
+Subject: [PATCH 074/320] Support for Blokas Labs pisound board
Pisound dynamic overlay (#1760)
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch
index 07f9f734..6a41dd93 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0075-ASoC-Add-driver-for-Cirrus-Logic-Audio-Card.patch
@@ -1,7 +1,7 @@
-From e151dd7106495b6723a5b5d825fb3748d14f18d3 Mon Sep 17 00:00:00 2001
+From c393de07e3d2859bffe0bfe19d8f86d806dcc824 Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 22 Jan 2017 12:49:37 +0100
-Subject: [PATCH 075/185] ASoC: Add driver for Cirrus Logic Audio Card
+Subject: [PATCH 075/320] ASoC: Add driver for Cirrus Logic Audio Card
Note: due to problems with deferred probing of regulators
the following softdep should be added to a modprobe.d file
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch
index f923329c..541b0c07 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0076-sound-Support-for-Dion-Audio-LOCO-V2-DAC-AMP-HAT.patch
@@ -1,7 +1,7 @@
-From 16de6dfef3dc724a3be95faa0b2a3b639ef3f987 Mon Sep 17 00:00:00 2001
+From 3b4318165cce0f19bd22d436e780e68bd48165ea Mon Sep 17 00:00:00 2001
From: Miquel <miquelblauw@hotmail.com>
Date: Fri, 24 Feb 2017 20:51:06 +0100
-Subject: [PATCH 076/185] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT
+Subject: [PATCH 076/320] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT
Signed-off-by: Miquel Blauw <info@dionaudio.nl>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch
index b510f04f..1177504f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0077-Add-support-for-Fe-Pi-audio-sound-card.-1867.patch
@@ -1,7 +1,7 @@
-From 1f5d11be2bff09542d8b4eca15343b3e357ee486 Mon Sep 17 00:00:00 2001
+From 29a0b3a644e59d04924781406ab2838435bd5f0c Mon Sep 17 00:00:00 2001
From: Fe-Pi <fe-pi@cox.net>
Date: Wed, 1 Mar 2017 04:42:43 -0700
-Subject: [PATCH 077/185] Add support for Fe-Pi audio sound card. (#1867)
+Subject: [PATCH 077/320] Add support for Fe-Pi audio sound card. (#1867)
Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec.
Mechanical specification of the board is the same the Raspberry Pi Zero.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch
index 68521b29..3c94a667 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0078-Add-support-for-the-AudioInjector.net-Octo-sound-car.patch
@@ -1,7 +1,7 @@
-From e13b632cdac7214c907ab7dc6514ea9ac093b521 Mon Sep 17 00:00:00 2001
+From a5707b5febdadfe6d9e64147a6d97467e0a7d85a Mon Sep 17 00:00:00 2001
From: Matt Flax <flatmax@flatmax.org>
Date: Wed, 8 Mar 2017 20:04:13 +1100
-Subject: [PATCH 078/185] Add support for the AudioInjector.net Octo sound card
+Subject: [PATCH 078/320] Add support for the AudioInjector.net Octo sound card
AudioInjector Octo: sample rates, regulators, reset
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch
index 97d8947d..0e5842e3 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0079-Driver-support-for-Google-voiceHAT-soundcard.patch
@@ -1,7 +1,7 @@
-From d3988cdd1fe418ed38227df4af48cd72e14b1073 Mon Sep 17 00:00:00 2001
+From c64ff77f3333ad1516cf94ce712269c75225379d Mon Sep 17 00:00:00 2001
From: Peter Malkin <petermalkin@google.com>
Date: Mon, 27 Mar 2017 16:38:21 -0700
-Subject: [PATCH 079/185] Driver support for Google voiceHAT soundcard.
+Subject: [PATCH 079/320] Driver support for Google voiceHAT soundcard.
ASoC: googlevoicehat-codec: Use correct device when grabbing GPIO
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch
index fae85c63..c64f294e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0080-Driver-and-overlay-for-Allo-Katana-DAC.patch
@@ -1,7 +1,7 @@
-From 1eebe1a9c25b86c9dd384c1a7357b9a6b9967f71 Mon Sep 17 00:00:00 2001
+From 8e9d54ff7d7e000c9625694cb1dc58d88f1a6fbe Mon Sep 17 00:00:00 2001
From: allocom <sparky-dev@allo.com>
Date: Thu, 19 Apr 2018 12:12:26 +0530
-Subject: [PATCH 080/185] Driver and overlay for Allo Katana DAC
+Subject: [PATCH 080/320] Driver and overlay for Allo Katana DAC
Allo Katana DAC: Updated default values
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch
index dadd94d9..48be5af1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0081-ASoC-Add-generic-RPI-driver-for-simple-soundcards.patch
@@ -1,7 +1,7 @@
-From caf598dda99e9b1863b5ce11bc705fb112b88656 Mon Sep 17 00:00:00 2001
+From dea609568fc62089b057f20a4fe71b2483880be2 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Wed, 27 Jun 2018 15:59:12 +0100
-Subject: [PATCH 081/185] ASoC: Add generic RPI driver for simple soundcards.
+Subject: [PATCH 081/320] ASoC: Add generic RPI driver for simple soundcards.
The RPI simple sound card driver provides a generic ALSA SOC card driver
supporting a variety of Pi HAT soundcards. The intention is to avoid
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch
index 341d1510..4fbbaad6 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0082-ASoC-Add-Kconfig-and-Makefile-for-sound-soc-bcm.patch
@@ -1,7 +1,7 @@
-From c057437391b0f3ee527d041633026bf8c4da790c Mon Sep 17 00:00:00 2001
+From e683ccc4774801198dd1726adcde4a30b8d42d77 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Sep 2018 17:00:36 +0100
-Subject: [PATCH 082/185] ASoC: Add Kconfig and Makefile for sound/soc/bcm
+Subject: [PATCH 082/320] ASoC: Add Kconfig and Makefile for sound/soc/bcm
Signed-off-by: popcornmix <popcornmix@gmail.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch
index 659c26cf..50adda7a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0083-ASoC-Create-a-generic-Pi-Hat-WM8804-driver.patch
@@ -1,7 +1,7 @@
-From 4da763146e2eb8e23841b770eb8940e901d428b2 Mon Sep 17 00:00:00 2001
+From f2863b93ad4db2ad71037383dd019296ab845640 Mon Sep 17 00:00:00 2001
From: Tim Gover <tim.gover@raspberrypi.org>
Date: Sat, 21 Jul 2018 20:07:46 +0100
-Subject: [PATCH 083/185] ASoC: Create a generic Pi Hat WM8804 driver
+Subject: [PATCH 083/320] ASoC: Create a generic Pi Hat WM8804 driver
Reduce the amount of duplicated code by creating a generic driver for
Pi Hat digi cards using the WM8804 codec.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch
index 3c40b3e6..dba6806c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0084-rpi_display-add-backlight-driver-and-overlay.patch
@@ -1,7 +1,7 @@
-From 0a7749c97dbc202f93233473f7ffe99bd0390179 Mon Sep 17 00:00:00 2001
+From 18545a24b1c2cccf05b5d7e31a603f1263c6e6c5 Mon Sep 17 00:00:00 2001
From: P33M <P33M@github.com>
Date: Wed, 21 Oct 2015 14:55:21 +0100
-Subject: [PATCH 084/185] rpi_display: add backlight driver and overlay
+Subject: [PATCH 084/320] rpi_display: add backlight driver and overlay
Add a mailbox-driven backlight controller for the Raspberry Pi DSI
touchscreen display. Requires updated GPU firmware to recognise the
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch
index 5df58adc..6c8514bb 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0085-bcm2835-virtgpio-Virtual-GPIO-driver.patch
@@ -1,7 +1,7 @@
-From beb4a9e1bcc51ee0aad85e70ee1c1bb46c1a11c5 Mon Sep 17 00:00:00 2001
+From 3d5bfa6538bfdf9bb303d064d19800887ddda423 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 23 Feb 2016 19:56:04 +0000
-Subject: [PATCH 085/185] bcm2835-virtgpio: Virtual GPIO driver
+Subject: [PATCH 085/320] bcm2835-virtgpio: Virtual GPIO driver
Add a virtual GPIO driver that uses the firmware mailbox interface to
request that the VPU toggles LEDs.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch
index 510260c7..af184347 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0086-net-Add-non-mainline-source-for-rtl8192cu-wlan.patch
@@ -1,7 +1,7 @@
-From 972d2047296b7c9020afcd4144b11eef21206c5f Mon Sep 17 00:00:00 2001
+From 51e93f8e4aef1142c2291295d87ce8455c60fc06 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 3 Sep 2012 17:10:23 +0100
-Subject: [PATCH 086/185] net: Add non-mainline source for rtl8192cu wlan
+Subject: [PATCH 086/320] net: Add non-mainline source for rtl8192cu wlan
We are now syncing with version from:
https://github.com/pvaret/rtl8192cu-fixes
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch
index f8079e93..cce21c29 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0087-OF-DT-Overlay-configfs-interface.patch
@@ -1,7 +1,7 @@
-From 2bd6c0430630a7ad8c8e845b05722abf0274387f Mon Sep 17 00:00:00 2001
+From e8249d01cf107e2ac497cb4d0cdffbaffc41214b Mon Sep 17 00:00:00 2001
From: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Date: Wed, 3 Dec 2014 13:23:28 +0200
-Subject: [PATCH 087/185] OF: DT-Overlay configfs interface
+Subject: [PATCH 087/320] OF: DT-Overlay configfs interface
This is a port of Pantelis Antoniou's v3 port that makes use of the
new upstreamed configfs support for binary attributes.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch
index 847d31f5..b9c4da05 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0088-brcm-adds-support-for-BCM43341-wifi.patch
@@ -1,7 +1,7 @@
-From 5504aa9d7187e234772b7397f9666c27eea044ed Mon Sep 17 00:00:00 2001
+From bb38f0e90edc11cba8413c0fad71fb81c47fac56 Mon Sep 17 00:00:00 2001
From: Cheong2K <cheong@redbear.cc>
Date: Fri, 26 Feb 2016 18:20:10 +0800
-Subject: [PATCH 088/185] brcm: adds support for BCM43341 wifi
+Subject: [PATCH 088/320] brcm: adds support for BCM43341 wifi
brcmfmac: Disable power management
@@ -47,7 +47,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
3 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-index e92f6351bd22..2bccca5e193f 100644
+index 8ee8af4e7ec4..95058cd2f9a9 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -2754,6 +2754,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev,
@@ -59,7 +59,7 @@ index e92f6351bd22..2bccca5e193f 100644
cfg->pwr_save = enabled;
if (!check_vif_up(ifp->vif)) {
-@@ -6902,12 +6904,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],
+@@ -6906,12 +6908,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],
struct brcmfmac_pd_cc *country_codes;
struct brcmfmac_pd_cc_entry *cc;
s32 found_index;
@@ -80,7 +80,7 @@ index e92f6351bd22..2bccca5e193f 100644
}
if ((alpha2[0] == ccreq->country_abbrev[0]) &&
-@@ -6931,10 +6939,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],
+@@ -6935,10 +6943,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2],
brcmf_dbg(TRACE, "No country code match found\n");
return -EINVAL;
}
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
index c31ba4f9..0d519e07 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0089-hci_h5-Don-t-send-conf_req-when-ACTIVE.patch
@@ -1,7 +1,7 @@
-From 355986ac97f0650db76230b630d97765137de065 Mon Sep 17 00:00:00 2001
+From f23a6f17265751ce16bcdbc3e8a0e1de328a3ea8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 17 Dec 2015 13:37:07 +0000
-Subject: [PATCH 089/185] hci_h5: Don't send conf_req when ACTIVE
+Subject: [PATCH 089/320] hci_h5: Don't send conf_req when ACTIVE
Without this patch, a modem and kernel can continuously bombard each
other with conf_req and conf_rsp messages, in a demented game of tag.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0090-config-Add-default-configs.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0090-config-Add-default-configs.patch
index a3a7e45f..ace17e6c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0090-config-Add-default-configs.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0090-config-Add-default-configs.patch
@@ -1,7 +1,7 @@
-From dab5e3aa8439074e8c98291182687013bc011b61 Mon Sep 17 00:00:00 2001
+From 230f6f0d83e60f9afda4b3b94f316bb393ba0fe2 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 13 Apr 2015 17:16:29 +0100
-Subject: [PATCH 090/185] config: Add default configs
+Subject: [PATCH 090/320] config: Add default configs
---
arch/arm/configs/bcm2709_defconfig | 1381 ++++++++++++++++++++++++++++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch b/sys-kernel/boest-v5.1.9/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch
index 424b2941..911da2bf 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0091-Add-arm64-configuration-and-device-tree-differences..patch
@@ -1,7 +1,7 @@
-From f5a58198bd24b8a0adbcbcdee8c7a90cda548d2f Mon Sep 17 00:00:00 2001
+From e08093b52d639cd1af45ddc97a83be87e6fada8a Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Wed, 24 Aug 2016 03:35:56 -0700
-Subject: [PATCH 091/185] Add arm64 configuration and device tree differences.
+Subject: [PATCH 091/320] Add arm64 configuration and device tree differences.
Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing
at the moment.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch
index 98753d2d..907e4679 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0092-ARM64-DWC_OTG-Port-dwc_otg-driver-to-ARM64.patch
@@ -1,7 +1,7 @@
-From 72d14b2261e60b9b4bfbd805b95db9e759f0e366 Mon Sep 17 00:00:00 2001
+From d2509b7b884ed291031bf89566cf785040da2346 Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 14 Jan 2017 21:33:51 -0800
-Subject: [PATCH 092/185] ARM64/DWC_OTG: Port dwc_otg driver to ARM64
+Subject: [PATCH 092/320] ARM64/DWC_OTG: Port dwc_otg driver to ARM64
In ARM64, the FIQ mechanism used by this driver is not current
implemented. As a workaround, reqular IRQ is used instead
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch
index 4977e73f..021fd3bc 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0093-ARM64-Round-Robin-dispatch-IRQs-between-CPUs.patch
@@ -1,7 +1,7 @@
-From 8428058e89679a06887e13af41ca83c949f59546 Mon Sep 17 00:00:00 2001
+From 7a1c5c0db1fd62d4205766448757e77d24f215cb Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 14 Jan 2017 21:43:57 -0800
-Subject: [PATCH 093/185] ARM64: Round-Robin dispatch IRQs between CPUs.
+Subject: [PATCH 093/320] ARM64: Round-Robin dispatch IRQs between CPUs.
IRQ-CPU mapping is round robined on ARM64 to increase
concurrency and allow multiple interrupts to be serviced
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch
index e01d7349..ac1139ae 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0094-ARM64-Force-hardware-emulation-of-deprecated-instruc.patch
@@ -1,7 +1,7 @@
-From e49f4c197e0dd7404890b74df14ad9e1497bdf2a Mon Sep 17 00:00:00 2001
+From 8f2bdad16851f54e7d46329485903441fa6f92ef Mon Sep 17 00:00:00 2001
From: Michael Zoran <mzoran@crowfest.net>
Date: Sat, 11 Feb 2017 01:18:31 -0800
-Subject: [PATCH 094/185] ARM64: Force hardware emulation of deprecated
+Subject: [PATCH 094/320] ARM64: Force hardware emulation of deprecated
instructions.
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch
index 9244c3f8..daae4d9a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0095-build-arm64-Add-rules-for-.dtbo-files-for-dts-overla.patch
@@ -1,7 +1,7 @@
-From 2e06b1634fd2db2847023cd477f5d7605ea8a5db Mon Sep 17 00:00:00 2001
+From d32b9e2efb2b6229be6474a50d835cbd78d72ccd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 10 Feb 2017 17:57:08 -0800
-Subject: [PATCH 095/185] build/arm64: Add rules for .dtbo files for dts
+Subject: [PATCH 095/320] build/arm64: Add rules for .dtbo files for dts
overlays
We now create overlays as .dtbo files.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch
index a95a63e7..80edf7c1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0096-Revert-build-arm64-Add-rules-for-.dtbo-files-for-dts.patch
@@ -1,7 +1,7 @@
-From 37fa291f95deee16379008c4740a9a2afef99a65 Mon Sep 17 00:00:00 2001
+From 0c4a8ae647eb2837d6caaabc9b0d487fec3d76f0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 26 Nov 2018 21:01:18 +0000
-Subject: [PATCH 096/185] Revert "build/arm64: Add rules for .dtbo files for
+Subject: [PATCH 096/320] Revert "build/arm64: Add rules for .dtbo files for
dts overlays"
DT build rules are now in the common top-level Makefile.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0097-cache-export-clean-and-invalidate.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0097-cache-export-clean-and-invalidate.patch
index fdae2de4..4ee018ee 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0097-cache-export-clean-and-invalidate.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0097-cache-export-clean-and-invalidate.patch
@@ -1,7 +1,7 @@
-From 8772e8f09e25e9f9709fd21f6799d1910976d7bf Mon Sep 17 00:00:00 2001
+From 0b76a5e2e5102b09e99e96f58a6b6eed19f8f702 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 25 Aug 2017 19:18:13 +0100
-Subject: [PATCH 097/185] cache: export clean and invalidate
+Subject: [PATCH 097/320] cache: export clean and invalidate
hack: cache: Fix linker error
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch
index b36b40dc..67775c27 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0098-AXI-performance-monitor-driver-2222.patch
@@ -1,7 +1,7 @@
-From 4ba9a046d29cc8fcd05db081dd4943596f16ee14 Mon Sep 17 00:00:00 2001
+From 37a44a3778ff010095513868031df33b66b5e687 Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Tue, 14 Nov 2017 15:13:15 +0000
-Subject: [PATCH 098/185] AXI performance monitor driver (#2222)
+Subject: [PATCH 098/320] AXI performance monitor driver (#2222)
Uses the debugfs I/F to provide access to the AXI
bus performance monitors.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch
index 94b9bb56..8f50b6cd 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0099-mcp2515-Use-DT-supplied-interrupt-flags.patch
@@ -1,7 +1,7 @@
-From 1ccd8b2bd1e36d3622fd66886cd05b1e369c19e2 Mon Sep 17 00:00:00 2001
+From 026def8b4e49e142165e85d76e7a64eb03e189c1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 14 Nov 2017 11:03:22 +0000
-Subject: [PATCH 099/185] mcp2515: Use DT-supplied interrupt flags
+Subject: [PATCH 099/320] mcp2515: Use DT-supplied interrupt flags
The MCP2515 datasheet clearly describes a level-triggered interrupt
pin. Therefore the receiving interrupt controller must also be
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch
index 52b0589a..ddf65b7b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0100-cgroup-Disable-cgroup-memory-by-default.patch
@@ -1,7 +1,7 @@
-From 8136b5fae5a6f30b9c5ca6c4a6c1a7c10b91fbfb Mon Sep 17 00:00:00 2001
+From 83f5c139d0ab45b95da321a7ffec2931517c4ae5 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 27 Nov 2017 17:14:54 +0000
-Subject: [PATCH 100/185] cgroup: Disable cgroup "memory" by default
+Subject: [PATCH 100/320] cgroup: Disable cgroup "memory" by default
Some Raspberry Pis have limited RAM and most users won't use the
cgroup memory support so it is disabled by default. Enable with:
@@ -16,10 +16,10 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
1 file changed, 30 insertions(+)
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
-index 3f2b4bde0f9c..d73485fe3c57 100644
+index 4e2d82eea2cd..8c4cd268138a 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -5419,6 +5419,8 @@ int __init cgroup_init_early(void)
+@@ -5437,6 +5437,8 @@ int __init cgroup_init_early(void)
}
static u16 cgroup_disable_mask __initdata;
@@ -28,7 +28,7 @@ index 3f2b4bde0f9c..d73485fe3c57 100644
/**
* cgroup_init - cgroup initialization
-@@ -5459,6 +5461,12 @@ int __init cgroup_init(void)
+@@ -5477,6 +5479,12 @@ int __init cgroup_init(void)
mutex_unlock(&cgroup_mutex);
@@ -41,7 +41,7 @@ index 3f2b4bde0f9c..d73485fe3c57 100644
for_each_subsys(ss, ssid) {
if (ss->early_init) {
struct cgroup_subsys_state *css =
-@@ -5842,6 +5850,28 @@ static int __init cgroup_disable(char *str)
+@@ -5860,6 +5868,28 @@ static int __init cgroup_disable(char *str)
}
__setup("cgroup_disable=", cgroup_disable);
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch
index 4e89d467..4db1056a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0101-ARM-bcm2835-Set-Serial-number-and-Revision.patch
@@ -1,7 +1,7 @@
-From 96b4bf99ba940142005c78eaa9cbc0fc20329d09 Mon Sep 17 00:00:00 2001
+From 2ba425a11afcb5409842d9bd1365eb0cd965c19f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
Date: Wed, 3 Jun 2015 12:26:13 +0200
-Subject: [PATCH 101/185] ARM: bcm2835: Set Serial number and Revision
+Subject: [PATCH 101/320] ARM: bcm2835: Set Serial number and Revision
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch
index 9646bb9a..8a488d7f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0102-dwc-otg-FIQ-Fix-bad-mode-in-data-abort-handler.patch
@@ -1,7 +1,7 @@
-From 3b3bc29d222dfd0331a867b8711c6e55585056a5 Mon Sep 17 00:00:00 2001
+From 732168b0ca38167e6e308e02096c45bd9b1dc409 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 16 Jul 2018 14:40:13 +0100
-Subject: [PATCH 102/185] dwc-otg: FIQ: Fix "bad mode in data abort handler"
+Subject: [PATCH 102/320] dwc-otg: FIQ: Fix "bad mode in data abort handler"
Create a semi-static mapping for the USB registers early in the boot
process, before additional kernel threads are started, so all threads
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch
index 0f3f119a..f184de40 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0103-ARM-Activate-FIQs-to-avoid-__irq_startup-warnings.patch
@@ -1,7 +1,7 @@
-From abda8288a06ff5514f9251535ff0f0ae50a34319 Mon Sep 17 00:00:00 2001
+From b28c5151b5f98054cc7321ad2d78a2102e17b62b Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 11 Dec 2017 09:18:32 +0000
-Subject: [PATCH 103/185] ARM: Activate FIQs to avoid __irq_startup warnings
+Subject: [PATCH 103/320] ARM: Activate FIQs to avoid __irq_startup warnings
There is a new test in __irq_startup that the IRQ is activated, which
hasn't been the case for FIQs since they bypass some of the usual setup.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch
index f11e7b85..bd410c82 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0104-serial-8250-bcm2835aux-suppress-EPROBE_DEFER.patch
@@ -1,7 +1,7 @@
-From 7caaa5ec14af8cb13273b7687d93ce3d8abf9147 Mon Sep 17 00:00:00 2001
+From 9e022d740793974c1c8ee1d739b5e3c6e933d038 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 22 Jan 2018 17:26:38 +0000
-Subject: [PATCH 104/185] serial: 8250: bcm2835aux - suppress EPROBE_DEFER
+Subject: [PATCH 104/320] serial: 8250: bcm2835aux - suppress EPROBE_DEFER
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch
index 375ea5c3..6238e409 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0105-raspberrypi-firmware-Export-the-general-transaction-.patch
@@ -1,7 +1,7 @@
-From f927a800c4ef4ca85090a208576187e2d1583347 Mon Sep 17 00:00:00 2001
+From 83e848ce32fea5186d70efd0080e992c92b26152 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 14 Sep 2016 09:16:19 +0100
-Subject: [PATCH 105/185] raspberrypi-firmware: Export the general transaction
+Subject: [PATCH 105/320] raspberrypi-firmware: Export the general transaction
function.
The vc4-firmware-kms module is going to be doing the MBOX FB call.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
index fbebb61f..8d6b5420 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0106-drm-vc4-Add-a-mode-for-using-the-closed-firmware-for.patch
@@ -1,7 +1,7 @@
-From c81e953e5e9b2944e8b29414a2bf2825c4182b17 Mon Sep 17 00:00:00 2001
+From fff30ba6f1b5ff99ebd42eef6c214453417b3513 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 14 Sep 2016 08:39:33 +0100
-Subject: [PATCH 106/185] drm/vc4: Add a mode for using the closed firmware for
+Subject: [PATCH 106/320] drm/vc4: Add a mode for using the closed firmware for
display.
Signed-off-by: Eric Anholt <eric@anholt.net>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch
index a06e0692..43eae44c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0107-drm-vc4-Name-the-primary-and-cursor-planes-in-fkms.patch
@@ -1,7 +1,7 @@
-From 983a19c8bc0e88ffc7208794f50d499d51c71b0c Mon Sep 17 00:00:00 2001
+From a5108765bd33449cf3e1b3ee67c1e632a0684b1d Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Feb 2017 17:09:18 -0800
-Subject: [PATCH 107/185] drm/vc4: Name the primary and cursor planes in fkms.
+Subject: [PATCH 107/320] drm/vc4: Name the primary and cursor planes in fkms.
This makes debugging nicer, compared to trying to remember what the
IDs are.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch
index 18a25d82..e5d73491 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0108-drm-vc4-Add-DRM_DEBUG_ATOMIC-for-the-insides-of-fkms.patch
@@ -1,7 +1,7 @@
-From 9ce3c6cf5965ae2b2de7eedf8ed6286b4b3792d1 Mon Sep 17 00:00:00 2001
+From a43c8ca8a2a88ada095d8e5eed2d96e22fd62836 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 1 Feb 2017 17:10:09 -0800
-Subject: [PATCH 108/185] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of
+Subject: [PATCH 108/320] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of
fkms.
Trying to debug weston on fkms involved figuring out what calls I was
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
index 4ce7aa61..b520c10a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0109-drm-vc4-Fix-sending-of-page-flip-completion-events-i.patch
@@ -1,7 +1,7 @@
-From d6a1978f9e1811311c24c1760ac4d36d135a93e9 Mon Sep 17 00:00:00 2001
+From bb9f66a903dad2e74957d4f48927d3b5d7db73d8 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 2 Feb 2017 09:42:18 -0800
-Subject: [PATCH 109/185] drm/vc4: Fix sending of page flip completion events
+Subject: [PATCH 109/320] drm/vc4: Fix sending of page flip completion events
in FKMS mode.
In the rewrite of vc4_crtc.c for fkms, I dropped the part of the
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch
index 2d2aa15e..fa570af1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0110-drm-vc4-Add-support-for-setting-DPMS-in-firmwarekms.patch
@@ -1,7 +1,7 @@
-From d2bc4d5557f9bbae63a5198f7f8afa7bebdd7310 Mon Sep 17 00:00:00 2001
+From c3a2bbc4f0a6287ffa331092e6eec0db571f45c8 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Thu, 6 Jul 2017 11:45:48 -0700
-Subject: [PATCH 110/185] drm/vc4: Add support for setting DPMS in firmwarekms.
+Subject: [PATCH 110/320] drm/vc4: Add support for setting DPMS in firmwarekms.
This ensures that the screen goes blank during DPMS (screensaver),
including the cursor. Planes don't necessarily get disabled during
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch
index ffcb4591..40f9229d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0111-drm-vc4-Add-FB-modifier-support-to-firmwarekms.patch
@@ -1,7 +1,7 @@
-From a49763af4c160d998688cb9be22bbf856ac12100 Mon Sep 17 00:00:00 2001
+From 345d8bae2fc558eaa7d30f139fd301fd53d01514 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 7 Jun 2017 14:39:49 -0700
-Subject: [PATCH 111/185] drm/vc4: Add FB modifier support to firmwarekms.
+Subject: [PATCH 111/320] drm/vc4: Add FB modifier support to firmwarekms.
Signed-off-by: Eric Anholt <eric@anholt.net>
(cherry picked from commit 11752d73488e08aaeb65fe8289a9c016acde26c2)
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch
index 50059906..fed8cb10 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0112-drm-vc4-Add-missing-enable-disable-vblank-handlers-i.patch
@@ -1,7 +1,7 @@
-From 664eed995c0bd76184ab986b91850a81ed647ccd Mon Sep 17 00:00:00 2001
+From f48d8e869990983f32c555362ccb6dcbf889d709 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Tue, 30 Jan 2018 14:21:02 -0800
-Subject: [PATCH 112/185] drm/vc4: Add missing enable/disable vblank handlers
+Subject: [PATCH 112/320] drm/vc4: Add missing enable/disable vblank handlers
in fkms.
Fixes hang at boot in 4.14.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch
index dd00e795..e29e2597 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0113-vc4_fkms-Apply-firmware-overscan-offset-to-hardware-.patch
@@ -1,7 +1,7 @@
-From 6d38752e86fca71110881f1ae3b2e1319fe162ce Mon Sep 17 00:00:00 2001
+From 9889af0f112bd5a2c4633c2231f9ead8b09a9cb9 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Tue, 18 Apr 2017 21:43:46 +0100
-Subject: [PATCH 113/185] vc4_fkms: Apply firmware overscan offset to hardware
+Subject: [PATCH 113/320] vc4_fkms: Apply firmware overscan offset to hardware
cursor
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch
index 2de632a7..4064029f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0114-drm-vc4-Fix-warning-about-vblank-interrupts-before-D.patch
@@ -1,7 +1,7 @@
-From 20b80955deda6c5d7eb22d72a2fba316fe162b56 Mon Sep 17 00:00:00 2001
+From e5e8818f58ca81860a9c290c3cc888af44488e86 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:01:02 +0000
-Subject: [PATCH 114/185] drm/vc4: Fix warning about vblank interrupts before
+Subject: [PATCH 114/320] drm/vc4: Fix warning about vblank interrupts before
DRM core is ready.
The SMICS interrupt fires continuously, but since it's 1/100 the rate
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch
index 0765b491..570affd5 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0115-drm-vc4-Skip-SET_CURSOR_INFO-when-the-cursor-content.patch
@@ -1,7 +1,7 @@
-From 918dded93eed9068c85c85fd42b3e56a58228fcf Mon Sep 17 00:00:00 2001
+From b9f5f3e7267b30a03016e11b1aa67eea06efec5b Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:02:30 +0000
-Subject: [PATCH 115/185] drm/vc4: Skip SET_CURSOR_INFO when the cursor
+Subject: [PATCH 115/320] drm/vc4: Skip SET_CURSOR_INFO when the cursor
contents didn't change.
Signed-off-by: Eric Anholt <eric@anholt.net>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch
index 9d34a17f..ae24b226 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0116-drm-vc4-Remove-duplicate-primary-cursor-fields-from-.patch
@@ -1,7 +1,7 @@
-From c4d405573d8c62d2ba3468942ee5f14487f746f5 Mon Sep 17 00:00:00 2001
+From 46e0d22a489e3d7b2f68709a20e0a17739a861ed Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:22:03 +0000
-Subject: [PATCH 116/185] drm/vc4: Remove duplicate primary/cursor fields from
+Subject: [PATCH 116/320] drm/vc4: Remove duplicate primary/cursor fields from
FKMS driver.
The CRTC has those fields and we can just use them.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0117-vc4_firmware_kms-fix-build.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0117-vc4_firmware_kms-fix-build.patch
index 0a9316b2..f4a08fca 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0117-vc4_firmware_kms-fix-build.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0117-vc4_firmware_kms-fix-build.patch
@@ -1,7 +1,7 @@
-From 98247eed744454718ba341aaedac5907ea05b9c6 Mon Sep 17 00:00:00 2001
+From f8c88d283178c6e22a4193321fc7d3bf1fc36534 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Sun, 17 Jun 2018 13:22:07 +0100
-Subject: [PATCH 117/185] vc4_firmware_kms: fix build
+Subject: [PATCH 117/320] vc4_firmware_kms: fix build
---
drivers/gpu/drm/vc4/vc4_firmware_kms.c | 8 ++++++--
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch
index ca18acb2..6df573ec 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0118-gpu-vc4-fkms-Update-driver-to-not-use-plane-crtc.patch
@@ -1,7 +1,7 @@
-From e638dc47531ce7aa12e19b2e1b4dbf44faaf4aad Mon Sep 17 00:00:00 2001
+From 3b3204eeb06cd754803feaae6f2e9894c0c70bc7 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 19 Feb 2019 15:06:31 +0000
-Subject: [PATCH 118/185] gpu:vc4-fkms: Update driver to not use plane->crtc.
+Subject: [PATCH 118/320] gpu:vc4-fkms: Update driver to not use plane->crtc.
Following on from
commit 2f958af7fc248 ("drm/vc4: Stop updating plane->fb/crtc")
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
index 632703a1..80068f5b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0119-drm-vc4-Don-t-wait-for-vblank-on-fkms-cursor-updates.patch
@@ -1,7 +1,7 @@
-From 92a8f4ce84d31984e35bb0ae6673873d55ad1ccc Mon Sep 17 00:00:00 2001
+From 0985728e25df31d0868dbeeb1a77895bc8eb0398 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Mon, 5 Feb 2018 18:53:18 +0000
-Subject: [PATCH 119/185] drm/vc4: Don't wait for vblank on fkms cursor
+Subject: [PATCH 119/320] drm/vc4: Don't wait for vblank on fkms cursor
updates.
We don't use the same async update path between fkms and normal kms,
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch
index 9ab79fcb..8defc028 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0120-i2c-gpio-Also-set-bus-numbers-from-reg-property.patch
@@ -1,7 +1,7 @@
-From cb8a2fd5115ce06025cc16250fc04de7d9161b0a Mon Sep 17 00:00:00 2001
+From 0c28cbf14932fd7d82f396e787e8be37d0a41ac0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 20 Feb 2018 10:07:27 +0000
-Subject: [PATCH 120/185] i2c-gpio: Also set bus numbers from reg property
+Subject: [PATCH 120/320] i2c-gpio: Also set bus numbers from reg property
I2C busses can be assigned specific bus numbers using aliases in
Device Tree - string properties where the name is the alias and the
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch
index 6626a592..302f3d8c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0121-added-capture_clear-option-to-pps-gpio-via-dtoverlay.patch
@@ -1,7 +1,7 @@
-From c5a66ca0f0e2d830962c40bbcf55a9c4e1d299c9 Mon Sep 17 00:00:00 2001
+From c86a6fee5ba30d0aa67257bd7197abd868fb9050 Mon Sep 17 00:00:00 2001
From: hdoverobinson <hdoverobinson@gmail.com>
Date: Tue, 13 Mar 2018 06:58:39 -0400
-Subject: [PATCH 121/185] added capture_clear option to pps-gpio via dtoverlay
+Subject: [PATCH 121/320] added capture_clear option to pps-gpio via dtoverlay
(#2433)
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch
index d4cf65c4..3dc380c6 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0122-lan78xx-Read-initial-EEE-status-from-DT.patch
@@ -1,7 +1,7 @@
-From b95a240a70af74b737aecfb23f6a2206bf6f7e23 Mon Sep 17 00:00:00 2001
+From 138c9eda306629a50e02612736eb0e77c631c4e2 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 9 Mar 2018 12:01:00 +0000
-Subject: [PATCH 122/185] lan78xx: Read initial EEE status from DT
+Subject: [PATCH 122/320] lan78xx: Read initial EEE status from DT
Add two new DT properties:
* microchip,eee-enabled - a boolean to enable EEE
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
index 993784fe..a2a4c6a4 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0123-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
@@ -1,7 +1,7 @@
-From fe3c87e4c90db7a410a769c04a5bad1f27b01ebe Mon Sep 17 00:00:00 2001
+From f9f8d05715dfec455f3785592210e4d76fd43802 Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 14 Jul 2014 22:02:09 +0100
-Subject: [PATCH 123/185] hid: Reduce default mouse polling interval to 60Hz
+Subject: [PATCH 123/320] hid: Reduce default mouse polling interval to 60Hz
Reduces overhead when using X
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
index 89598b15..3e92882f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0124-Add-ability-to-export-gpio-used-by-gpio-poweroff.patch
@@ -1,7 +1,7 @@
-From 87aa4495449beb6caeb96e87fe52cb261eff5d92 Mon Sep 17 00:00:00 2001
+From 9a9114e8369e9436079f15690cec2d65f27b0ddd Mon Sep 17 00:00:00 2001
From: Nick Bulleid <nedbulleid@fastmail.com>
Date: Thu, 10 May 2018 21:57:02 +0100
-Subject: [PATCH 124/185] Add ability to export gpio used by gpio-poweroff
+Subject: [PATCH 124/320] Add ability to export gpio used by gpio-poweroff
Signed-off-by: Nick Bulleid <nedbulleid@fastmail.com>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch
index 7b23e560..6fee7cd6 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0125-firmware-raspberrypi-Notify-firmware-of-a-reboot.patch
@@ -1,7 +1,7 @@
-From b2e5c88bd4031b89496c8f0f5ba8052e4aa36ea0 Mon Sep 17 00:00:00 2001
+From 9a60c8b7cf20ea0ec77d0940708fcbc13fad4d17 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Sat, 12 May 2018 21:35:43 +0100
-Subject: [PATCH 125/185] firmware/raspberrypi: Notify firmware of a reboot
+Subject: [PATCH 125/320] firmware/raspberrypi: Notify firmware of a reboot
Register for reboot notifications, sending RPI_FIRMWARE_NOTIFY_REBOOT
over the mailbox interface on reception.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch
index ff6fc646..8aa25c0f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0126-irqchip-irq-bcm2835-Calc.-FIQ_START-at-boot-time.patch
@@ -1,7 +1,7 @@
-From 9ef385a542556576651a52b1dd9cd5da0c292ec8 Mon Sep 17 00:00:00 2001
+From 13c142c356e6ef5c42fef3dc0603771209836966 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Jun 2018 11:21:04 +0100
-Subject: [PATCH 126/185] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time
+Subject: [PATCH 126/320] irqchip: irq-bcm2835: Calc. FIQ_START at boot-time
ad83c7cb2f37 ("irqchip/irq-bcm2836: Add support for DT interrupt polarity")
changed the way that the BCM2836/7 local interrupts are mapped; instead
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch
index 56a4c516..b0382c29 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0127-of-configfs-Use-of_overlay_fdt_apply-API-call.patch
@@ -1,7 +1,7 @@
-From 3cc9b2b723bf72e0f0986dbf544818696ff17fbf Mon Sep 17 00:00:00 2001
+From f2de4c6d0d3dc28e79e545bc1c83763e625b0a52 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 14 Jun 2018 15:07:26 +0100
-Subject: [PATCH 127/185] of: configfs: Use of_overlay_fdt_apply API call
+Subject: [PATCH 127/320] of: configfs: Use of_overlay_fdt_apply API call
The published API to the dynamic overlay application mechanism now
takes a Flattened Device Tree blob as input so that it can manage the
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
index 8bb19e0a..459436eb 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0128-net-lan78xx-Disable-TCP-Segmentation-Offload-TSO.patch
@@ -1,7 +1,7 @@
-From de42562410773d89394348bacab4d69023306bfb Mon Sep 17 00:00:00 2001
+From f63866e3c9191f133a09550302eb152385333777 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Wed, 13 Jun 2018 15:21:10 +0100
-Subject: [PATCH 128/185] net: lan78xx: Disable TCP Segmentation Offload (TSO)
+Subject: [PATCH 128/320] net: lan78xx: Disable TCP Segmentation Offload (TSO)
TSO seems to be having issues when packets are dropped and the
remote end uses Selective Acknowledge (SACK) to denote that
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch
index baab3422..2d642bd2 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0129-brcmfmac-Re-enable-firmware-roaming-support.patch
@@ -1,7 +1,7 @@
-From 891f278b48d2bddc639b6cfb24214e95eca09bab Mon Sep 17 00:00:00 2001
+From 779c4d3e366946a4e6de76c506ae33f168e71b5c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 20 Jun 2018 12:20:01 +0100
-Subject: [PATCH 129/185] brcmfmac: Re-enable firmware roaming support
+Subject: [PATCH 129/320] brcmfmac: Re-enable firmware roaming support
As of 4.18, a firmware that implements the update_connect_params
method but doesn't claim to support roaming causes an error. We
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch
index 2b1cb77a..35c8bee3 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0130-lan78xx-Move-enabling-of-EEE-into-PHY-init-code.patch
@@ -1,7 +1,7 @@
-From 37b16d9d424797616892089dd82a3778276dd8bf Mon Sep 17 00:00:00 2001
+From a70a9a4b3d0ec0494248df108b73350a5dbfa7d3 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 5 Apr 2018 14:46:11 +0100
-Subject: [PATCH 130/185] lan78xx: Move enabling of EEE into PHY init code
+Subject: [PATCH 130/320] lan78xx: Move enabling of EEE into PHY init code
Enable EEE mode as soon as possible after connecting to the PHY, and
before phy_start. This avoids a second link negotiation, which speeds
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0131-Add-rpi-poe-fan-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0131-Add-rpi-poe-fan-driver.patch
index e97ac2d2..2c56ffa8 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0131-Add-rpi-poe-fan-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0131-Add-rpi-poe-fan-driver.patch
@@ -1,7 +1,7 @@
-From 81cd2baaa28ca38f65274e9a6131e3fa8c4d7791 Mon Sep 17 00:00:00 2001
+From c00f9272208dc43a91b186c33fcea9f05a041602 Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Mon, 9 Jul 2018 12:54:25 +0100
-Subject: [PATCH 131/185] Add rpi-poe-fan driver
+Subject: [PATCH 131/320] Add rpi-poe-fan driver
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch
index d04d4a7b..845f08f6 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0132-cxd2880-CXD2880_SPI_DRV-should-select-DVB_CXD2880-wi.patch
@@ -1,7 +1,7 @@
-From 6d33f133100b0656188f946169510c1bef710032 Mon Sep 17 00:00:00 2001
+From b3d265d8b2339caf0cbcfded151dbd502c25e82e Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Mon, 17 Sep 2018 17:31:18 +0100
-Subject: [PATCH 132/185] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880
+Subject: [PATCH 132/320] cxd2880: CXD2880_SPI_DRV should select DVB_CXD2880
with MEDIA_SUBDRV_AUTOSELECT
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch
index a27fb8b2..5b3ad963 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0133-vchiq_2835_arm-Implement-a-DMA-pool-for-small-bulk-t.patch
@@ -1,7 +1,7 @@
-From 360400ec53d62a0b391f555298bc946d9515dedd Mon Sep 17 00:00:00 2001
+From 4f234f2de88a8373f33d22bc08164ecd2519dd02 Mon Sep 17 00:00:00 2001
From: detule <ogjoneski@gmail.com>
Date: Tue, 2 Oct 2018 04:10:08 -0400
-Subject: [PATCH 133/185] vchiq_2835_arm: Implement a DMA pool for small bulk
+Subject: [PATCH 133/320] vchiq_2835_arm: Implement a DMA pool for small bulk
transfers (#2699)
During a bulk transfer we request a DMA allocation to hold the
@@ -20,7 +20,7 @@ Signed-off-by: Oliver Gjoneski <ogjoneski@gmail.com>
1 file changed, 33 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index dd4898861b83..300e8cb5fbbc 100644
+index a9cc01e8e6c5..de69eb4cd045 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -37,6 +37,7 @@
@@ -71,7 +71,7 @@ index dd4898861b83..300e8cb5fbbc 100644
vchiq_log_info(vchiq_arm_log_level,
"vchiq_init - done (slots %pK, phys %pad)",
vchiq_slot_zero, &slot_phys);
-@@ -368,9 +381,14 @@ cleanup_pagelistinfo(struct vchiq_pagelist_info *pagelistinfo)
+@@ -371,9 +384,14 @@ cleanup_pagelistinfo(struct vchiq_pagelist_info *pagelistinfo)
for (i = 0; i < pagelistinfo->num_pages; i++)
put_page(pagelistinfo->pages[i]);
}
@@ -89,7 +89,7 @@ index dd4898861b83..300e8cb5fbbc 100644
}
/* There is a potential problem with partial cache lines (pages?)
-@@ -390,6 +408,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
+@@ -393,6 +411,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
u32 *addrs;
unsigned int num_pages, offset, i, k;
int actual_pages;
@@ -97,7 +97,7 @@ index dd4898861b83..300e8cb5fbbc 100644
size_t pagelist_size;
struct scatterlist *scatterlist, *sg;
int dma_buffers;
-@@ -407,8 +426,16 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
+@@ -419,8 +438,16 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
/* Allocate enough storage to hold the page pointers and the page
* list
*/
@@ -116,7 +116,7 @@ index dd4898861b83..300e8cb5fbbc 100644
vchiq_log_trace(vchiq_arm_log_level, "%s - %pK", __func__, pagelist);
-@@ -429,6 +456,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
+@@ -441,6 +468,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
pagelistinfo->pagelist = pagelist;
pagelistinfo->pagelist_buffer_size = pagelist_size;
pagelistinfo->dma_addr = dma_addr;
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch
index 6ca4023d..bedd87a0 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0134-hwmon-raspberrypi-Prevent-voltage-low-warnings-from-.patch
@@ -1,7 +1,7 @@
-From 3e0d902895c882414579164fe020c147d9fed52e Mon Sep 17 00:00:00 2001
+From 7c453f2ae79b0b789f8e5e2a9889a06312ff30f4 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 6 Oct 2018 16:46:18 +0200
-Subject: [PATCH 134/185] hwmon: raspberrypi: Prevent voltage low warnings from
+Subject: [PATCH 134/320] hwmon: raspberrypi: Prevent voltage low warnings from
filling log
Although the correct fix for low voltage warnings is to
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch
index caca35c1..93429a04 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0135-firmware-raspberrypi-Add-backward-compatible-get_thr.patch
@@ -1,7 +1,7 @@
-From c45c1cb6df1ecc9f059d112d429175f9b0933111 Mon Sep 17 00:00:00 2001
+From 56dd9c01c7abbd70faca2af27e36ec3c77f71e88 Mon Sep 17 00:00:00 2001
From: Stefan Wahren <stefan.wahren@i2se.com>
Date: Sat, 13 Oct 2018 13:31:21 +0200
-Subject: [PATCH 135/185] firmware: raspberrypi: Add backward compatible
+Subject: [PATCH 135/320] firmware: raspberrypi: Add backward compatible
get_throttled
Avoid a hard userspace ABI change by adding a compatible get_throttled
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch
index 09e91547..7ff1a977 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0136-sc16is7xx-Don-t-spin-if-no-data-received.patch
@@ -1,7 +1,7 @@
-From adb1508831e1eedaf452210b068f0e7683d4629e Mon Sep 17 00:00:00 2001
+From 346f9a1a932a7ceea6a42677315ef404656c1a75 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 6 Nov 2018 12:57:48 +0000
-Subject: [PATCH 136/185] sc16is7xx: Don't spin if no data received
+Subject: [PATCH 136/320] sc16is7xx: Don't spin if no data received
See: https://github.com/raspberrypi/linux/issues/2676
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch
index 6a81d981..b505fd39 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0137-drivers-thermal-step_wise-add-support-for-hysteresis.patch
@@ -1,7 +1,7 @@
-From 10c488e54d98628d416c1e0155f217936b427064 Mon Sep 17 00:00:00 2001
+From b88dcf70aa9e20c8974933b61ff5b2745c675d46 Mon Sep 17 00:00:00 2001
From: Ram Chandrasekar <rkumbako@codeaurora.org>
Date: Mon, 7 May 2018 11:54:08 -0600
-Subject: [PATCH 137/185] drivers: thermal: step_wise: add support for
+Subject: [PATCH 137/320] drivers: thermal: step_wise: add support for
hysteresis
Step wise governor increases the mitigation level when the temperature
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch
index 84970c94..808c1091 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0138-drivers-thermal-step_wise-avoid-throttling-at-hyster.patch
@@ -1,7 +1,7 @@
-From a3845335612cf5db03445624bab3722f0e665bde Mon Sep 17 00:00:00 2001
+From 2b02fb4c431533550672afc8370d8bc7db1e42ad Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Tue, 2 Oct 2018 11:14:15 +0100
-Subject: [PATCH 138/185] drivers: thermal: step_wise: avoid throttling at
+Subject: [PATCH 138/320] drivers: thermal: step_wise: avoid throttling at
hysteresis temperature after dropping below it
Signed-off-by: Serge Schneider <serge@raspberrypi.org>
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0139-Update-issue-templates-2736.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0139-Update-issue-templates-2736.patch
index a492416b..1cb503b7 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0139-Update-issue-templates-2736.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0139-Update-issue-templates-2736.patch
@@ -1,7 +1,7 @@
-From c5d095e92f8c5dfbd24bbdec369b99c086723d63 Mon Sep 17 00:00:00 2001
+From 4b0c3f6da18aa43bbfadb101844055a807643800 Mon Sep 17 00:00:00 2001
From: James Hughes <JamesH65@users.noreply.github.com>
Date: Fri, 2 Nov 2018 11:55:49 +0000
-Subject: [PATCH 139/185] Update issue templates (#2736)
+Subject: [PATCH 139/320] Update issue templates (#2736)
---
.github/ISSUE_TEMPLATE/bug_report.md | 34 ++++++++++++++++++++++++++++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
index 9e56744e..0dc9cdae 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0140-gpiolib-Don-t-prevent-IRQ-usage-of-output-GPIOs.patch
@@ -1,7 +1,7 @@
-From 4563b4647a7edfac620fcdab7f5ec41b3e32a510 Mon Sep 17 00:00:00 2001
+From 817a1eb6b8e80587a2ebddc10807f3d0af634c79 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 24 Apr 2018 14:42:27 +0100
-Subject: [PATCH 140/185] gpiolib: Don't prevent IRQ usage of output GPIOs
+Subject: [PATCH 140/320] gpiolib: Don't prevent IRQ usage of output GPIOs
Upstream Linux deems using output GPIOs to generate IRQs as a bogus
use case, even though the BCM2835 GPIO controller is capable of doing
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch
index 9e632c86..6c2dda44 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0141-lan78xx-disable-interrupts-for-PHY-irqs.patch
@@ -1,7 +1,7 @@
-From 88b34d03e5f0df1c13030f6b4039c34b7282e1f3 Mon Sep 17 00:00:00 2001
+From 706cffbcc9ad14a2c03cc99e1f7c9987b282dd9f Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 14 Nov 2018 17:36:26 +0000
-Subject: [PATCH 141/185] lan78xx: disable interrupts for PHY irqs
+Subject: [PATCH 141/320] lan78xx: disable interrupts for PHY irqs
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch
index fd1db270..4ac77264 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0142-rpi-wm8804-soundcard-drop-PWRDN-register-writes.patch
@@ -1,7 +1,7 @@
-From 9f47eff9082c44418514cac1841f16cdc0ff042b Mon Sep 17 00:00:00 2001
+From fa06e4816d80d4db67c398f2bf2a43c3bb647d6f Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 18 Nov 2018 15:24:16 +0100
-Subject: [PATCH 142/185] rpi-wm8804-soundcard: drop PWRDN register writes
+Subject: [PATCH 142/320] rpi-wm8804-soundcard: drop PWRDN register writes
Since kernel 4.0 the PWRDN register bits are under DAPM
control from the wm8804 driver.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch
index ac75a508..43bdf7f1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0143-rpi-wm8804-soundcard-configure-wm8804-clocks-only-on.patch
@@ -1,7 +1,7 @@
-From a3492cec83f47a7f6f71ad6b390634430a2b7737 Mon Sep 17 00:00:00 2001
+From 09b62b85c1241159d2f5d558028a66847a18a00e Mon Sep 17 00:00:00 2001
From: Matthias Reichl <hias@horus.com>
Date: Sun, 18 Nov 2018 15:32:28 +0100
-Subject: [PATCH 143/185] rpi-wm8804-soundcard: configure wm8804 clocks only on
+Subject: [PATCH 143/320] rpi-wm8804-soundcard: configure wm8804 clocks only on
rate change
This should avoid clicks when stopping and immediately afterwards
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch
index b505e4c2..86837125 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0144-net-lan78xx-Support-auto-downshift-to-100Mb-s.patch
@@ -1,7 +1,7 @@
-From 0ddd8ae590f5c8dee8593ea12c9fa410b171be86 Mon Sep 17 00:00:00 2001
+From 7f2d437ed59088851da963b312a1452e65dbbfb4 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Mon, 26 Nov 2018 19:46:58 +0000
-Subject: [PATCH 144/185] net: lan78xx: Support auto-downshift to 100Mb/s
+Subject: [PATCH 144/320] net: lan78xx: Support auto-downshift to 100Mb/s
Ethernet cables with faulty or missing pairs (specifically pairs C and
D) allow auto-negotiation to 1000Mbs, but do not support the successful
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch
index 48ddab44..bb2f3dab 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0145-ASoC-add-driver-for-3Dlab-Nano-soundcard-2758.patch
@@ -1,7 +1,7 @@
-From 01ec72874844610f5576c17b8b7b7a3a462bf41a Mon Sep 17 00:00:00 2001
+From e658b94bd2568ca1bc75f408ef9c7ddb2442cd83 Mon Sep 17 00:00:00 2001
From: dev-3Dlab <45081440+dev-3Dlab@users.noreply.github.com>
Date: Wed, 5 Dec 2018 10:59:11 +0100
-Subject: [PATCH 145/185] ASoC: add driver for 3Dlab Nano soundcard (#2758)
+Subject: [PATCH 145/320] ASoC: add driver for 3Dlab Nano soundcard (#2758)
Signed-off-by: GT <dev@3d-lab-av.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch
index 9c1480ad..87a07b7e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0146-staging-bcm2835-camera-Ensure-H264-header-bytes-get-.patch
@@ -1,7 +1,7 @@
-From 38ff610b9f7004055d83bd01017ec8c9100bc046 Mon Sep 17 00:00:00 2001
+From e00c44d4ddd1dd0796797634884363caf8322d2f Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 29 Oct 2018 14:21:04 +0000
-Subject: [PATCH 146/185] staging: bcm2835-camera: Ensure H264 header bytes get
+Subject: [PATCH 146/320] staging: bcm2835-camera: Ensure H264 header bytes get
a sensible timestamp
H264 header come from VC with 0 timestamps, which means they get a
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch
index aeb1e637..a8f7661d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0147-staging-bcm2835-camera-Check-the-error-for-REPEAT_SE.patch
@@ -1,7 +1,7 @@
-From 262e575bfd908fb44738e8966d12bfb00d5b603e Mon Sep 17 00:00:00 2001
+From d5f7ea8216ce83dfbdd930658db2e19fa516b414 Mon Sep 17 00:00:00 2001
From: 6by9 <6by9@users.noreply.github.com>
Date: Tue, 11 Dec 2018 15:18:02 +0000
-Subject: [PATCH 147/185] staging: bcm2835-camera: Check the error for
+Subject: [PATCH 147/320] staging: bcm2835-camera: Check the error for
REPEAT_SEQ_HEADER (#2782)
When handling for V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER was added
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch
index 641e3e98..c598b7d7 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0148-firmware-raspberrypi-Report-the-fw-variant-during-pr.patch
@@ -1,7 +1,7 @@
-From f28e2dbad0918c653d14174f1ebbdd4116fb9144 Mon Sep 17 00:00:00 2001
+From 581c4b2bbae94887ec0e234f652279175594ba24 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 10 Jan 2019 17:58:06 +0000
-Subject: [PATCH 148/185] firmware: raspberrypi: Report the fw variant during
+Subject: [PATCH 148/320] firmware: raspberrypi: Report the fw variant during
probe
The driver already reported the firmware build date during probe.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch
index ac5efad2..8f59af7c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0149-firmware-raspberrypi-Report-the-fw-git-hash-during-p.patch
@@ -1,7 +1,7 @@
-From d1029860fb9daba9f5f17180d184f93f4b8ec0d3 Mon Sep 17 00:00:00 2001
+From 9861be56342d0b8879239d2d54f3a83073418c83 Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Thu, 10 Jan 2019 18:48:54 +0000
-Subject: [PATCH 149/185] firmware: raspberrypi: Report the fw git hash during
+Subject: [PATCH 149/320] firmware: raspberrypi: Report the fw git hash during
probe
The firmware can now report the git hash from which it was built
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch
index 2c7a960c..45c32b25 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0150-arm64-dts-broadcom-Enable-fixups-for-overlays.patch
@@ -1,7 +1,7 @@
-From 0e996aabc5da24a8e70139872eaf89123bc3950a Mon Sep 17 00:00:00 2001
+From efefbf7b9084d84a916f2cccd5733aa7b3293f4e Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Jan 2019 09:56:41 +0000
-Subject: [PATCH 150/185] arm64: dts: broadcom: Enable fixups for overlays
+Subject: [PATCH 150/320] arm64: dts: broadcom: Enable fixups for overlays
See: https://github.com/raspberrypi/linux/pull/2733
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch
index a47fc4d0..3e5583a1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0151-bcm2835_smi-re-add-dereference-to-fix-DMA-transfers.patch
@@ -1,7 +1,7 @@
-From 9e115cfa478c41bebc2a9cbeef31aece86547975 Mon Sep 17 00:00:00 2001
+From f813968f0aaa0ac0c14d128ad633dbef2857ba08 Mon Sep 17 00:00:00 2001
From: Ezekiel Bethel <zek@9net.org>
Date: Wed, 12 Dec 2018 19:11:13 +0000
-Subject: [PATCH 151/185] bcm2835_smi: re-add dereference to fix DMA transfers
+Subject: [PATCH 151/320] bcm2835_smi: re-add dereference to fix DMA transfers
---
drivers/misc/bcm2835_smi.c | 2 +-
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
index eaa2ee3e..031424ee 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0152-lan78xx-Debounce-link-events-to-minimize-poll-storm.patch
@@ -1,7 +1,7 @@
-From 8238de5e7ffae3aadeb20d5c0f7f852f5da2e74b Mon Sep 17 00:00:00 2001
+From d8efc165b68ac99b8aa8cac089fdb577e86c26a9 Mon Sep 17 00:00:00 2001
From: Joshua Emele <jemele@acm.org>
Date: Wed, 7 Nov 2018 16:07:40 -0800
-Subject: [PATCH 152/185] lan78xx: Debounce link events to minimize poll storm
+Subject: [PATCH 152/320] lan78xx: Debounce link events to minimize poll storm
The bInterval is set to 4 (i.e. 8 microframes => 1ms) and the only bit
that the driver pays attention to is "link was reset". If there's a
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch
index 179ef75a..09aead60 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0153-ASoC-Add-support-for-AudioSense-Pi-add-on-soundcard.patch
@@ -1,7 +1,7 @@
-From 853d63a9e8bd1ee7974f6c0d56bdea15d2c52591 Mon Sep 17 00:00:00 2001
+From 2f135e9134ffe8c7d3300e428f929bd132ca342f Mon Sep 17 00:00:00 2001
From: b-ak <anur.bhargav@gmail.com>
Date: Thu, 3 Jan 2019 00:01:08 +0530
-Subject: [PATCH 153/185] ASoC: Add support for AudioSense-Pi add-on soundcard
+Subject: [PATCH 153/320] ASoC: Add support for AudioSense-Pi add-on soundcard
AudioSense-Pi is a RPi HAT based on a TI's TLV320AIC32x4 stereo codec
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch
index db079617..26124166 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0154-spi-spi-bcm2835-Re-enable-HW-CS.patch
@@ -1,7 +1,7 @@
-From 8f71d94e468ac682ba7c6fde00ee7d738e590ce1 Mon Sep 17 00:00:00 2001
+From c68a0d8101c832509345e1300d440419f9ac8f17 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Jan 2019 12:39:50 +0000
-Subject: [PATCH 154/185] spi: spi-bcm2835: Re-enable HW CS
+Subject: [PATCH 154/320] spi: spi-bcm2835: Re-enable HW CS
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch
index 5a74b05d..7b552925 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0155-spi-spi-bcm2835-Disable-forced-software-CS.patch
@@ -1,7 +1,7 @@
-From 3f750c52468103fae0ec68cf3223a73ef285e726 Mon Sep 17 00:00:00 2001
+From feb1ba080cf3f3ebeee4b1eacb2bd891014a15d8 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 15 Jan 2019 12:41:15 +0000
-Subject: [PATCH 155/185] spi: spi-bcm2835: Disable forced software CS
+Subject: [PATCH 155/320] spi: spi-bcm2835: Disable forced software CS
With GPIO CS used by the DTBs, allow hardware CS to be selected by an
overlay.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch
index a6b78e6b..f93d93ae 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0156-Added-driver-for-the-HiFiBerry-DAC-ADC-2694.patch
@@ -1,7 +1,7 @@
-From 0c8ac6530322722cfc6246581b240e2db81b4325 Mon Sep 17 00:00:00 2001
+From 6bdc48cef8289030fd6ae15d128ecdd310ed58f1 Mon Sep 17 00:00:00 2001
From: HiFiBerry <info@hifiberry.com>
Date: Mon, 8 Oct 2018 18:10:12 +0200
-Subject: [PATCH 156/185] Added driver for the HiFiBerry DAC+ ADC (#2694)
+Subject: [PATCH 156/320] Added driver for the HiFiBerry DAC+ ADC (#2694)
Signed-off-by: Daniel Matuschek <daniel@hifiberry.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch
index 076b3ffd..c166d53f 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0157-mfd-Add-rpi_sense_core-of-compatible-string.patch
@@ -1,7 +1,7 @@
-From b0c803feed9a4d0c0e1bf8e4b3fa865db788120e Mon Sep 17 00:00:00 2001
+From 127306fe8b467f2fd58b539478a6b6097dfd74d9 Mon Sep 17 00:00:00 2001
From: Serge Schneider <serge@raspberrypi.org>
Date: Tue, 29 Jan 2019 12:05:49 +0000
-Subject: [PATCH 157/185] mfd: Add rpi_sense_core of compatible string
+Subject: [PATCH 157/320] mfd: Add rpi_sense_core of compatible string
---
drivers/mfd/rpisense-core.c | 8 ++++++++
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch
index 252ab907..3d189c67 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0158-configs-Enable-the-AD193x-codecs.patch
@@ -1,7 +1,7 @@
-From befd9deb63606be96b8c3ff6b07b96c5b33247b0 Mon Sep 17 00:00:00 2001
+From ecdf3f6fcfac9e15b2712f78ba13bb283b12c5cb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Thu, 7 Feb 2019 18:16:25 +0000
-Subject: [PATCH 158/185] configs: Enable the AD193x codecs
+Subject: [PATCH 158/320] configs: Enable the AD193x codecs
See: https://github.com/raspberrypi/linux/issues/2850
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch
index e1829032..de08596c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0159-lan78xx-EEE-support-is-now-a-PHY-property.patch
@@ -1,7 +1,7 @@
-From 0f2ef687637a360f79e2b7ae73fbfa505daca7de Mon Sep 17 00:00:00 2001
+From 077feb247d95b8b4461ec68316c84cb17fa2a72a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Tue, 5 Mar 2019 09:51:22 +0000
-Subject: [PATCH 159/185] lan78xx: EEE support is now a PHY property
+Subject: [PATCH 159/320] lan78xx: EEE support is now a PHY property
Now that EEE support is a property of the PHY, use the PHY's DT node
when querying the EEE-related properties.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch
index 29f34002..a3616258 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0160-Revert-staging-vchiq-delete-vchiq_killable.h.patch
@@ -1,7 +1,7 @@
-From 78a9d983b3ac6512c2b57d6efb0bda0810a82955 Mon Sep 17 00:00:00 2001
+From fdf31c11be13a111ac8eb4a11a13c1853566712a Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 6 Mar 2019 16:28:09 +0000
-Subject: [PATCH 160/185] Revert "staging: vchiq: delete vchiq_killable.h"
+Subject: [PATCH 160/320] Revert "staging: vchiq: delete vchiq_killable.h"
This reverts commit 2da56630b1cc422f58408033102b8f91ae97bc91.
---
@@ -14,7 +14,7 @@ This reverts commit 2da56630b1cc422f58408033102b8f91ae97bc91.
6 files changed, 60 insertions(+)
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index 300e8cb5fbbc..9e787b87c0e4 100644
+index de69eb4cd045..7140de0e8618 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
@@ -49,6 +49,7 @@
@@ -50,7 +50,7 @@ index 7d64e2ed7b42..7ea29665bd0c 100644
#include <linux/mutex.h>
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index 53f5a1cb4636..573e2a4b3071 100644
+index 819813e742d8..f08a8dcd792c 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -32,6 +32,7 @@
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch
index eee68312..5ad80cf0 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0161-Revert-staging-vchiq_2835_arm-quit-using-custom-down.patch
@@ -1,7 +1,7 @@
-From 7286e839f2e50ed2a8310bd8070315b7c6616ba8 Mon Sep 17 00:00:00 2001
+From 05d4f1a8668a52a7ad72c543683e1678815145e0 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 6 Mar 2019 16:29:13 +0000
-Subject: [PATCH 161/185] Revert "staging: vchiq_2835_arm: quit using custom
+Subject: [PATCH 161/320] Revert "staging: vchiq_2835_arm: quit using custom
down_interruptible()"
This reverts commit ff5979ad86368425b7da3a25f4e84650b51ff5fd.
@@ -10,10 +10,10 @@ This reverts commit ff5979ad86368425b7da3a25f4e84650b51ff5fd.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-index 9e787b87c0e4..35c91c0f16b6 100644
+index 7140de0e8618..6e19063daf35 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c
-@@ -570,7 +570,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
+@@ -582,7 +582,7 @@ create_pagelist(char __user *buf, size_t count, unsigned short type)
(g_cache_line_size - 1)))) {
char *fragments;
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch
index 476389bc..1c3ac2e6 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0162-Revert-staging-vchiq-switch-to-wait_for_completion_k.patch
@@ -1,7 +1,7 @@
-From 3e810b4389ebabaf6c757ceab006c22535121cdf Mon Sep 17 00:00:00 2001
+From 5b595ef587e4174100d2f97d6a1f4fab069b366c Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 6 Mar 2019 16:29:22 +0000
-Subject: [PATCH 162/185] Revert "staging: vchiq: switch to
+Subject: [PATCH 162/320] Revert "staging: vchiq: switch to
wait_for_completion_killable"
This reverts commit a772f116702e3f0afdd7e6acadc1b8fb3b20b9ff.
@@ -107,7 +107,7 @@ index 8775cd4eb4c3..0d0e50fe7daa 100644
vchiq_log_error(vchiq_susp_log_level,
"%s interrupted", __func__);
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index 573e2a4b3071..1145a166a35f 100644
+index f08a8dcd792c..a70101444754 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -591,7 +591,7 @@ reserve_space(struct vchiq_state *state, size_t space, int is_blocking)
@@ -147,7 +147,7 @@ index 573e2a4b3071..1145a166a35f 100644
DEBUG_TRACE(PARSE_LINE);
goto bail_not_ready;
}
-@@ -2457,7 +2458,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id)
+@@ -2459,7 +2460,7 @@ vchiq_open_service_internal(struct vchiq_service *service, int client_id)
QMFLAGS_IS_BLOCKING);
if (status == VCHIQ_SUCCESS) {
/* Wait for the ACK/NAK */
@@ -156,7 +156,7 @@ index 573e2a4b3071..1145a166a35f 100644
status = VCHIQ_RETRY;
vchiq_release_service_internal(service);
} else if ((service->srvstate != VCHIQ_SRVSTATE_OPEN) &&
-@@ -2824,7 +2825,7 @@ vchiq_connect_internal(struct vchiq_state *state, VCHIQ_INSTANCE_T instance)
+@@ -2826,7 +2827,7 @@ vchiq_connect_internal(struct vchiq_state *state, VCHIQ_INSTANCE_T instance)
}
if (state->conn_state == VCHIQ_CONNSTATE_CONNECTING) {
@@ -165,7 +165,7 @@ index 573e2a4b3071..1145a166a35f 100644
return VCHIQ_RETRY;
vchiq_set_conn_state(state, VCHIQ_CONNSTATE_CONNECTED);
-@@ -2923,7 +2924,7 @@ vchiq_close_service(VCHIQ_SERVICE_HANDLE_T handle)
+@@ -2925,7 +2926,7 @@ vchiq_close_service(VCHIQ_SERVICE_HANDLE_T handle)
}
while (1) {
@@ -174,7 +174,7 @@ index 573e2a4b3071..1145a166a35f 100644
status = VCHIQ_RETRY;
break;
}
-@@ -2984,7 +2985,7 @@ vchiq_remove_service(VCHIQ_SERVICE_HANDLE_T handle)
+@@ -2986,7 +2987,7 @@ vchiq_remove_service(VCHIQ_SERVICE_HANDLE_T handle)
request_poll(service->state, service, VCHIQ_POLL_REMOVE);
}
while (1) {
@@ -183,7 +183,7 @@ index 573e2a4b3071..1145a166a35f 100644
status = VCHIQ_RETRY;
break;
}
-@@ -3067,7 +3068,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
+@@ -3069,7 +3070,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
VCHIQ_SERVICE_STATS_INC(service, bulk_stalls);
do {
mutex_unlock(&service->bulk_mutex);
@@ -192,7 +192,7 @@ index 573e2a4b3071..1145a166a35f 100644
&service->bulk_remove_event)) {
status = VCHIQ_RETRY;
goto error_exit;
-@@ -3144,7 +3145,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
+@@ -3146,7 +3147,7 @@ VCHIQ_STATUS_T vchiq_bulk_transfer(VCHIQ_SERVICE_HANDLE_T handle,
if (bulk_waiter) {
bulk_waiter->bulk = bulk;
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch
index f7880f49..8f6d707e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0163-Revert-staging-vchiq-rework-remove_event-handling.patch
@@ -1,7 +1,7 @@
-From 8d48a9bd21e95d9f4ff75eb4351311cd15a4ce3f Mon Sep 17 00:00:00 2001
+From 32ddef758b634445d4aa25b9075669a8b6c0a52d Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Wed, 6 Mar 2019 21:25:47 +0000
-Subject: [PATCH 163/185] Revert "staging: vchiq: rework remove_event handling"
+Subject: [PATCH 163/320] Revert "staging: vchiq: rework remove_event handling"
This reverts commit 852b2876a8a82f2c618da40b881bb07c2d42eb5c.
@@ -12,7 +12,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
2 files changed, 45 insertions(+), 30 deletions(-)
diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
-index 1145a166a35f..163b8cfe435d 100644
+index a70101444754..0b55a89506af 100644
--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
+++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_core.c
@@ -418,23 +418,26 @@ vchiq_set_conn_state(struct vchiq_state *state, VCHIQ_CONNSTATE_T newstate)
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch
index 0e495e40..193a23d1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0164-Revert-staging-bcm2835-audio-Drop-DT-dependency.patch
@@ -1,7 +1,7 @@
-From 16ef3c59f8234a94caf2a3f226b0c43bb0470364 Mon Sep 17 00:00:00 2001
+From 22aab83f0f779e362793c3cb8b1198af992e295c Mon Sep 17 00:00:00 2001
From: popcornmix <popcornmix@gmail.com>
Date: Fri, 15 Mar 2019 21:11:10 +0000
-Subject: [PATCH 164/185] Revert "staging: bcm2835-audio: Drop DT dependency"
+Subject: [PATCH 164/320] Revert "staging: bcm2835-audio: Drop DT dependency"
This reverts commit b7491a9fca2dc2535b9dc922550a37c5baae9d3d.
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch
index 6ed46bb7..215b90f1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0165-gpu-vc4_firmware_kms-Fix-up-64-bit-compile-warnings.patch
@@ -1,7 +1,7 @@
-From a6f738598b6ae3b0d8a8d8dcb61bcf9119a29040 Mon Sep 17 00:00:00 2001
+From 68b093cc2f310cd81457f1acacd6b295ae53dbfb Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Mon, 28 Jan 2019 14:40:16 +0000
-Subject: [PATCH 165/185] gpu: vc4_firmware_kms: Fix up 64 bit compile
+Subject: [PATCH 165/320] gpu: vc4_firmware_kms: Fix up 64 bit compile
warnings.
Resolve two build warnings with regard using incorrectly
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch
index 918323d6..56a1fb81 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0166-bcm2835-dma-Add-support-for-per-channel-flags.patch
@@ -1,7 +1,7 @@
-From 9299e027e6f803a2b4fa237268a58e70178c3072 Mon Sep 17 00:00:00 2001
+From 04b6a01c4cdebe7dfca7506ff0af23d6470679eb Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.org>
Date: Fri, 20 Jul 2018 22:03:41 +0100
-Subject: [PATCH 166/185] bcm2835-dma: Add support for per-channel flags
+Subject: [PATCH 166/320] bcm2835-dma: Add support for per-channel flags
Add the ability to interpret the high bits of the dreq specifier as
flags to be included in the DMA_CS register. The motivation for this
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch
index 243ce40b..f10602cf 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0167-drm-vc4-Programming-the-CTM-is-conditional-on-runnin.patch
@@ -1,7 +1,7 @@
-From 137b45e9e987ec93f79680d6af4156ad7c362c58 Mon Sep 17 00:00:00 2001
+From 6b2177770efeb4f151d051bdeb7b6f7b57aed13c Mon Sep 17 00:00:00 2001
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
Date: Tue, 19 Feb 2019 15:18:25 +0000
-Subject: [PATCH 167/185] drm: vc4: Programming the CTM is conditional on
+Subject: [PATCH 167/320] drm: vc4: Programming the CTM is conditional on
running full KMS
vc4_ctm_commit writes to HVS registers, so this is only applicable
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch
index cd9f9015..6daa0529 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0168-rtc-rv3028-Add-backup-switchover-mode-support.patch
@@ -1,7 +1,7 @@
-From eb50cd65e2ee3bed201015ad8428eb745bd92ab1 Mon Sep 17 00:00:00 2001
+From c976c0b04b80e732a6f0f5dc767d7a092dfd0c39 Mon Sep 17 00:00:00 2001
From: Phil Howard <phil@gadgetoid.com>
Date: Fri, 29 Mar 2019 10:53:14 +0000
-Subject: [PATCH 168/185] rtc: rv3028: Add backup switchover mode support
+Subject: [PATCH 168/320] rtc: rv3028: Add backup switchover mode support
Signed-off-by: Phil Howard <phil@pimoroni.com>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch
index d0dd948b..15977a08 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0169-ASoC-tlv320aic32x4-Break-out-clock-setting-into-sepa.patch
@@ -1,7 +1,7 @@
-From 2bd76a106978b77d9f0a596ed825311b688df541 Mon Sep 17 00:00:00 2001
+From 7138b61a055ffc4e6d5f3f073834ea5aaf21dad5 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Mon, 18 Mar 2019 20:37:44 -0700
-Subject: [PATCH 169/185] ASoC: tlv320aic32x4: Break out clock setting into
+Subject: [PATCH 169/320] ASoC: tlv320aic32x4: Break out clock setting into
separate function
commit bf31cbfbe25001036e1e096b1c260bf871766ea5 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch
index 819c5bea..c959f8a7 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0170-ASoC-tlv320aic32x4-Properly-Set-Processing-Blocks.patch
@@ -1,7 +1,7 @@
-From 17ef067bec1a64dda0e1cc71f80d8c73264723bb Mon Sep 17 00:00:00 2001
+From 9496b2e55f64b1bbfb3b729f5026a8fc4798afc3 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 20 Mar 2019 19:38:44 -0700
-Subject: [PATCH 170/185] ASoC: tlv320aic32x4: Properly Set Processing Blocks
+Subject: [PATCH 170/320] ASoC: tlv320aic32x4: Properly Set Processing Blocks
commit c95e3a4b96293403a427b5185e60fad28af51fdd upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch
index f1a75ba8..0458c751 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0171-ASoC-tlv320aic32x4-Model-PLL-in-CCF.patch
@@ -1,7 +1,7 @@
-From eec2f95633b4bf0fe8c135e894d40b392009da28 Mon Sep 17 00:00:00 2001
+From 5aa1fe51ff52528e1fb9dd1ca4b46f2ef346c7db Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:45 -0700
-Subject: [PATCH 171/185] ASoC: tlv320aic32x4: Model PLL in CCF
+Subject: [PATCH 171/320] ASoC: tlv320aic32x4: Model PLL in CCF
commit 514b044cba667e4b7c383ec79b42b997e624b91d upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch
index bbbf462f..3cb55c4b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0172-ASoC-tlv320aic32x4-Model-CODEC_CLKIN-in-CCF.patch
@@ -1,7 +1,7 @@
-From 0ae452c23d6dab9c39ad6ad8afc3754c474c64bd Mon Sep 17 00:00:00 2001
+From 75e34f32839716920dedeba2c9cf09d14a792531 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:46 -0700
-Subject: [PATCH 172/185] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF
+Subject: [PATCH 172/320] ASoC: tlv320aic32x4: Model CODEC_CLKIN in CCF
commit fd2df3aeafa4b4cc468d58e147e0822967034b71 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch
index 4e817421..23a627b5 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0173-ASoC-tlv320aic32x4-Model-DAC-ADC-dividers-in-CCF.patch
@@ -1,7 +1,7 @@
-From 9519eb36579cd7fcaf90cb68fa178593ba62cc95 Mon Sep 17 00:00:00 2001
+From 3c054ece6ec75bfb67e3857efa3f9ecdbbc48132 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:47 -0700
-Subject: [PATCH 173/185] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF
+Subject: [PATCH 173/320] ASoC: tlv320aic32x4: Model DAC/ADC dividers in CCF
commit a51b50062091619915c5155085bbe13a7aca6903 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch
index 250264a4..32340f0c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0174-ASoC-tlv320aic32x4-Model-BDIV-divider-in-CCF.patch
@@ -1,7 +1,7 @@
-From d7c5b40fd77e51fff31ed63cd68081c6e73511bc Mon Sep 17 00:00:00 2001
+From c7f26e8e43cd5fb23ccbcae23599001743cc6cbf Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:48 -0700
-Subject: [PATCH 174/185] ASoC: tlv320aic32x4: Model BDIV divider in CCF
+Subject: [PATCH 174/320] ASoC: tlv320aic32x4: Model BDIV divider in CCF
commit 9b484124ebd906c4d6bc826cc0d417e80cc1105c upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch
index b998f6df..46a46a4e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0175-ASoC-tlv320aic32x4-Control-clock-gating-with-CCF.patch
@@ -1,7 +1,7 @@
-From e7c15bedb56fdcc5b142a03596204231f1027062 Mon Sep 17 00:00:00 2001
+From 0712a9e9f22230635e1d93bb1636679b3fa5650d Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:49 -0700
-Subject: [PATCH 175/185] ASoC: tlv320aic32x4: Control clock gating with CCF
+Subject: [PATCH 175/320] ASoC: tlv320aic32x4: Control clock gating with CCF
commit d25970b5fd51e9fcf0afbe190908ea4049454da4 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch
index 6cd25875..2ed0f64e 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0176-ASoC-tlv320aic32x4-Move-aosr-and-dosr-setting-to-sep.patch
@@ -1,7 +1,7 @@
-From 0518009dff260621020c3ee036e7665cd61d47e5 Mon Sep 17 00:00:00 2001
+From ce20c5b687b68d7fea06bb9f798d11fde712c29f Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:50 -0700
-Subject: [PATCH 176/185] ASoC: tlv320aic32x4: Move aosr and dosr setting to
+Subject: [PATCH 176/320] ASoC: tlv320aic32x4: Move aosr and dosr setting to
separate functions
commit fbafbf6517274a797e6e6508c18dd8dba5920c89 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch
index 5c7b3b40..b37746d2 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0177-ASoC-tlv320aic32x4-Dynamically-Determine-Clocking.patch
@@ -1,7 +1,7 @@
-From a294a7fd5743c44225491e7b2e0c98ebf60a3751 Mon Sep 17 00:00:00 2001
+From 6c715c02ccad0cbf40338f407e7b82ff9982339d Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:51 -0700
-Subject: [PATCH 177/185] ASoC: tlv320aic32x4: Dynamically Determine Clocking
+Subject: [PATCH 177/320] ASoC: tlv320aic32x4: Dynamically Determine Clocking
commit 96c3bb00239de4fb5f4ddca42c1f90d6d9b3c697 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
index 3dcc76ed..fe80c93d 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0178-ASoC-tlv320aic32x4-Restructure-set_dai_sysclk.patch
@@ -1,7 +1,7 @@
-From e70377ba899845cc58cf95d99857b30b783e4d83 Mon Sep 17 00:00:00 2001
+From ea256dd57aca183f2433ceade6d707448a37c7b8 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:52 -0700
-Subject: [PATCH 178/185] ASoC: tlv320aic32x4: Restructure set_dai_sysclk
+Subject: [PATCH 178/320] ASoC: tlv320aic32x4: Restructure set_dai_sysclk
commit aa6a60f7be925210d5156f0e8025f3afe1f4f54d upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch
index 4cf7e9b4..444f774b 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0179-ASoC-tlv320aic32x4-Remove-mclk-references.patch
@@ -1,7 +1,7 @@
-From 27568e716c76b2673b3744ecc2e710329417d536 Mon Sep 17 00:00:00 2001
+From 3106009853b8170c4c884a7ce701e1166adaf205 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:53 -0700
-Subject: [PATCH 179/185] ASoC: tlv320aic32x4: Remove mclk references
+Subject: [PATCH 179/320] ASoC: tlv320aic32x4: Remove mclk references
commit 78f2d58a289302e56a7def96a783a7686ebf27e2 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch
index d491da4f..73b6871c 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0180-ASoC-tlv320aic32x4-Allow-192000-Sample-Rate.patch
@@ -1,7 +1,7 @@
-From a4660f5b21c6d7434763069a0b962902ac022c03 Mon Sep 17 00:00:00 2001
+From 288e19a2d62aa4776c41fc3d9714b9e29e96efed Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Thu, 21 Mar 2019 17:58:54 -0700
-Subject: [PATCH 180/185] ASoC: tlv320aic32x4: Allow 192000 Sample Rate
+Subject: [PATCH 180/320] ASoC: tlv320aic32x4: Allow 192000 Sample Rate
commit 6d56ee1550b8a81bc63c80051ff78d8d704b09ba upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch
index 3161e086..a76105a1 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0181-ASoC-tlv320aic32x4-Only-enable-with-common-clock.patch
@@ -1,7 +1,7 @@
-From d77e6fd286e9263cb601692ca57e4a7ec0a38d41 Mon Sep 17 00:00:00 2001
+From 8119a91b3a462728b8727efb278852888d53e033 Mon Sep 17 00:00:00 2001
From: Mark Brown <broonie@kernel.org>
Date: Tue, 26 Mar 2019 13:10:13 +0000
-Subject: [PATCH 181/185] ASoC: tlv320aic32x4: Only enable with common clock
+Subject: [PATCH 181/320] ASoC: tlv320aic32x4: Only enable with common clock
commit 64f01d2b5ccc621c3aa66b82daf9154f5581f36a upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
index ad811e8f..ee8d5852 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0182-Audiophonics-I-Sabre-9038Q2M-DAC-driver.patch
@@ -1,7 +1,7 @@
-From 59edbd082e694df6bf207713dbbbf4b672839bb9 Mon Sep 17 00:00:00 2001
+From 9f0c59d1e05e825d89630f0d0380d3093516c7e6 Mon Sep 17 00:00:00 2001
From: FERHAT Nicolas <contact@audiophonics.fr>
Date: Fri, 5 Apr 2019 13:06:42 +0100
-Subject: [PATCH 182/185] Audiophonics I-Sabre 9038Q2M DAC driver
+Subject: [PATCH 182/320] Audiophonics I-Sabre 9038Q2M DAC driver
Signed-off-by: Audiophonics <contact@audiophonics.fr>
---
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch
index 0c80ac61..085dca83 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0183-ASoC-tlv320aic32x4-Update-copyright-and-use-SPDX-ide.patch
@@ -1,7 +1,7 @@
-From 0cc1d4887025c7b434ae5a4e072e62091b607d83 Mon Sep 17 00:00:00 2001
+From 89d8f6cb8e137d9b7a234ce5bb2418198a141908 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:17:16 -0700
-Subject: [PATCH 183/185] ASoC: tlv320aic32x4: Update copyright and use SPDX
+Subject: [PATCH 183/320] ASoC: tlv320aic32x4: Update copyright and use SPDX
identifier
commit 8a1d95c393d971e624fc28f11516b0bc3a7fa706 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch
index b894a609..5e829355 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0184-ASoC-tlv320aic32x4-Add-Switch-for-Setting-Common-Mod.patch
@@ -1,7 +1,7 @@
-From 71fff221c49c44ab45af851bcaeabe9be2e6d9a4 Mon Sep 17 00:00:00 2001
+From 92f1f6b99e88b6b17711ca1bcc6f86f28fe40d9e Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:01:54 -0700
-Subject: [PATCH 184/185] ASoC: tlv320aic32x4: Add Switch for Setting Common
+Subject: [PATCH 184/320] ASoC: tlv320aic32x4: Add Switch for Setting Common
Mode Voltage
commit 44ceee847e27c828f2f1ef4e400e6bc0c8d04de3 upstream.
diff --git a/sys-kernel/boest-v5.1.1/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch
index 1727aac4..15308a1a 100644
--- a/sys-kernel/boest-v5.1.1/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0185-ASoC-tlv320aic32x4-Add-Playback-PowerTune-Controls.patch
@@ -1,7 +1,7 @@
-From f3f07b1aa7f4bdc4e4bc5d4d0ad962dd3b07e4b7 Mon Sep 17 00:00:00 2001
+From 74cd0fa5d52afa535c55e07f252347f8b7c3ab49 Mon Sep 17 00:00:00 2001
From: Annaliese McDermond <nh6z@nh6z.net>
Date: Wed, 3 Apr 2019 21:01:55 -0700
-Subject: [PATCH 185/185] ASoC: tlv320aic32x4: Add Playback PowerTune Controls
+Subject: [PATCH 185/320] ASoC: tlv320aic32x4: Add Playback PowerTune Controls
commit d3e6e374566e1154820a9a3dc82f7eef646fcf95 upstream.
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0186-dt-bindings-rv3028-backup-switchover-support.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0186-dt-bindings-rv3028-backup-switchover-support.patch
new file mode 100644
index 00000000..6d03974f
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0186-dt-bindings-rv3028-backup-switchover-support.patch
@@ -0,0 +1,22 @@
+From 9179f1371fb30f28f2b94669e8dfb5295b3b85c3 Mon Sep 17 00:00:00 2001
+From: Phil Howard <phil@gadgetoid.com>
+Date: Fri, 29 Mar 2019 10:57:07 +0000
+Subject: [PATCH 186/320] dt-bindings: rv3028 backup switchover support
+
+Signed-off-by: Phil Howard <phil@pimoroni.com>
+---
+ Documentation/devicetree/bindings/rtc/rtc.txt | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Documentation/devicetree/bindings/rtc/rtc.txt b/Documentation/devicetree/bindings/rtc/rtc.txt
+index f4687c68c08c..859fdaadd8f3 100644
+--- a/Documentation/devicetree/bindings/rtc/rtc.txt
++++ b/Documentation/devicetree/bindings/rtc/rtc.txt
+@@ -26,6 +26,7 @@ below.
+ - trickle-diode-disable : Do not use internal trickle charger diode Should be
+ given if internal trickle charger diode should be
+ disabled
++- backup-switchover-mode : Configure RTC backup power supply switch behaviour
+ - wakeup-source : Enables wake up of host system on alarm
+ - quartz-load-femtofarads : The capacitive load of the quartz(x-tal),
+ expressed in femto Farad (fF).
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0187-sound-Fixes-for-audioinjector-octo-under-4.19.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0187-sound-Fixes-for-audioinjector-octo-under-4.19.patch
new file mode 100644
index 00000000..a5f0b6ef
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0187-sound-Fixes-for-audioinjector-octo-under-4.19.patch
@@ -0,0 +1,116 @@
+From 78479c1e9a58e715728374a4446021e7e17311e5 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 21 Mar 2019 11:19:46 +0000
+Subject: [PATCH 187/320] sound: Fixes for audioinjector-octo under 4.19
+
+1. Move the DT alias declaration to the I2C shim in the cases
+where the shim is enabled. This works around a problem caused by a
+4.19 commit [1] that generates DT/OF uevents for I2C drivers.
+
+2. Fix the diagnostics in an error path of the soundcard driver to
+correctly identify the reason for the failure to load.
+
+3. Move the declaration of the clock node in the overlay outside
+the I2C node to avoid warnings.
+
+4. Sort the overlay nodes so that dependencies are only to earlier
+fragments, in an attempt to get runtime dtoverlay application to
+work (it still doesn't...)
+
+See: https://github.com/Audio-Injector/Octo/issues/14
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+
+[1] af503716ac14 ("i2c: core: report OF style module alias for devices registered via OF")
+---
+ .../overlays/audioinjector-addons-overlay.dts | 19 ++++++++++++-------
+ sound/soc/bcm/audioinjector-octo-soundcard.c | 2 +-
+ sound/soc/codecs/cs42xx8-i2c.c | 7 +++++++
+ sound/soc/codecs/cs42xx8.c | 2 ++
+ 4 files changed, 22 insertions(+), 8 deletions(-)
+
+diff --git a/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts
+index cedbf5ecdbcd..6d192af10da9 100644
+--- a/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts
++++ b/arch/arm/boot/dts/overlays/audioinjector-addons-overlay.dts
+@@ -13,6 +13,17 @@
+ };
+
+ fragment@1 {
++ target-path = "/";
++ __overlay__ {
++ cs42448_mclk: codec-mclk {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <49152000>;
++ };
++ };
++ };
++
++ fragment@2 {
+ target = <&i2c1>;
+ __overlay__ {
+ #address-cells = <1>;
+@@ -27,16 +38,10 @@
+ clock-names = "mclk";
+ status = "okay";
+ };
+-
+- cs42448_mclk: codec-mclk {
+- compatible = "fixed-clock";
+- #clock-cells = <0>;
+- clock-frequency = <49152000>;
+- };
+ };
+ };
+
+- fragment@2 {
++ fragment@3 {
+ target = <&sound>;
+ snd: __overlay__ {
+ compatible = "ai,audioinjector-octo-soundcard";
+diff --git a/sound/soc/bcm/audioinjector-octo-soundcard.c b/sound/soc/bcm/audioinjector-octo-soundcard.c
+index 8fbd176dc8bc..d0b5660f663f 100644
+--- a/sound/soc/bcm/audioinjector-octo-soundcard.c
++++ b/sound/soc/bcm/audioinjector-octo-soundcard.c
+@@ -297,7 +297,7 @@ static int audioinjector_octo_probe(struct platform_device *pdev)
+ dai->codec_name = NULL;
+ dai->codec_of_node = codec_node;
+ } else
+- if (!dai->cpu_of_node) {
++ if (!i2s_node) {
+ dev_err(&pdev->dev,
+ "i2s-controller missing or invalid in DT\n");
+ return -EINVAL;
+diff --git a/sound/soc/codecs/cs42xx8-i2c.c b/sound/soc/codecs/cs42xx8-i2c.c
+index 0214e3ab9da0..a4586ea4acf6 100644
+--- a/sound/soc/codecs/cs42xx8-i2c.c
++++ b/sound/soc/codecs/cs42xx8-i2c.c
+@@ -45,6 +45,13 @@ static struct i2c_device_id cs42xx8_i2c_id[] = {
+ };
+ MODULE_DEVICE_TABLE(i2c, cs42xx8_i2c_id);
+
++const struct of_device_id cs42xx8_of_match[] = {
++ { .compatible = "cirrus,cs42448", .data = &cs42448_data, },
++ { .compatible = "cirrus,cs42888", .data = &cs42888_data, },
++ { /* sentinel */ }
++};
++MODULE_DEVICE_TABLE(of, cs42xx8_of_match);
++
+ static struct i2c_driver cs42xx8_i2c_driver = {
+ .driver = {
+ .name = "cs42xx8",
+diff --git a/sound/soc/codecs/cs42xx8.c b/sound/soc/codecs/cs42xx8.c
+index ebb9e0cf8364..42677c630f23 100644
+--- a/sound/soc/codecs/cs42xx8.c
++++ b/sound/soc/codecs/cs42xx8.c
+@@ -436,8 +436,10 @@ const struct of_device_id cs42xx8_of_match[] = {
+ { .compatible = "cirrus,cs42888", .data = &cs42888_data, },
+ { /* sentinel */ }
+ };
++#if !IS_ENABLED(CONFIG_SND_SOC_CS42XX8_I2C)
+ MODULE_DEVICE_TABLE(of, cs42xx8_of_match);
+ EXPORT_SYMBOL_GPL(cs42xx8_of_match);
++#endif
+
+ int cs42xx8_probe(struct device *dev, struct regmap *regmap)
+ {
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0188-overlays-Add-PiGlow-overlay.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0188-overlays-Add-PiGlow-overlay.patch
new file mode 100644
index 00000000..3a55d0f5
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0188-overlays-Add-PiGlow-overlay.patch
@@ -0,0 +1,153 @@
+From b110897469ad5d9e9082b381ba1cc0d54a8794d2 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <wahrenst@gmx.net>
+Date: Mon, 29 Apr 2019 19:35:33 +0200
+Subject: [PATCH 188/320] overlays: Add PiGlow overlay
+
+The PiGlow is a small add-on board for the Raspberry Pi that provides
+18 individually controllable LEDs (SN3218) and uses the following pins:
+
+P1 & P17 (3V3)
+P2 (5V)
+P3 (SDA)
+P5 (SCL)
+P14 (GND)
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 6 ++
+ arch/arm/boot/dts/overlays/piglow-overlay.dts | 97 +++++++++++++++++++
+ 3 files changed, 104 insertions(+)
+
+diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
+index 1d56220400a6..aff7885faefb 100644
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -94,6 +94,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ pi3-disable-wifi.dtbo \
+ pi3-miniuart-bt.dtbo \
+ pibell.dtbo \
++ piglow.dtbo \
+ piscreen.dtbo \
+ piscreen2r.dtbo \
+ pisound.dtbo \
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index f9fbf938b062..47f092a2c45a 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1494,6 +1494,12 @@ Params: alsaname Set the name as it appears in ALSA (default
+ "PiBell")
+
+
++Name: piglow
++Info: Configures the PiGlow by pimoroni.com
++Load: dtoverlay=piglow
++Params: <None>
++
++
+ Name: piscreen
+ Info: PiScreen display by OzzMaker.com
+ Load: dtoverlay=piscreen,<param>=<val>
+diff --git a/arch/arm/boot/dts/overlays/piglow-overlay.dts b/arch/arm/boot/dts/overlays/piglow-overlay.dts
+new file mode 100644
+index 000000000000..e66e47ae83b2
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/piglow-overlay.dts
+@@ -0,0 +1,97 @@
++// Definitions for SN3218 LED driver from Si-En Technology on PiGlow
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2c_arm>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ sn3218@54 {
++ compatible = "si-en,sn3218";
++ reg = <0x54>;
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ led@1 {
++ reg = <1>;
++ label = "piglow:red:led1";
++ };
++ led@2 {
++ reg = <2>;
++ label = "piglow:orange:led2";
++ };
++ led@3 {
++ reg = <3>;
++ label = "piglow:yellow:led3";
++ };
++ led@4 {
++ reg = <4>;
++ label = "piglow:green:led4";
++ };
++ led@5 {
++ reg = <5>;
++ label = "piglow:blue:led5";
++ };
++ led@6 {
++ reg = <6>;
++ label = "piglow:green:led6";
++ };
++ led@7 {
++ reg = <7>;
++ label = "piglow:red:led7";
++ };
++ led@8 {
++ reg = <8>;
++ label = "piglow:orange:led8";
++ };
++ led@9 {
++ reg = <9>;
++ label = "piglow:yellow:led9";
++ };
++ led@10 {
++ reg = <10>;
++ label = "piglow:white:led10";
++ };
++ led@11 {
++ reg = <11>;
++ label = "piglow:white:led11";
++ };
++ led@12 {
++ reg = <12>;
++ label = "piglow:blue:led12";
++ };
++ led@13 {
++ reg = <13>;
++ label = "piglow:white:led13";
++ };
++ led@14 {
++ reg = <14>;
++ label = "piglow:green:led14";
++ };
++ led@15 {
++ reg = <15>;
++ label = "piglow:blue:led15";
++ };
++ led@16 {
++ reg = <16>;
++ label = "piglow:yellow:led16";
++ };
++ led@17 {
++ reg = <17>;
++ label = "piglow:orange:led17";
++ };
++ led@18 {
++ reg = <18>;
++ label = "piglow:red:led18";
++ };
++ };
++ };
++ };
++};
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0189-configs-enable-LED-driver-for-PiGlow.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0189-configs-enable-LED-driver-for-PiGlow.patch
new file mode 100644
index 00000000..3efa0209
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0189-configs-enable-LED-driver-for-PiGlow.patch
@@ -0,0 +1,48 @@
+From a6bc7cf350ed477e575d5fc97b8a92d8140c3793 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <wahrenst@gmx.net>
+Date: Mon, 29 Apr 2019 19:28:51 +0200
+Subject: [PATCH 189/320] configs: enable LED driver for PiGlow
+
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ arch/arm64/configs/bcmrpi3_defconfig | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index 1fa89907fecd..ab3e4852be04 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1120,6 +1120,7 @@ CONFIG_MMC_SPI=m
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_GPIO=y
+ CONFIG_LEDS_PCA963X=m
++CONFIG_LEDS_IS31FL32XX=m
+ CONFIG_LEDS_TRIGGER_TIMER=y
+ CONFIG_LEDS_TRIGGER_ONESHOT=y
+ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index 0957e9197582..0a31ccc87940 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1113,6 +1113,7 @@ CONFIG_MMC_SPI=m
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_GPIO=y
+ CONFIG_LEDS_PCA963X=m
++CONFIG_LEDS_IS31FL32XX=m
+ CONFIG_LEDS_TRIGGER_TIMER=y
+ CONFIG_LEDS_TRIGGER_ONESHOT=y
+ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
+diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
+index 84d33006d5e1..528e640fb1bb 100644
+--- a/arch/arm64/configs/bcmrpi3_defconfig
++++ b/arch/arm64/configs/bcmrpi3_defconfig
+@@ -987,6 +987,7 @@ CONFIG_MMC_SPI=m
+ CONFIG_LEDS_CLASS=y
+ CONFIG_LEDS_GPIO=y
+ CONFIG_LEDS_PCA963X=m
++CONFIG_LEDS_IS31FL32XX=m
+ CONFIG_LEDS_TRIGGER_TIMER=y
+ CONFIG_LEDS_TRIGGER_ONESHOT=y
+ CONFIG_LEDS_TRIGGER_HEARTBEAT=y
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0190-dts-Increase-default-coherent-pool-size.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0190-dts-Increase-default-coherent-pool-size.patch
new file mode 100644
index 00000000..7e1bc256
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0190-dts-Increase-default-coherent-pool-size.patch
@@ -0,0 +1,29 @@
+From ff92df5a1b55917d373c024f0c4090a625f7d250 Mon Sep 17 00:00:00 2001
+From: P33M <p33m@github.com>
+Date: Wed, 1 May 2019 15:00:05 +0100
+Subject: [PATCH 190/320] dts: Increase default coherent pool size
+
+dwc_otg allocates DMA-coherent buffers in atomic context for misaligned
+transfer buffers. The pool that these allocations come from is set up
+at boot-time but can be overridden by a commandline parameter -
+increase this for now to prevent failures seen on 4.19 with multiple
+USB Ethernet devices.
+
+see: https://github.com/raspberrypi/linux/issues/2924
+---
+ arch/arm/boot/dts/bcm270x.dtsi | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/bcm270x.dtsi b/arch/arm/boot/dts/bcm270x.dtsi
+index 27f19225245e..8b39d29d9164 100644
+--- a/arch/arm/boot/dts/bcm270x.dtsi
++++ b/arch/arm/boot/dts/bcm270x.dtsi
+@@ -3,7 +3,7 @@
+
+ / {
+ chosen {
+- bootargs = "";
++ bootargs = "coherent_pool=1M";
+ /delete-property/ stdout-path;
+ };
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0191-configs-Enable-netdev-LED-trigger.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0191-configs-Enable-netdev-LED-trigger.patch
new file mode 100644
index 00000000..a6de42bc
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0191-configs-Enable-netdev-LED-trigger.patch
@@ -0,0 +1,48 @@
+From 135bfe7733c845c1a01de5b6603c964e04889364 Mon Sep 17 00:00:00 2001
+From: Russell Joyce <russell.joyce@york.ac.uk>
+Date: Wed, 1 May 2019 16:43:27 +0100
+Subject: [PATCH 191/320] configs: Enable netdev LED trigger
+
+Signed-off-by: Russell Joyce <russell.joyce@york.ac.uk>
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ arch/arm64/configs/bcmrpi3_defconfig | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index ab3e4852be04..a5881b410c8d 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -1132,6 +1132,7 @@ CONFIG_LEDS_TRIGGER_TRANSIENT=m
+ CONFIG_LEDS_TRIGGER_CAMERA=m
+ CONFIG_LEDS_TRIGGER_INPUT=y
+ CONFIG_LEDS_TRIGGER_PANIC=y
++CONFIG_LEDS_TRIGGER_NETDEV=m
+ CONFIG_RTC_CLASS=y
+ # CONFIG_RTC_HCTOSYS is not set
+ CONFIG_RTC_DRV_ABX80X=m
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index 0a31ccc87940..b638fa1cb7dd 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -1125,6 +1125,7 @@ CONFIG_LEDS_TRIGGER_TRANSIENT=m
+ CONFIG_LEDS_TRIGGER_CAMERA=m
+ CONFIG_LEDS_TRIGGER_INPUT=y
+ CONFIG_LEDS_TRIGGER_PANIC=y
++CONFIG_LEDS_TRIGGER_NETDEV=m
+ CONFIG_RTC_CLASS=y
+ # CONFIG_RTC_HCTOSYS is not set
+ CONFIG_RTC_DRV_ABX80X=m
+diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
+index 528e640fb1bb..cada40a0b660 100644
+--- a/arch/arm64/configs/bcmrpi3_defconfig
++++ b/arch/arm64/configs/bcmrpi3_defconfig
+@@ -999,6 +999,7 @@ CONFIG_LEDS_TRIGGER_TRANSIENT=m
+ CONFIG_LEDS_TRIGGER_CAMERA=m
+ CONFIG_LEDS_TRIGGER_INPUT=y
+ CONFIG_LEDS_TRIGGER_PANIC=y
++CONFIG_LEDS_TRIGGER_NETDEV=m
+ CONFIG_RTC_CLASS=y
+ # CONFIG_RTC_HCTOSYS is not set
+ CONFIG_RTC_DRV_ABX80X=m
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0192-lan78xx-use-default-alignment-for-rx-buffers.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0192-lan78xx-use-default-alignment-for-rx-buffers.patch
new file mode 100644
index 00000000..fc5b284e
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0192-lan78xx-use-default-alignment-for-rx-buffers.patch
@@ -0,0 +1,25 @@
+From f85878509feb91177c6b711614fcffbbf2f93176 Mon Sep 17 00:00:00 2001
+From: P33M <p33m@github.com>
+Date: Thu, 2 May 2019 11:53:45 +0100
+Subject: [PATCH 192/320] lan78xx: use default alignment for rx buffers
+
+The lan78xx uses a 12-byte hardware rx header, so there is no need
+to allocate SKBs with NET_IP_ALIGN set. Removes alignment faults
+in both dwc_otg and in ipv6 processing.
+---
+ drivers/net/usb/lan78xx.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c
+index ceac94118b32..1faff8ebdf78 100644
+--- a/drivers/net/usb/lan78xx.c
++++ b/drivers/net/usb/lan78xx.c
+@@ -3248,7 +3248,7 @@ static int rx_submit(struct lan78xx_net *dev, struct urb *urb, gfp_t flags)
+ size_t size = dev->rx_urb_size;
+ int ret = 0;
+
+- skb = netdev_alloc_skb_ip_align(dev->net, size);
++ skb = netdev_alloc_skb(dev->net, size);
+ if (!skb) {
+ usb_free_urb(urb);
+ return -ENOMEM;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0193-staging-mmal-vchiq-Replace-spinlock-protecting-conte.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0193-staging-mmal-vchiq-Replace-spinlock-protecting-conte.patch
new file mode 100644
index 00000000..4f71787a
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0193-staging-mmal-vchiq-Replace-spinlock-protecting-conte.patch
@@ -0,0 +1,69 @@
+From 25cd0a6adc7da180cf9faf01e8b80405b6889f42 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 1 May 2019 15:17:00 +0100
+Subject: [PATCH 193/320] staging: mmal-vchiq: Replace spinlock protecting
+ context_map with mutex
+
+950fd86 staging: bcm2835-camera: Replace open-coded idr with a struct idr.
+replaced an internal implementation of an idr with the standard functions
+and a spinlock.
+idr_alloc(GFP_KERNEL) can sleep whilst calling kmem_cache_alloc to allocate
+the new node, but this is not valid whilst in an atomic context due to the
+spinlock.
+
+There is no need for this to be a spinlock as a standard mutex is
+sufficient.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ .../vc04_services/bcm2835-camera/mmal-vchiq.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+index 16af735af5c3..f1bb900c4aa6 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+@@ -161,7 +161,8 @@ struct vchiq_mmal_instance {
+ void *bulk_scratch;
+
+ struct idr context_map;
+- spinlock_t context_map_lock;
++ /* protect accesses to context_map */
++ struct mutex context_map_lock;
+
+ /* component to use next */
+ int component_idx;
+@@ -184,10 +185,10 @@ get_msg_context(struct vchiq_mmal_instance *instance)
+ * that when we service the VCHI reply, we can look up what
+ * message is being replied to.
+ */
+- spin_lock(&instance->context_map_lock);
++ mutex_lock(&instance->context_map_lock);
+ handle = idr_alloc(&instance->context_map, msg_context,
+ 0, 0, GFP_KERNEL);
+- spin_unlock(&instance->context_map_lock);
++ mutex_unlock(&instance->context_map_lock);
+
+ if (handle < 0) {
+ kfree(msg_context);
+@@ -211,9 +212,9 @@ release_msg_context(struct mmal_msg_context *msg_context)
+ {
+ struct vchiq_mmal_instance *instance = msg_context->instance;
+
+- spin_lock(&instance->context_map_lock);
++ mutex_lock(&instance->context_map_lock);
+ idr_remove(&instance->context_map, msg_context->handle);
+- spin_unlock(&instance->context_map_lock);
++ mutex_unlock(&instance->context_map_lock);
+ kfree(msg_context);
+ }
+
+@@ -1849,7 +1850,7 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
+
+ instance->bulk_scratch = vmalloc(PAGE_SIZE);
+
+- spin_lock_init(&instance->context_map_lock);
++ mutex_init(&instance->context_map_lock);
+ idr_init_base(&instance->context_map, 1);
+
+ params.callback_param = instance;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0194-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0194-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch
new file mode 100644
index 00000000..f667baf0
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0194-BCM270X_DT-Also-set-coherent_pool-1M-for-BT-Pis.patch
@@ -0,0 +1,53 @@
+From 4dd6ab62256ae518b662538df3cb528d78e7d8da Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Thu, 2 May 2019 22:14:34 +0100
+Subject: [PATCH 194/320] BCM270X_DT: Also set coherent_pool=1M for BT Pis
+
+See: https://github.com/raspberrypi/linux/issues/2924
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2708-rpi-0-w.dts | 2 +-
+ arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 2 +-
+ arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
+index ef0b0f040ca5..0fa5502d7d36 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
++++ b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
+@@ -7,7 +7,7 @@
+ model = "Raspberry Pi Zero W";
+
+ chosen {
+- bootargs = "8250.nr_uarts=1";
++ bootargs = "coherent_pool=1M 8250.nr_uarts=1";
+ };
+
+ aliases {
+diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+index 2dc16c38ff17..7ef6a8f8e9f2 100644
+--- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+@@ -8,7 +8,7 @@
+ model = "Raspberry Pi 3 Model B+";
+
+ chosen {
+- bootargs = "8250.nr_uarts=1";
++ bootargs = "coherent_pool=1M 8250.nr_uarts=1";
+ };
+
+ aliases {
+diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+index ee526c4c5d5a..ed00143b884a 100644
+--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+@@ -8,7 +8,7 @@
+ model = "Raspberry Pi 3 Model B";
+
+ chosen {
+- bootargs = "8250.nr_uarts=1";
++ bootargs = "coherent_pool=1M 8250.nr_uarts=1";
+ };
+
+ aliases {
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0195-configs-Enable-ICS-43432-I2S-microphone-module.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0195-configs-Enable-ICS-43432-I2S-microphone-module.patch
new file mode 100644
index 00000000..de32afb9
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0195-configs-Enable-ICS-43432-I2S-microphone-module.patch
@@ -0,0 +1,48 @@
+From 5853dfb447fa915c315183b6e3a9fa8b2772ec8c Mon Sep 17 00:00:00 2001
+From: Russell Joyce <russell.joyce@york.ac.uk>
+Date: Thu, 2 May 2019 15:18:36 +0100
+Subject: [PATCH 195/320] configs: Enable ICS-43432 I2S microphone module
+
+Signed-off-by: Russell Joyce <russell.joyce@york.ac.uk>
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ arch/arm64/configs/bcmrpi3_defconfig | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index a5881b410c8d..cdd9452e956c 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -932,6 +932,7 @@ CONFIG_SND_SOC_ADAU7002=m
+ CONFIG_SND_SOC_AK4554=m
+ CONFIG_SND_SOC_CS4265=m
+ CONFIG_SND_SOC_CS4271_I2C=m
++CONFIG_SND_SOC_ICS43432=m
+ CONFIG_SND_SOC_SPDIF=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index b638fa1cb7dd..072cda0eade8 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -925,6 +925,7 @@ CONFIG_SND_SOC_ADAU7002=m
+ CONFIG_SND_SOC_AK4554=m
+ CONFIG_SND_SOC_CS4265=m
+ CONFIG_SND_SOC_CS4271_I2C=m
++CONFIG_SND_SOC_ICS43432=m
+ CONFIG_SND_SOC_SPDIF=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
+index cada40a0b660..45433f974fb7 100644
+--- a/arch/arm64/configs/bcmrpi3_defconfig
++++ b/arch/arm64/configs/bcmrpi3_defconfig
+@@ -818,6 +818,7 @@ CONFIG_SND_SOC_AD193X_I2C=m
+ CONFIG_SND_SOC_ADAU1701=m
+ CONFIG_SND_SOC_AK4554=m
+ CONFIG_SND_SOC_CS4271_I2C=m
++CONFIG_SND_SOC_ICS43432=m
+ CONFIG_SND_SOC_WM8804_I2C=m
+ CONFIG_SND_SIMPLE_CARD=m
+ CONFIG_HIDRAW=y
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0196-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0196-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch
new file mode 100644
index 00000000..f01bcfbe
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0196-arm-dts-overlays-rpi-sense-add-upstream-humidity-com.patch
@@ -0,0 +1,28 @@
+From b0522b1d28727e1ff8df873fd7add92f57efb14b Mon Sep 17 00:00:00 2001
+From: Peter Robinson <pbrobinson@gmail.com>
+Date: Sun, 5 May 2019 21:07:12 +0100
+Subject: [PATCH 196/320] arm: dts: overlays: rpi-sense: add upstream humidity
+ compatible
+
+The upstream humidiity driver uses "st,hts221" for the compatible
+string so add that in as well so it will work with an unmodified
+upstream kernel driver. We leave the downstream as the priority.
+
+Signed-off-by: Peter Robinson <pbrobinson@gmail.com>
+---
+ arch/arm/boot/dts/overlays/rpi-sense-overlay.dts | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts
+index 27153240e1be..6eba2a10bfa5 100644
+--- a/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts
++++ b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts
+@@ -38,7 +38,7 @@
+ };
+
+ hts221-humid@5f {
+- compatible = "st,hts221-humid";
++ compatible = "st,hts221-humid", "st,hts221";
+ reg = <0x5f>;
+ status = "okay";
+ };
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0197-Added-IQaudIO-Pi-Codec-board-support-2969.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0197-Added-IQaudIO-Pi-Codec-board-support-2969.patch
new file mode 100644
index 00000000..0403e188
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0197-Added-IQaudIO-Pi-Codec-board-support-2969.patch
@@ -0,0 +1,427 @@
+From 7b44984ef40249ae667d2e9ea040a5ae1b6ab06f Mon Sep 17 00:00:00 2001
+From: IQaudIO <gordon@iqaudio.com>
+Date: Mon, 13 May 2019 21:53:05 +0100
+Subject: [PATCH 197/320] Added IQaudIO Pi-Codec board support (#2969)
+
+Add support for the IQaudIO Pi-Codec board.
+
+Signed-off-by: Gordon <gordon@iqaudio.com>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 6 +
+ .../dts/overlays/iqaudio-codec-overlay.dts | 42 +++
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ arch/arm/configs/bcmrpi_defconfig | 1 +
+ arch/arm64/configs/bcmrpi3_defconfig | 1 +
+ sound/soc/bcm/Kconfig | 7 +
+ sound/soc/bcm/Makefile | 2 +
+ sound/soc/bcm/iqaudio-codec.c | 250 ++++++++++++++++++
+ 9 files changed, 311 insertions(+)
+
+diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
+index aff7885faefb..c60c829c04dd 100644
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -66,6 +66,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ i2c1-bcm2708.dtbo \
+ i2s-gpio28-31.dtbo \
+ ilitek251x.dtbo \
++ iqaudio-codec.dtbo \
+ iqaudio-dac.dtbo \
+ iqaudio-dacplus.dtbo \
+ iqaudio-digi-wm8804-audio.dtbo \
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index 47f092a2c45a..1afce6edd380 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -1134,6 +1134,12 @@ Params: interrupt GPIO used for interrupt (default 4)
+ touchscreen (in pixels)
+
+
++Name: iqaudio-codec
++Info: Configures the IQaudio Codec audio card
++Load: dtoverlay=iqaudio-codec
++Params: <None>
++
++
+ Name: iqaudio-dac
+ Info: Configures the IQaudio DAC audio card
+ Load: dtoverlay=iqaudio-dac,<param>
+diff --git a/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts
+new file mode 100644
+index 000000000000..ff3ef3942c6c
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/iqaudio-codec-overlay.dts
+@@ -0,0 +1,42 @@
++// Definitions for IQaudIO CODEC
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@1 {
++ target = <&i2c1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ da2713@1a {
++ #sound-dai-cells = <0>;
++ compatible = "dlg,da7213";
++ reg = <0x1a>;
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&sound>;
++ iqaudio_dac: __overlay__ {
++ compatible = "iqaudio,iqaudio-codec";
++ i2s-controller = <&i2s>;
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ };
++};
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index cdd9452e956c..7b7a53f86066 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -908,6 +908,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m
++CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m
+ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index 072cda0eade8..349e2be39736 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -901,6 +901,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m
++CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m
+ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
+diff --git a/arch/arm64/configs/bcmrpi3_defconfig b/arch/arm64/configs/bcmrpi3_defconfig
+index 45433f974fb7..d860ffbcd0a2 100644
+--- a/arch/arm64/configs/bcmrpi3_defconfig
++++ b/arch/arm64/configs/bcmrpi3_defconfig
+@@ -803,6 +803,7 @@ CONFIG_SND_BCM2708_SOC_RPI_DAC=m
+ CONFIG_SND_BCM2708_SOC_RPI_PROTO=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC=m
+ CONFIG_SND_BCM2708_SOC_JUSTBOOM_DIGI=m
++CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m
+ CONFIG_SND_BCM2708_SOC_IQAUDIO_DIGI=m
+ CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M=m
+diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
+index 85ba81493506..9cfe86ef5861 100644
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -108,6 +108,13 @@ config SND_BCM2708_SOC_JUSTBOOM_DIGI
+ help
+ Say Y or M if you want to add support for JustBoom Digi.
+
++config SND_BCM2708_SOC_IQAUDIO_CODEC
++ tristate "Support for IQaudIO-CODEC"
++ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
++ select SND_SOC_DA7213
++ help
++ Say Y or M if you want to add support for IQaudIO-CODEC.
++
+ config SND_BCM2708_SOC_IQAUDIO_DAC
+ tristate "Support for IQaudIO-DAC"
+ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
+diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
+index 8f8fb92b6436..356bd229e48c 100644
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -18,6 +18,7 @@ snd-soc-hifiberry-dacplusadc-objs := hifiberry_dacplusadc.o
+ snd-soc-justboom-dac-objs := justboom-dac.o
+ snd-soc-rpi-cirrus-objs := rpi-cirrus.o
+ snd-soc-rpi-proto-objs := rpi-proto.o
++snd-soc-iqaudio-codec-objs := iqaudio-codec.o
+ snd-soc-iqaudio-dac-objs := iqaudio-dac.o
+ snd-soc-i-sabre-q2m-objs := i-sabre-q2m.o
+ snd-soc-audioinjector-pi-soundcard-objs := audioinjector-pi-soundcard.o
+@@ -42,6 +43,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC) += snd-soc-hifiberry-dacplusa
+ obj-$(CONFIG_SND_BCM2708_SOC_JUSTBOOM_DAC) += snd-soc-justboom-dac.o
+ obj-$(CONFIG_SND_BCM2708_SOC_RPI_CIRRUS) += snd-soc-rpi-cirrus.o
+ obj-$(CONFIG_SND_BCM2708_SOC_RPI_PROTO) += snd-soc-rpi-proto.o
++obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC) += snd-soc-iqaudio-codec.o
+ obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
+ obj-$(CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M) += snd-soc-i-sabre-q2m.o
+ obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD) += snd-soc-audioinjector-pi-soundcard.o
+diff --git a/sound/soc/bcm/iqaudio-codec.c b/sound/soc/bcm/iqaudio-codec.c
+new file mode 100644
+index 000000000000..4051a5f4269d
+--- /dev/null
++++ b/sound/soc/bcm/iqaudio-codec.c
+@@ -0,0 +1,250 @@
++/*
++ * ASoC Driver for IQaudIO Raspberry Pi Codec board
++ *
++ * Author: Gordon Garrity <gordon@iqaudio.com>
++ * (C) Copyright IQaudio Limited, 2017-2019
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public License
++ * version 2 as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but
++ * WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * General Public License for more details.
++ */
++
++#include <linux/module.h>
++#include <linux/gpio/consumer.h>
++#include <linux/platform_device.h>
++
++#include <sound/core.h>
++#include <sound/pcm.h>
++#include <sound/pcm_params.h>
++#include <sound/soc.h>
++#include <sound/jack.h>
++
++#include <linux/acpi.h>
++#include <linux/slab.h>
++#include "../codecs/da7213.h"
++
++static int pll_out = DA7213_PLL_FREQ_OUT_90316800;
++
++static int snd_rpi_iqaudio_pll_control(struct snd_soc_dapm_widget *w,
++ struct snd_kcontrol *k, int event)
++{
++ int ret = 0;
++ struct snd_soc_dapm_context *dapm = w->dapm;
++ struct snd_soc_card *card = dapm->card;
++ struct snd_soc_pcm_runtime *rtd =
++ snd_soc_get_pcm_runtime(card, card->dai_link[0].name);
++ struct snd_soc_dai *codec_dai = rtd->codec_dai;
++
++ if (SND_SOC_DAPM_EVENT_OFF(event)) {
++ ret = snd_soc_dai_set_pll(codec_dai, 0, DA7213_SYSCLK_MCLK, 0,
++ 0);
++ if (ret)
++ dev_err(card->dev, "Failed to bypass PLL: %d\n", ret);
++ } else if (SND_SOC_DAPM_EVENT_ON(event)) {
++ ret = snd_soc_dai_set_pll(codec_dai, 0, DA7213_SYSCLK_PLL, 0,
++ pll_out);
++ if (ret)
++ dev_err(card->dev, "Failed to enable PLL: %d\n", ret);
++ }
++
++ return ret;
++}
++
++static int snd_rpi_iqaudio_post_dapm_event(struct snd_soc_dapm_widget *w,
++ struct snd_kcontrol *kcontrol,
++ int event)
++{
++ switch (event) {
++ case SND_SOC_DAPM_POST_PMU:
++ /* Delay for mic bias ramp */
++ msleep(1000);
++ break;
++ default:
++ break;
++ }
++
++ return 0;
++}
++
++static const struct snd_soc_dapm_widget dapm_widgets[] = {
++ SND_SOC_DAPM_HP("HP Jack", NULL),
++ SND_SOC_DAPM_MIC("MIC Jack", NULL),
++ SND_SOC_DAPM_MIC("Onboard MIC", NULL),
++ SND_SOC_DAPM_LINE("AUX Jack", NULL),
++ SND_SOC_DAPM_SUPPLY("PLL Control", SND_SOC_NOPM, 0, 0,
++ snd_rpi_iqaudio_pll_control,
++ SND_SOC_DAPM_PRE_PMU | SND_SOC_DAPM_POST_PMD),
++ SND_SOC_DAPM_POST("Post Power Up Event", snd_rpi_iqaudio_post_dapm_event),
++};
++
++static const struct snd_soc_dapm_route audio_map[] = {
++ {"HP Jack", NULL, "HPL"},
++ {"HP Jack", NULL, "HPR"},
++ {"HP Jack", NULL, "PLL Control"},
++
++ {"AUX Jack", NULL, "AUXR"},
++ {"AUX Jack", NULL, "AUXL"},
++ {"AUX Jack", NULL, "PLL Control"},
++
++ /* Assume Mic1 is linked to Headset and Mic2 to on-board mic */
++ {"MIC Jack", NULL, "MIC1"},
++ {"MIC Jack", NULL, "PLL Control"},
++ {"Onboard MIC", NULL, "MIC2"},
++ {"Onboard MIC", NULL, "PLL Control"},
++};
++
++/* machine stream operations */
++
++static int snd_rpi_iqaudio_codec_init(struct snd_soc_pcm_runtime *rtd)
++{
++ struct snd_soc_dai *codec_dai = rtd->codec_dai;
++ struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
++ int ret;
++
++ /* Set bclk ratio to align with codec's BCLK rate */
++ ret = snd_soc_dai_set_bclk_ratio(cpu_dai, 64);
++ if (ret) {
++ dev_err(rtd->dev, "Failed to set CPU BLCK ratio\n");
++ return ret;
++ }
++
++ /* Set MCLK frequency to codec, onboard 11.2896MHz clock */
++ return snd_soc_dai_set_sysclk(codec_dai, DA7213_CLKSRC_MCLK, 11289600,
++ SND_SOC_CLOCK_OUT);
++}
++
++static int snd_rpi_iqaudio_codec_hw_params(struct snd_pcm_substream *substream,
++ struct snd_pcm_hw_params *params)
++{
++ struct snd_soc_pcm_runtime *rtd = substream->private_data;
++ unsigned int samplerate = params_rate(params);
++
++ switch (samplerate) {
++ case 8000:
++ case 16000:
++ case 32000:
++ case 48000:
++ case 96000:
++ pll_out = DA7213_PLL_FREQ_OUT_98304000;
++ return 0;
++ case 44100:
++ case 88200:
++ pll_out = DA7213_PLL_FREQ_OUT_90316800;
++ return 0;
++ default:
++ dev_err(rtd->dev,"Unsupported samplerate %d\n", samplerate);
++ return -EINVAL;
++ }
++}
++
++static const struct snd_soc_ops snd_rpi_iqaudio_codec_ops = {
++ .hw_params = snd_rpi_iqaudio_codec_hw_params,
++};
++
++
++static struct snd_soc_dai_link snd_rpi_iqaudio_codec_dai[] = {
++{
++ .cpu_dai_name = "bcm2708-i2s.0",
++ .codec_dai_name = "da7213-hifi",
++ .platform_name = "bmc2708-i2s.0",
++ .codec_name = "da7213.1-001a",
++ .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
++ SND_SOC_DAIFMT_CBM_CFM,
++ .init = snd_rpi_iqaudio_codec_init,
++ .ops = &snd_rpi_iqaudio_codec_ops,
++ .symmetric_rates = 1,
++ .symmetric_channels = 1,
++ .symmetric_samplebits = 1,
++},
++};
++
++/* audio machine driver */
++static struct snd_soc_card snd_rpi_iqaudio_codec = {
++ .owner = THIS_MODULE,
++ .dai_link = snd_rpi_iqaudio_codec_dai,
++ .num_links = ARRAY_SIZE(snd_rpi_iqaudio_codec_dai),
++ .dapm_widgets = dapm_widgets,
++ .num_dapm_widgets = ARRAY_SIZE(dapm_widgets),
++ .dapm_routes = audio_map,
++ .num_dapm_routes = ARRAY_SIZE(audio_map),
++};
++
++static int snd_rpi_iqaudio_codec_probe(struct platform_device *pdev)
++{
++ int ret = 0;
++
++ snd_rpi_iqaudio_codec.dev = &pdev->dev;
++
++ if (pdev->dev.of_node) {
++ struct device_node *i2s_node;
++ struct snd_soc_card *card = &snd_rpi_iqaudio_codec;
++ struct snd_soc_dai_link *dai = &snd_rpi_iqaudio_codec_dai[0];
++
++ i2s_node = of_parse_phandle(pdev->dev.of_node,
++ "i2s-controller", 0);
++ if (i2s_node) {
++ dai->cpu_dai_name = NULL;
++ dai->cpu_of_node = i2s_node;
++ dai->platform_name = NULL;
++ dai->platform_of_node = i2s_node;
++ }
++
++ if (of_property_read_string(pdev->dev.of_node, "card_name",
++ &card->name))
++ card->name = "IQaudIOCODEC";
++
++ if (of_property_read_string(pdev->dev.of_node, "dai_name",
++ &dai->name))
++ dai->name = "IQaudIO CODEC";
++
++ if (of_property_read_string(pdev->dev.of_node,
++ "dai_stream_name", &dai->stream_name))
++ dai->stream_name = "IQaudIO CODEC HiFi v1.1";
++
++ }
++
++ ret = snd_soc_register_card(&snd_rpi_iqaudio_codec);
++ if (ret) {
++ if (ret != -EPROBE_DEFER)
++ dev_err(&pdev->dev,
++ "snd_soc_register_card() failed: %d\n", ret);
++ return ret;
++ }
++
++ return 0;
++}
++
++static int snd_rpi_iqaudio_codec_remove(struct platform_device *pdev)
++{
++ return snd_soc_unregister_card(&snd_rpi_iqaudio_codec);
++}
++
++static const struct of_device_id iqaudio_of_match[] = {
++ { .compatible = "iqaudio,iqaudio-codec", },
++ {},
++};
++
++MODULE_DEVICE_TABLE(of, iqaudio_of_match);
++
++static struct platform_driver snd_rpi_iqaudio_codec_driver = {
++ .driver = {
++ .name = "snd-rpi-iqaudio-codec",
++ .owner = THIS_MODULE,
++ .of_match_table = iqaudio_of_match,
++ },
++ .probe = snd_rpi_iqaudio_codec_probe,
++ .remove = snd_rpi_iqaudio_codec_remove,
++};
++
++
++
++module_platform_driver(snd_rpi_iqaudio_codec_driver);
++
++MODULE_AUTHOR("Gordon Garrity <gordon@iqaudio.com>");
++MODULE_DESCRIPTION("ASoC Driver for IQaudIO CODEC");
++MODULE_LICENSE("GPL v2");
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0198-configs-Enable-PIDs-cgroup.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0198-configs-Enable-PIDs-cgroup.patch
new file mode 100644
index 00000000..ff3fc9d8
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0198-configs-Enable-PIDs-cgroup.patch
@@ -0,0 +1,28 @@
+From 4cc5ec4f6be555591255ee143a63c019f7196c10 Mon Sep 17 00:00:00 2001
+From: Henrique Gontijo <hgontijo@guidewire.com>
+Date: Sun, 12 May 2019 17:11:02 -0700
+Subject: [PATCH 198/320] configs: Enable PIDs cgroup
+
+My use case to is to allow Kubernetes master to run on Raspberry Pi 3.
+Kubernetes introduced [Pid limiting](https://github.com/kubernetes/enhancements/blob/master/keps/sig-node/20190129-pid-limiting.md),
+on v.1.14.0 which includes [Pod Pids Limit](https://github.com/kubernetes/kubernetes/commit/bce9d5f2043bd86964c9fec80d466e47776071bc)
+and [Node Pids Limit](https://github.com/kubernetes/kubernetes/commit/2597a1d97ef4d8f54b1ca661453e32794b756909#diff-fa76bb6ae2d9b4bb3d023737fe5e6029R333)
+that requires pids cgroup.
+
+See: https://github.com/raspberrypi/linux/pull/2968
+---
+ arch/arm/configs/bcm2709_defconfig | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index 7b7a53f86066..9395aecb3a22 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y
+ CONFIG_CPUSETS=y
+ CONFIG_CGROUP_DEVICE=y
+ CONFIG_CGROUP_CPUACCT=y
++CONFIG_CGROUP_PIDS=y
+ CONFIG_NAMESPACES=y
+ CONFIG_USER_NS=y
+ CONFIG_SCHED_AUTOGROUP=y
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0199-w1-ds2408-reset-on-output_write-retry-with-readback.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0199-w1-ds2408-reset-on-output_write-retry-with-readback.patch
new file mode 100644
index 00000000..b9d3a4fe
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0199-w1-ds2408-reset-on-output_write-retry-with-readback.patch
@@ -0,0 +1,142 @@
+From 9060c0e53e646e48372b65f1c27c34f6feeea9a7 Mon Sep 17 00:00:00 2001
+From: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
+Date: Thu, 28 Mar 2019 12:41:11 -0400
+Subject: [PATCH 199/320] w1: ds2408: reset on output_write retry with readback
+
+commit 49695ac46861180baf2b2b92c62da8619b6bf28f upstream.
+
+When we have success in 'Channel Access Write' but reading back latch
+states fails, a write is retried without doing a proper slave reset.
+This leads to protocol errors as the slave treats the next 'Channel
+Access Write' as the continuation of previous command.
+
+This commit is fixing this by making sure if the retry loop re-runs, a
+reset is performed, whatever the failure (CONFIRM_BYTE or the read
+back).
+
+The loop was quite due for a cleanup and this change mandated it. By
+isolating the CONFIG_W1_SLAVE_DS2408_READBACK case into it's own
+function, we vastly reduce the visual and branching(runtime and
+compile-time) noise.
+
+Reported-by: Mariusz Bialonczyk <manio@skyboo.net>
+Tested-by: Mariusz Bialonczyk <manio@skyboo.net>
+Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/w1/slaves/w1_ds2408.c | 76 ++++++++++++++++++-----------------
+ 1 file changed, 39 insertions(+), 37 deletions(-)
+
+diff --git a/drivers/w1/slaves/w1_ds2408.c b/drivers/w1/slaves/w1_ds2408.c
+index b535d5ec35b6..92e8f0755b9a 100644
+--- a/drivers/w1/slaves/w1_ds2408.c
++++ b/drivers/w1/slaves/w1_ds2408.c
+@@ -138,14 +138,37 @@ static ssize_t status_control_read(struct file *filp, struct kobject *kobj,
+ W1_F29_REG_CONTROL_AND_STATUS, buf);
+ }
+
++#ifdef fCONFIG_W1_SLAVE_DS2408_READBACK
++static bool optional_read_back_valid(struct w1_slave *sl, u8 expected)
++{
++ u8 w1_buf[3];
++
++ if (w1_reset_resume_command(sl->master))
++ return false;
++
++ w1_buf[0] = W1_F29_FUNC_READ_PIO_REGS;
++ w1_buf[1] = W1_F29_REG_OUTPUT_LATCH_STATE;
++ w1_buf[2] = 0;
++
++ w1_write_block(sl->master, w1_buf, 3);
++
++ return (w1_read_8(sl->master) == expected);
++}
++#else
++static bool optional_read_back_valid(struct w1_slave *sl, u8 expected)
++{
++ return true;
++}
++#endif
++
+ static ssize_t output_write(struct file *filp, struct kobject *kobj,
+ struct bin_attribute *bin_attr, char *buf,
+ loff_t off, size_t count)
+ {
+ struct w1_slave *sl = kobj_to_w1_slave(kobj);
+ u8 w1_buf[3];
+- u8 readBack;
+ unsigned int retries = W1_F29_RETRIES;
++ ssize_t bytes_written = -EIO;
+
+ if (count != 1 || off != 0)
+ return -EFAULT;
+@@ -155,54 +178,33 @@ static ssize_t output_write(struct file *filp, struct kobject *kobj,
+ dev_dbg(&sl->dev, "mutex locked");
+
+ if (w1_reset_select_slave(sl))
+- goto error;
++ goto out;
+
+- while (retries--) {
++ do {
+ w1_buf[0] = W1_F29_FUNC_CHANN_ACCESS_WRITE;
+ w1_buf[1] = *buf;
+ w1_buf[2] = ~(*buf);
++
+ w1_write_block(sl->master, w1_buf, 3);
+
+- readBack = w1_read_8(sl->master);
+-
+- if (readBack != W1_F29_SUCCESS_CONFIRM_BYTE) {
+- if (w1_reset_resume_command(sl->master))
+- goto error;
+- /* try again, the slave is ready for a command */
+- continue;
++ if (w1_read_8(sl->master) == W1_F29_SUCCESS_CONFIRM_BYTE &&
++ optional_read_back_valid(sl, *buf)) {
++ bytes_written = 1;
++ goto out;
+ }
+
+-#ifdef CONFIG_W1_SLAVE_DS2408_READBACK
+- /* here the master could read another byte which
+- would be the PIO reg (the actual pin logic state)
+- since in this driver we don't know which pins are
+- in and outs, there's no value to read the state and
+- compare. with (*buf) so end this command abruptly: */
+ if (w1_reset_resume_command(sl->master))
+- goto error;
++ goto out; /* unrecoverable error */
++ /* try again, the slave is ready for a command */
++ } while (--retries);
+
+- /* go read back the output latches */
+- /* (the direct effect of the write above) */
+- w1_buf[0] = W1_F29_FUNC_READ_PIO_REGS;
+- w1_buf[1] = W1_F29_REG_OUTPUT_LATCH_STATE;
+- w1_buf[2] = 0;
+- w1_write_block(sl->master, w1_buf, 3);
+- /* read the result of the READ_PIO_REGS command */
+- if (w1_read_8(sl->master) == *buf)
+-#endif
+- {
+- /* success! */
+- mutex_unlock(&sl->master->bus_mutex);
+- dev_dbg(&sl->dev,
+- "mutex unlocked, retries:%d", retries);
+- return 1;
+- }
+- }
+-error:
++out:
+ mutex_unlock(&sl->master->bus_mutex);
+- dev_dbg(&sl->dev, "mutex unlocked in error, retries:%d", retries);
+
+- return -EIO;
++ dev_dbg(&sl->dev, "%s, mutex unlocked retries:%d\n",
++ (bytes_written > 0) ? "succeeded" : "error", retries);
++
++ return bytes_written;
+ }
+
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0200-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0200-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch
new file mode 100644
index 00000000..dcd7ffee
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0200-w1-ds2482-cosmetic-fixes-after-54865314f5a1.patch
@@ -0,0 +1,93 @@
+From a394cfea8c51fe5b253471f864ec3183334b13e5 Mon Sep 17 00:00:00 2001
+From: Mariusz Bialonczyk <manio@skyboo.net>
+Date: Mon, 4 Mar 2019 12:23:36 +0100
+Subject: [PATCH 200/320] w1: ds2482: cosmetic fixes after 54865314f5a1
+
+commit 5cb27d30fc3a281e830a2099d520b469e2b82008 upstream.
+
+We have a helper function ds2482_calculate_config() which is calculating
+the config value, so just use it instead of passing the same variable
+in all calls to this function.
+
+Also fixes the placement of module parameters to match with:
+50fa2951bd74 (w1: Organize driver source to natural/common order)
+by Andrew F. Davis
+
+Signed-off-by: Mariusz Bialonczyk <manio@skyboo.net>
+Cc: Andrew Worsley <amworsley@gmail.com>
+Cc: Andrew F. Davis <afd@ti.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/w1/masters/ds2482.c | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/w1/masters/ds2482.c b/drivers/w1/masters/ds2482.c
+index 8b5e598ffdb3..8f2b25f1614c 100644
+--- a/drivers/w1/masters/ds2482.c
++++ b/drivers/w1/masters/ds2482.c
+@@ -37,6 +37,11 @@ module_param_named(active_pullup, ds2482_active_pullup, int, 0644);
+ MODULE_PARM_DESC(active_pullup, "Active pullup (apply to all buses): " \
+ "0-disable, 1-enable (default)");
+
++/* extra configurations - e.g. 1WS */
++static int extra_config;
++module_param(extra_config, int, S_IRUGO | S_IWUSR);
++MODULE_PARM_DESC(extra_config, "Extra Configuration settings 1=APU,2=PPM,3=SPU,8=1WS");
++
+ /**
+ * The DS2482 registers - there are 3 registers that are addressed by a read
+ * pointer. The read pointer is set by the last command executed.
+@@ -70,8 +75,6 @@ MODULE_PARM_DESC(active_pullup, "Active pullup (apply to all buses): " \
+ #define DS2482_REG_CFG_PPM 0x02 /* presence pulse masking */
+ #define DS2482_REG_CFG_APU 0x01 /* active pull-up */
+
+-/* extra configurations - e.g. 1WS */
+-static int extra_config;
+
+ /**
+ * Write and verify codes for the CHANNEL_SELECT command (DS2482-800 only).
+@@ -130,6 +133,8 @@ struct ds2482_data {
+ */
+ static inline u8 ds2482_calculate_config(u8 conf)
+ {
++ conf |= extra_config;
++
+ if (ds2482_active_pullup)
+ conf |= DS2482_REG_CFG_APU;
+
+@@ -405,7 +410,7 @@ static u8 ds2482_w1_reset_bus(void *data)
+ /* If the chip did reset since detect, re-config it */
+ if (err & DS2482_REG_STS_RST)
+ ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG,
+- ds2482_calculate_config(extra_config));
++ ds2482_calculate_config(0x00));
+ }
+
+ mutex_unlock(&pdev->access_lock);
+@@ -431,7 +436,8 @@ static u8 ds2482_w1_set_pullup(void *data, int delay)
+ ds2482_wait_1wire_idle(pdev);
+ /* note: it seems like both SPU and APU have to be set! */
+ retval = ds2482_send_cmd_data(pdev, DS2482_CMD_WRITE_CONFIG,
+- ds2482_calculate_config(extra_config|DS2482_REG_CFG_SPU|DS2482_REG_CFG_APU));
++ ds2482_calculate_config(DS2482_REG_CFG_SPU |
++ DS2482_REG_CFG_APU));
+ ds2482_wait_1wire_idle(pdev);
+ }
+
+@@ -484,7 +490,7 @@ static int ds2482_probe(struct i2c_client *client,
+
+ /* Set all config items to 0 (off) */
+ ds2482_send_cmd_data(data, DS2482_CMD_WRITE_CONFIG,
+- ds2482_calculate_config(extra_config));
++ ds2482_calculate_config(0x00));
+
+ mutex_init(&data->access_lock);
+
+@@ -559,7 +565,5 @@ module_i2c_driver(ds2482_driver);
+
+ MODULE_AUTHOR("Ben Gardner <bgardner@wabtec.com>");
+ MODULE_DESCRIPTION("DS2482 driver");
+-module_param(extra_config, int, S_IRUGO | S_IWUSR);
+-MODULE_PARM_DESC(extra_config, "Extra Configuration settings 1=APU,2=PPM,3=SPU,8=1WS");
+
+ MODULE_LICENSE("GPL");
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0201-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0201-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch
new file mode 100644
index 00000000..27c2ccfc
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0201-sound-pcm512x-codec-Adding-352.8kHz-samplerate-suppo.patch
@@ -0,0 +1,23 @@
+From 993f9d3730d6fb6dd166656b98abf2ce70a5bcb8 Mon Sep 17 00:00:00 2001
+From: Klaus Schulz <klsschlz@gmail.com>
+Date: Thu, 16 May 2019 13:35:32 +0200
+Subject: [PATCH 201/320] sound: pcm512x-codec: Adding 352.8kHz samplerate
+ support
+
+---
+ sound/soc/codecs/pcm512x.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c
+index 62d05b01711f..14191c6e7c42 100644
+--- a/sound/soc/codecs/pcm512x.c
++++ b/sound/soc/codecs/pcm512x.c
+@@ -542,7 +542,7 @@ static unsigned long pcm512x_ncp_target(struct pcm512x_priv *pcm512x,
+
+ static const u32 pcm512x_dai_rates[] = {
+ 8000, 11025, 16000, 22050, 32000, 44100, 48000, 64000,
+- 88200, 96000, 176400, 192000, 384000,
++ 88200, 96000, 176400, 192000, 352800, 384000,
+ };
+
+ static const struct snd_pcm_hw_constraint_list constraints_slave = {
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0202-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0202-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch
new file mode 100644
index 00000000..0dd3b51e
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0202-ASoC-decommissioning-driver-for-3Dlab-Nano-soundcard.patch
@@ -0,0 +1,538 @@
+From 5e501a5d2b94687566664acbd3aca058027251a9 Mon Sep 17 00:00:00 2001
+From: GT <dev@3d-lab-av.com>
+Date: Sat, 6 Apr 2019 21:16:39 +0100
+Subject: [PATCH 202/320] ASoC: decommissioning driver for 3Dlab Nano soundcard
+
+---
+ .../overlays/3dlab-nano-player-overlay.dts | 32 --
+ arch/arm/boot/dts/overlays/Makefile | 1 -
+ arch/arm/boot/dts/overlays/README | 6 -
+ arch/arm/configs/bcm2709_defconfig | 1 -
+ arch/arm/configs/bcmrpi_defconfig | 1 -
+ sound/soc/bcm/3dlab-nano-player.c | 370 ------------------
+ sound/soc/bcm/Kconfig | 6 -
+ sound/soc/bcm/Makefile | 6 +-
+ 8 files changed, 2 insertions(+), 421 deletions(-)
+
+diff --git a/arch/arm/boot/dts/overlays/3dlab-nano-player-overlay.dts b/arch/arm/boot/dts/overlays/3dlab-nano-player-overlay.dts
+deleted file mode 100644
+index 38f7bb2c9de3..000000000000
+--- a/arch/arm/boot/dts/overlays/3dlab-nano-player-overlay.dts
++++ /dev/null
+@@ -1,32 +0,0 @@
+-// Definitions for 3Dlab Nano Player
+-/dts-v1/;
+-/plugin/;
+-
+-/ {
+- compatible = "brcm,bcm2708";
+-
+- fragment@0 {
+- target = <&i2s>;
+- __overlay__ {
+- status = "okay";
+- };
+- };
+-
+- fragment@1 {
+- target = <&i2c>;
+- __overlay__ {
+- #address-cells = <1>;
+- #size-cells = <0>;
+- status = "okay";
+-
+- nano-player@41 {
+- compatible = "3dlab,nano-player";
+- reg = <0x41>;
+- i2s-controller = <&i2s>;
+- status = "okay";
+- };
+- };
+- };
+-};
+-
+-// EOF
+diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
+index c60c829c04dd..b75e4333aec6 100644
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -1,7 +1,6 @@
+ # Overlays for the Raspberry Pi platform
+
+ dtbo-$(CONFIG_ARCH_BCM2835) += \
+- 3dlab-nano-player.dtbo \
+ adau1977-adc.dtbo \
+ adau7002-simple.dtbo \
+ ads1015.dtbo \
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index 1afce6edd380..468d6cf604b5 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -205,12 +205,6 @@ Params:
+ and the other i2c baudrate parameters.
+
+
+-Name: 3dlab-nano-player
+-Info: Configures the 3Dlab Nano Player
+-Load: dtoverlay=3dlab-nano-player
+-Params: <None>
+-
+-
+ Name: adau1977-adc
+ Info: Overlay for activation of ADAU1977 ADC codec over I2C for control
+ and I2S for data.
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index 9395aecb3a22..c50dffadd684 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -897,7 +897,6 @@ CONFIG_SND_USB_6FIRE=m
+ CONFIG_SND_USB_HIFACE=m
+ CONFIG_SND_SOC=m
+ CONFIG_SND_BCM2835_SOC_I2S=m
+-CONFIG_SND_BCM2708_SOC_3DLAB_NANO_PLAYER=m
+ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index 349e2be39736..e52a11132493 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -889,7 +889,6 @@ CONFIG_SND_USB_6FIRE=m
+ CONFIG_SND_USB_HIFACE=m
+ CONFIG_SND_SOC=m
+ CONFIG_SND_BCM2835_SOC_I2S=m
+-CONFIG_SND_BCM2708_SOC_3DLAB_NANO_PLAYER=m
+ CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC=m
+ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS=m
+diff --git a/sound/soc/bcm/3dlab-nano-player.c b/sound/soc/bcm/3dlab-nano-player.c
+deleted file mode 100644
+index 7d4a63f40d60..000000000000
+--- a/sound/soc/bcm/3dlab-nano-player.c
++++ /dev/null
+@@ -1,370 +0,0 @@
+-/*
+- * 3Dlab Nano Player ALSA SoC Audio driver.
+- *
+- * Copyright (C) 2018 3Dlab.
+- *
+- * Author: GT <dev@3d-lab-av.com>
+- *
+- * This program is free software; you can redistribute it and/or
+- * modify it under the terms of the GNU General Public License
+- * version 2 as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful, but
+- * WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+- * General Public License for more details.
+- */
+-
+-#include <linux/module.h>
+-#include <linux/i2c.h>
+-#include <sound/soc.h>
+-#include <sound/pcm.h>
+-#include <sound/pcm_params.h>
+-#include <sound/control.h>
+-
+-#define NANO_ID 0x00
+-#define NANO_VER 0x01
+-#define NANO_CFG 0x02
+-#define NANO_STATUS 0x03
+-#define NANO_SPI_ADDR 0x04
+-#define NANO_SPI_DATA 0x05
+-
+-#define NANO_ID_VAL 0x3D
+-#define NANO_CFG_OFF 0x00
+-#define NANO_CFG_MULT1 0
+-#define NANO_CFG_MULT2 1
+-#define NANO_CFG_MULT4 2
+-#define NANO_CFG_MULT8 3
+-#define NANO_CFG_MULT16 4
+-#define NANO_CFG_CLK22 0
+-#define NANO_CFG_CLK24 BIT(3)
+-#define NANO_CFG_DSD BIT(4)
+-#define NANO_CFG_ENA BIT(5)
+-#define NANO_CFG_BLINK BIT(6)
+-#define NANO_STATUS_P1 BIT(0)
+-#define NANO_STATUS_P2 BIT(1)
+-#define NANO_STATUS_FLG BIT(2)
+-#define NANO_STATUS_CLK BIT(3)
+-#define NANO_SPI_READ 0
+-#define NANO_SPI_WRITE BIT(5)
+-
+-#define NANO_DAC_CTRL1 0x00
+-#define NANO_DAC_CTRL2 0x01
+-#define NANO_DAC_CTRL3 0x02
+-#define NANO_DAC_LATT 0x03
+-#define NANO_DAC_RATT 0x04
+-
+-#define NANO_CTRL2_VAL 0x22
+-
+-static int nano_player_spi_write(struct regmap *map,
+- unsigned int reg, unsigned int val)
+-{
+- /* indirect register access */
+- regmap_write(map, NANO_SPI_DATA, val);
+- regmap_write(map, NANO_SPI_ADDR, reg | NANO_SPI_WRITE);
+- return 0;
+-}
+-
+-static int nano_player_ctrl_info(struct snd_kcontrol *kcontrol,
+- struct snd_ctl_elem_info *uinfo)
+-{
+- /* describe control element */
+- if (strstr(kcontrol->id.name, "Volume")) {
+- uinfo->type = SNDRV_CTL_ELEM_TYPE_INTEGER;
+- uinfo->count = 1;
+- uinfo->value.integer.min = 0;
+- uinfo->value.integer.max = 100;
+- } else {
+- uinfo->type = SNDRV_CTL_ELEM_TYPE_BOOLEAN;
+- uinfo->count = 1;
+- uinfo->value.integer.min = 0;
+- uinfo->value.integer.max = 1;
+- }
+-
+- return 0;
+-}
+-
+-static int nano_player_ctrl_put(struct snd_kcontrol *kcontrol,
+- struct snd_ctl_elem_value *ucontrol)
+-{
+- /* program control value to hardware */
+- struct snd_soc_card *card = snd_kcontrol_chip(kcontrol);
+- struct regmap *regmap = snd_soc_card_get_drvdata(card);
+-
+- if (strstr(kcontrol->id.name, "Volume")) {
+- unsigned int vol = ucontrol->value.integer.value[0];
+- unsigned int att = 255 - (2 * (100 - vol));
+-
+- nano_player_spi_write(regmap, NANO_DAC_LATT, att);
+- nano_player_spi_write(regmap, NANO_DAC_RATT, att);
+- kcontrol->private_value = vol;
+- } else {
+- unsigned int mute = ucontrol->value.integer.value[0];
+- unsigned int reg = NANO_CTRL2_VAL | mute;
+-
+- nano_player_spi_write(regmap, NANO_DAC_CTRL2, reg);
+- kcontrol->private_value = mute;
+- }
+- return 0;
+-}
+-
+-static int nano_player_ctrl_get(struct snd_kcontrol *kcontrol,
+- struct snd_ctl_elem_value *ucontrol)
+-{
+- /* return last programmed value */
+- ucontrol->value.integer.value[0] = kcontrol->private_value;
+- return 0;
+-}
+-
+-#define SOC_NANO_PLAYER_CTRL(xname) \
+-{ .iface = SNDRV_CTL_ELEM_IFACE_MIXER, .name = (xname), \
+- .access = SNDRV_CTL_ELEM_ACCESS_READWRITE, \
+- .info = nano_player_ctrl_info, \
+- .put = nano_player_ctrl_put, \
+- .get = nano_player_ctrl_get }
+-
+-static const struct snd_kcontrol_new nano_player_controls[] = {
+- SOC_NANO_PLAYER_CTRL("Master Playback Volume"),
+- SOC_NANO_PLAYER_CTRL("Master Playback Switch"),
+-};
+-
+-static const unsigned int nano_player_rates[] = {
+- 44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000,
+- 705600, 768000 /* only possible with fast clocks */
+-};
+-
+-static struct snd_pcm_hw_constraint_list nano_player_constraint_rates = {
+- .list = nano_player_rates,
+- .count = ARRAY_SIZE(nano_player_rates),
+-};
+-
+-static int nano_player_init(struct snd_soc_pcm_runtime *rtd)
+-{
+- struct snd_soc_card *card = rtd->card;
+- struct regmap *regmap = snd_soc_card_get_drvdata(card);
+- struct snd_soc_pcm_stream *cpu = &rtd->cpu_dai->driver->playback;
+- struct snd_soc_pcm_stream *codec = &rtd->codec_dai->driver->playback;
+- unsigned int sample_bits = 32;
+- unsigned int val;
+-
+- /* configure cpu dai */
+- cpu->formats |= SNDRV_PCM_FMTBIT_DSD_U32_LE;
+- cpu->rate_max = 768000;
+-
+- /* configure dummy codec dai */
+- codec->rate_min = 44100;
+- codec->rates = SNDRV_PCM_RATE_KNOT;
+- codec->formats = SNDRV_PCM_FMTBIT_S32_LE | SNDRV_PCM_FMTBIT_DSD_U32_LE;
+-
+- /* configure max supported rate */
+- regmap_read(regmap, NANO_STATUS, &val);
+- if (val & NANO_STATUS_CLK) {
+- dev_notice(card->dev, "Board with fast clocks installed\n");
+- codec->rate_max = 768000;
+- } else {
+- dev_notice(card->dev, "Board with normal clocks installed\n");
+- codec->rate_max = 384000;
+- }
+-
+- /* frame length enforced by hardware */
+- return snd_soc_dai_set_bclk_ratio(rtd->cpu_dai, sample_bits * 2);
+-}
+-
+-static int nano_player_startup(struct snd_pcm_substream *substream)
+-{
+- return snd_pcm_hw_constraint_list(substream->runtime, 0,
+- SNDRV_PCM_HW_PARAM_RATE,
+- &nano_player_constraint_rates);
+-}
+-
+-static int nano_player_hw_params(struct snd_pcm_substream *substream,
+- struct snd_pcm_hw_params *params)
+-{
+- struct snd_soc_pcm_runtime *rtd = substream->private_data;
+- struct snd_soc_card *card = rtd->card;
+- struct regmap *regmap = snd_soc_card_get_drvdata(card);
+- unsigned int config = NANO_CFG_ENA;
+- struct snd_mask *fmt;
+-
+- /* configure PCM or DSD */
+- fmt = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT);
+- if (snd_mask_test(fmt, SNDRV_PCM_FORMAT_DSD_U32_LE)) {
+- /* embed DSD in PCM data */
+- snd_mask_none(fmt);
+- snd_mask_set(fmt, SNDRV_PCM_FORMAT_S32_LE);
+- /* enable DSD mode */
+- config |= NANO_CFG_DSD;
+- }
+-
+- /* configure clocks */
+- switch (params_rate(params)) {
+- case 44100:
+- config |= NANO_CFG_MULT1 | NANO_CFG_CLK22;
+- break;
+- case 88200:
+- config |= NANO_CFG_MULT2 | NANO_CFG_CLK22;
+- break;
+- case 176400:
+- config |= NANO_CFG_MULT4 | NANO_CFG_CLK22;
+- break;
+- case 352800:
+- config |= NANO_CFG_MULT8 | NANO_CFG_CLK22;
+- break;
+- case 705600:
+- config |= NANO_CFG_MULT16 | NANO_CFG_CLK22;
+- break;
+- case 48000:
+- config |= NANO_CFG_MULT1 | NANO_CFG_CLK24;
+- break;
+- case 96000:
+- config |= NANO_CFG_MULT2 | NANO_CFG_CLK24;
+- break;
+- case 192000:
+- config |= NANO_CFG_MULT4 | NANO_CFG_CLK24;
+- break;
+- case 384000:
+- config |= NANO_CFG_MULT8 | NANO_CFG_CLK24;
+- break;
+- case 768000:
+- config |= NANO_CFG_MULT16 | NANO_CFG_CLK24;
+- break;
+- default:
+- return -EINVAL;
+- }
+-
+- dev_dbg(card->dev, "Send CFG register 0x%02X\n", config);
+- return regmap_write(regmap, NANO_CFG, config);
+-}
+-
+-static struct snd_soc_ops nano_player_ops = {
+- .startup = nano_player_startup,
+- .hw_params = nano_player_hw_params,
+-};
+-
+-static struct snd_soc_dai_link nano_player_link = {
+- .name = "3Dlab Nano Player",
+- .stream_name = "3Dlab Nano Player HiFi",
+- .platform_name = "bcm2708-i2s.0",
+- .cpu_dai_name = "bcm2708-i2s.0",
+- .codec_name = "snd-soc-dummy",
+- .codec_dai_name = "snd-soc-dummy-dai",
+- .dai_fmt = SND_SOC_DAIFMT_I2S |
+- SND_SOC_DAIFMT_CONT |
+- SND_SOC_DAIFMT_NB_NF |
+- SND_SOC_DAIFMT_CBM_CFM,
+- .init = nano_player_init,
+- .ops = &nano_player_ops,
+-};
+-
+-static const struct regmap_config nano_player_regmap = {
+- .reg_bits = 8,
+- .val_bits = 8,
+- .max_register = 128,
+- .cache_type = REGCACHE_RBTREE,
+-};
+-
+-static int nano_player_card_probe(struct snd_soc_card *card)
+-{
+- struct regmap *regmap = snd_soc_card_get_drvdata(card);
+- unsigned int val;
+-
+- /* check hardware integrity */
+- regmap_read(regmap, NANO_ID, &val);
+- if (val != NANO_ID_VAL) {
+- dev_err(card->dev, "Invalid ID register 0x%02X\n", val);
+- return -ENODEV;
+- }
+-
+- /* report version to the user */
+- regmap_read(regmap, NANO_VER, &val);
+- dev_notice(card->dev, "Started 3Dlab Nano Player driver (v%d)\n", val);
+-
+- /* enable internal audio bus and blink status LED */
+- return regmap_write(regmap, NANO_CFG, NANO_CFG_ENA | NANO_CFG_BLINK);
+-}
+-
+-static int nano_player_card_remove(struct snd_soc_card *card)
+-{
+- /* disable internal audio bus */
+- struct regmap *regmap = snd_soc_card_get_drvdata(card);
+-
+- return regmap_write(regmap, NANO_CFG, NANO_CFG_OFF);
+-}
+-
+-static struct snd_soc_card nano_player_card = {
+- .name = "3Dlab_Nano_Player",
+- .owner = THIS_MODULE,
+- .dai_link = &nano_player_link,
+- .num_links = 1,
+- .controls = nano_player_controls,
+- .num_controls = ARRAY_SIZE(nano_player_controls),
+- .probe = nano_player_card_probe,
+- .remove = nano_player_card_remove,
+-};
+-
+-static int nano_player_i2c_probe(struct i2c_client *i2c,
+- const struct i2c_device_id *id)
+-{
+- struct regmap *regmap;
+- int ret;
+-
+- regmap = devm_regmap_init_i2c(i2c, &nano_player_regmap);
+- if (IS_ERR(regmap)) {
+- ret = PTR_ERR(regmap);
+- dev_err(&i2c->dev, "Failed to init regmap %d\n", ret);
+- return ret;
+- }
+-
+- if (i2c->dev.of_node) {
+- struct snd_soc_dai_link *dai = &nano_player_link;
+- struct device_node *node;
+-
+- /* cpu handle configured by device tree */
+- node = of_parse_phandle(i2c->dev.of_node, "i2s-controller", 0);
+- if (node) {
+- dai->platform_name = NULL;
+- dai->platform_of_node = node;
+- dai->cpu_dai_name = NULL;
+- dai->cpu_of_node = node;
+- }
+- }
+-
+- nano_player_card.dev = &i2c->dev;
+- snd_soc_card_set_drvdata(&nano_player_card, regmap);
+- ret = devm_snd_soc_register_card(&i2c->dev, &nano_player_card);
+-
+- if (ret && ret != -EPROBE_DEFER)
+- dev_err(&i2c->dev, "Failed to register card %d\n", ret);
+-
+- return ret;
+-}
+-
+-static const struct of_device_id nano_player_of_match[] = {
+- { .compatible = "3dlab,nano-player", },
+- { }
+-};
+-MODULE_DEVICE_TABLE(of, nano_player_of_match);
+-
+-static const struct i2c_device_id nano_player_i2c_id[] = {
+- { "nano-player", 0 },
+- { }
+-};
+-MODULE_DEVICE_TABLE(i2c, nano_player_i2c_id);
+-
+-static struct i2c_driver nano_player_i2c_driver = {
+- .probe = nano_player_i2c_probe,
+- .id_table = nano_player_i2c_id,
+- .driver = {
+- .name = "nano-player",
+- .owner = THIS_MODULE,
+- .of_match_table = nano_player_of_match,
+- },
+-};
+-
+-module_i2c_driver(nano_player_i2c_driver);
+-
+-MODULE_DESCRIPTION("ASoC 3Dlab Nano Player driver");
+-MODULE_AUTHOR("GT <dev@3d-lab-av.com>");
+-MODULE_LICENSE("GPL v2");
+-
+-/* EOF */
+diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig
+index 9cfe86ef5861..75786ab06a53 100644
+--- a/sound/soc/bcm/Kconfig
++++ b/sound/soc/bcm/Kconfig
+@@ -17,12 +17,6 @@ config SND_SOC_CYGNUS
+
+ If you don't know what to do here, say N.
+
+-config SND_BCM2708_SOC_3DLAB_NANO_PLAYER
+- tristate "Support for 3Dlab Nano Player"
+- depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
+- help
+- Say Y or M if you want to add support for 3Dlab Nano Player.
+-
+ config SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD
+ tristate "Support for Google voiceHAT soundcard"
+ depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S
+diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile
+index 356bd229e48c..4f588a29d825 100644
+--- a/sound/soc/bcm/Makefile
++++ b/sound/soc/bcm/Makefile
+@@ -12,7 +12,6 @@ obj-$(CONFIG_SND_SOC_CYGNUS) += snd-soc-cygnus.o
+ snd-soc-googlevoicehat-codec-objs := googlevoicehat-codec.o
+
+ # BCM2708 Machine Support
+-snd-soc-3dlab-nano-player-objs := 3dlab-nano-player.o
+ snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o
+ snd-soc-hifiberry-dacplusadc-objs := hifiberry_dacplusadc.o
+ snd-soc-justboom-dac-objs := justboom-dac.o
+@@ -20,7 +19,7 @@ snd-soc-rpi-cirrus-objs := rpi-cirrus.o
+ snd-soc-rpi-proto-objs := rpi-proto.o
+ snd-soc-iqaudio-codec-objs := iqaudio-codec.o
+ snd-soc-iqaudio-dac-objs := iqaudio-dac.o
+- snd-soc-i-sabre-q2m-objs := i-sabre-q2m.o
++snd-soc-i-sabre-q2m-objs := i-sabre-q2m.o
+ snd-soc-audioinjector-pi-soundcard-objs := audioinjector-pi-soundcard.o
+ snd-soc-audioinjector-octo-soundcard-objs := audioinjector-octo-soundcard.o
+ snd-soc-audiosense-pi-objs := audiosense-pi.o
+@@ -36,7 +35,6 @@ snd-soc-fe-pi-audio-objs := fe-pi-audio.o
+ snd-soc-rpi-simple-soundcard-objs := rpi-simple-soundcard.o
+ snd-soc-rpi-wm8804-soundcard-objs := rpi-wm8804-soundcard.o
+
+-obj-$(CONFIG_SND_BCM2708_SOC_3DLAB_NANO_PLAYER) += snd-soc-3dlab-nano-player.o
+ obj-$(CONFIG_SND_BCM2708_SOC_GOOGLEVOICEHAT_SOUNDCARD) += snd-soc-googlevoicehat-codec.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += snd-soc-hifiberry-dacplus.o
+ obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUSADC) += snd-soc-hifiberry-dacplusadc.o
+@@ -45,7 +43,7 @@ obj-$(CONFIG_SND_BCM2708_SOC_RPI_CIRRUS) += snd-soc-rpi-cirrus.o
+ obj-$(CONFIG_SND_BCM2708_SOC_RPI_PROTO) += snd-soc-rpi-proto.o
+ obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_CODEC) += snd-soc-iqaudio-codec.o
+ obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o
+- obj-$(CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M) += snd-soc-i-sabre-q2m.o
++obj-$(CONFIG_SND_BCM2708_SOC_I_SABRE_Q2M) += snd-soc-i-sabre-q2m.o
+ obj-$(CONFIG_SND_AUDIOINJECTOR_PI_SOUNDCARD) += snd-soc-audioinjector-pi-soundcard.o
+ obj-$(CONFIG_SND_AUDIOINJECTOR_OCTO_SOUNDCARD) += snd-soc-audioinjector-octo-soundcard.o
+ obj-$(CONFIG_SND_AUDIOSENSE_PI) += snd-soc-audiosense-pi.o
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0203-.gitignore-Add-.dtbo-explicitly.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0203-.gitignore-Add-.dtbo-explicitly.patch
new file mode 100644
index 00000000..8596b276
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0203-.gitignore-Add-.dtbo-explicitly.patch
@@ -0,0 +1,24 @@
+From ff2f8c28e25ff675f3f189ed0b7a0714f69c47f8 Mon Sep 17 00:00:00 2001
+From: popcornmix <popcornmix@gmail.com>
+Date: Tue, 21 May 2019 15:17:33 +0100
+Subject: [PATCH 203/320] .gitignore: Add *.dtbo explicitly
+
+Signed-off-by: popcornmix <popcornmix@gmail.com>
+---
+ .gitignore | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/.gitignore b/.gitignore
+index 1e2890d08202..2b5cb7271107 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -16,7 +16,8 @@
+ *.bz2
+ *.c.[012]*.*
+ *.dt.yaml
+-*.dtb*
++*.dtb
++*.dtbo
+ *.dtb.S
+ *.dwo
+ *.elf
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0204-allo-boss-dac-switch-to-snd_soc_dai_set_bclk_ratio.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0204-allo-boss-dac-switch-to-snd_soc_dai_set_bclk_ratio.patch
new file mode 100644
index 00000000..6c35a8a3
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0204-allo-boss-dac-switch-to-snd_soc_dai_set_bclk_ratio.patch
@@ -0,0 +1,29 @@
+From 19139b690adb16a4905febe61100713eba5e04dc Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Tue, 7 May 2019 12:53:41 +0200
+Subject: [PATCH 204/320] allo-boss-dac: switch to snd_soc_dai_set_bclk_ratio
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ sound/soc/bcm/allo-boss-dac.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/sound/soc/bcm/allo-boss-dac.c b/sound/soc/bcm/allo-boss-dac.c
+index 6f3509e27e3e..f13b48344140 100644
+--- a/sound/soc/bcm/allo-boss-dac.c
++++ b/sound/soc/bcm/allo-boss-dac.c
+@@ -288,12 +288,10 @@ static int snd_allo_boss_hw_params(
+ return ret;
+ }
+
+- ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->cpu_dai, channels * width);
+ if (ret)
+ return ret;
+- ret = snd_soc_dai_set_tdm_slot(rtd->codec_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->codec_dai, channels * width);
+ return ret;
+ }
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0205-hifiberry_dacplus-switch-to-snd_soc_dai_set_bclk_rat.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0205-hifiberry_dacplus-switch-to-snd_soc_dai_set_bclk_rat.patch
new file mode 100644
index 00000000..3a3815bb
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0205-hifiberry_dacplus-switch-to-snd_soc_dai_set_bclk_rat.patch
@@ -0,0 +1,30 @@
+From 4df422c40052f5f6f916deea86f3f96d708a82a4 Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Tue, 7 May 2019 12:58:23 +0200
+Subject: [PATCH 205/320] hifiberry_dacplus: switch to
+ snd_soc_dai_set_bclk_ratio
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ sound/soc/bcm/hifiberry_dacplus.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c
+index ff61d1ed46c3..010f21c768d8 100644
+--- a/sound/soc/bcm/hifiberry_dacplus.c
++++ b/sound/soc/bcm/hifiberry_dacplus.c
+@@ -236,12 +236,10 @@ static int snd_rpi_hifiberry_dacplus_hw_params(
+ substream, params);
+ }
+
+- ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->cpu_dai, channels * width);
+ if (ret)
+ return ret;
+- ret = snd_soc_dai_set_tdm_slot(rtd->codec_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->codec_dai, channels * width);
+ return ret;
+ }
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0206-hifiberry_dacplusadc-switch-to-snd_soc_dai_set_bclk_.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0206-hifiberry_dacplusadc-switch-to-snd_soc_dai_set_bclk_.patch
new file mode 100644
index 00000000..3f377573
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0206-hifiberry_dacplusadc-switch-to-snd_soc_dai_set_bclk_.patch
@@ -0,0 +1,30 @@
+From dfd5d4acce08c615d89f2264e568892f464d2fda Mon Sep 17 00:00:00 2001
+From: Matthias Reichl <hias@horus.com>
+Date: Tue, 7 May 2019 13:03:59 +0200
+Subject: [PATCH 206/320] hifiberry_dacplusadc: switch to
+ snd_soc_dai_set_bclk_ratio
+
+Signed-off-by: Matthias Reichl <hias@horus.com>
+---
+ sound/soc/bcm/hifiberry_dacplusadc.c | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/sound/soc/bcm/hifiberry_dacplusadc.c b/sound/soc/bcm/hifiberry_dacplusadc.c
+index 8a0bf9f13f52..896f60d13449 100644
+--- a/sound/soc/bcm/hifiberry_dacplusadc.c
++++ b/sound/soc/bcm/hifiberry_dacplusadc.c
+@@ -239,12 +239,10 @@ static int snd_rpi_hifiberry_dacplusadc_hw_params(
+ substream, params);
+ }
+
+- ret = snd_soc_dai_set_tdm_slot(rtd->cpu_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->cpu_dai, channels * width);
+ if (ret)
+ return ret;
+- ret = snd_soc_dai_set_tdm_slot(rtd->codec_dai, 0x03, 0x03,
+- channels, width);
++ ret = snd_soc_dai_set_bclk_ratio(rtd->codec_dai, channels * width);
+ return ret;
+ }
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0207-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0207-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch
new file mode 100644
index 00000000..a81c9e5b
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0207-media-ov5647-Add-set_fmt-and-get_fmt-calls.patch
@@ -0,0 +1,49 @@
+From 3a58077dcf3190724278f7cb961afd20ab3988bb Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:55:37 +0000
+Subject: [PATCH 207/320] media: ov5647: Add set_fmt and get_fmt calls.
+
+There's no way to query the subdevice for the supported
+resolutions.
+Add set_fmt and get_fmt implementations.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/ov5647.c | 22 ++++++++++++++++++++++
+ 1 file changed, 22 insertions(+)
+
+diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
+index 4589631798c9..6a9f229dfbfd 100644
+--- a/drivers/media/i2c/ov5647.c
++++ b/drivers/media/i2c/ov5647.c
+@@ -463,8 +463,30 @@ static int ov5647_enum_mbus_code(struct v4l2_subdev *sd,
+ return 0;
+ }
+
++static int ov5647_set_get_fmt(struct v4l2_subdev *sd,
++ struct v4l2_subdev_pad_config *cfg,
++ struct v4l2_subdev_format *format)
++{
++ struct v4l2_mbus_framefmt *fmt = &format->format;
++
++ if (format->pad != 0)
++ return -EINVAL;
++
++ /* Only one format is supported, so return that */
++ memset(fmt, 0, sizeof(*fmt));
++ fmt->code = MEDIA_BUS_FMT_SBGGR8_1X8;
++ fmt->colorspace = V4L2_COLORSPACE_SRGB;
++ fmt->field = V4L2_FIELD_NONE;
++ fmt->width = 640;
++ fmt->height = 480;
++
++ return 0;
++}
++
+ static const struct v4l2_subdev_pad_ops ov5647_subdev_pad_ops = {
+ .enum_mbus_code = ov5647_enum_mbus_code,
++ .set_fmt = ov5647_set_get_fmt,
++ .get_fmt = ov5647_set_get_fmt,
+ };
+
+ static const struct v4l2_subdev_ops ov5647_subdev_ops = {
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0208-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0208-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch
new file mode 100644
index 00000000..7ce56d1c
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0208-media-Documentation-DT-add-device-tree-for-PWDN-cont.patch
@@ -0,0 +1,35 @@
+From c83af6f3856b24b43b3a32212ffec89545281641 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:55:59 +0000
+Subject: [PATCH 208/320] [media] Documentation: DT: add device tree for PWDN
+ control
+
+Add optional GPIO pwdn to connect to the PWDN line on the sensor.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ Documentation/devicetree/bindings/media/i2c/ov5647.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/media/i2c/ov5647.txt b/Documentation/devicetree/bindings/media/i2c/ov5647.txt
+index 22e44945b661..70f06c24f470 100644
+--- a/Documentation/devicetree/bindings/media/i2c/ov5647.txt
++++ b/Documentation/devicetree/bindings/media/i2c/ov5647.txt
+@@ -10,6 +10,9 @@ Required properties:
+ - reg : I2C slave address of the sensor.
+ - clocks : Reference to the xclk clock.
+
++Optional Properties:
++- pwdn-gpios: reference to the GPIO connected to the pwdn pin, if any.
++
+ The common video interfaces bindings (see video-interfaces.txt) should be
+ used to specify link to the image data receiver. The OV5647 device
+ node should contain one 'port' child node with an 'endpoint' subnode.
+@@ -26,6 +29,7 @@ Example:
+ compatible = "ovti,ov5647";
+ reg = <0x36>;
+ clocks = <&camera_clk>;
++ pwdn-gpios = <&pioE 29 GPIO_ACTIVE_HIGH>;
+ port {
+ camera_1: endpoint {
+ remote-endpoint = <&csi1_ep1>;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0209-media-ov5647-Add-support-for-PWDN-GPIO.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0209-media-ov5647-Add-support-for-PWDN-GPIO.patch
new file mode 100644
index 00000000..fec33bd7
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0209-media-ov5647-Add-support-for-PWDN-GPIO.patch
@@ -0,0 +1,94 @@
+From 2ae5164472795ad03b42c6e317514cc70d3d1a1d Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:56:33 +0000
+Subject: [PATCH 209/320] media: ov5647: Add support for PWDN GPIO.
+
+Add support for an optional GPIO connected to PWDN on the sensor.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/ov5647.c | 28 ++++++++++++++++++++++++++++
+ 1 file changed, 28 insertions(+)
+
+diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
+index 6a9f229dfbfd..b750635168e3 100644
+--- a/drivers/media/i2c/ov5647.c
++++ b/drivers/media/i2c/ov5647.c
+@@ -21,6 +21,7 @@
+
+ #include <linux/clk.h>
+ #include <linux/delay.h>
++#include <linux/gpio/consumer.h>
+ #include <linux/i2c.h>
+ #include <linux/init.h>
+ #include <linux/io.h>
+@@ -35,6 +36,13 @@
+
+ #define SENSOR_NAME "ov5647"
+
++/*
++ * From the datasheet, "20ms after PWDN goes low or 20ms after RESETB goes
++ * high if reset is inserted after PWDN goes high, host can access sensor's
++ * SCCB to initialize sensor."
++ */
++#define PWDN_ACTIVE_DELAY_MS 20
++
+ #define MIPI_CTRL00_CLOCK_LANE_GATE BIT(5)
+ #define MIPI_CTRL00_BUS_IDLE BIT(2)
+ #define MIPI_CTRL00_CLOCK_LANE_DISABLE BIT(0)
+@@ -86,6 +94,7 @@ struct ov5647 {
+ unsigned int height;
+ int power_count;
+ struct clk *xclk;
++ struct gpio_desc *pwdn;
+ };
+
+ static inline struct ov5647 *to_state(struct v4l2_subdev *sd)
+@@ -355,6 +364,11 @@ static int ov5647_sensor_power(struct v4l2_subdev *sd, int on)
+ if (on && !ov5647->power_count) {
+ dev_dbg(&client->dev, "OV5647 power on\n");
+
++ if (ov5647->pwdn) {
++ gpiod_set_value(ov5647->pwdn, 0);
++ msleep(PWDN_ACTIVE_DELAY_MS);
++ }
++
+ ret = clk_prepare_enable(ov5647->xclk);
+ if (ret < 0) {
+ dev_err(&client->dev, "clk prepare enable failed\n");
+@@ -392,6 +406,8 @@ static int ov5647_sensor_power(struct v4l2_subdev *sd, int on)
+ dev_dbg(&client->dev, "soft stby failed\n");
+
+ clk_disable_unprepare(ov5647->xclk);
++
++ gpiod_set_value(ov5647->pwdn, 1);
+ }
+
+ /* Update the power count. */
+@@ -604,6 +620,10 @@ static int ov5647_probe(struct i2c_client *client,
+ return -EINVAL;
+ }
+
++ /* Request the power down GPIO asserted */
++ sensor->pwdn = devm_gpiod_get_optional(&client->dev, "pwdn",
++ GPIOD_OUT_HIGH);
++
+ mutex_init(&sensor->lock);
+
+ sd = &sensor->sd;
+@@ -617,7 +637,15 @@ static int ov5647_probe(struct i2c_client *client,
+ if (ret < 0)
+ goto mutex_remove;
+
++ if (sensor->pwdn) {
++ gpiod_set_value(sensor->pwdn, 0);
++ msleep(PWDN_ACTIVE_DELAY_MS);
++ }
++
+ ret = ov5647_detect(sd);
++
++ gpiod_set_value(sensor->pwdn, 1);
++
+ if (ret < 0)
+ goto error;
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0210-media-ov5647-Add-support-for-non-continuous-clock-mo.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0210-media-ov5647-Add-support-for-non-continuous-clock-mo.patch
new file mode 100644
index 00000000..5c8b2155
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0210-media-ov5647-Add-support-for-non-continuous-clock-mo.patch
@@ -0,0 +1,81 @@
+From 67f7d46c13c487a3698e09530fdac9039fda57ee Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:56:47 +0000
+Subject: [PATCH 210/320] media: ov5647: Add support for non-continuous clock
+ mode
+
+The driver was only supporting continuous clock mode
+although this was not stated anywhere.
+Non-continuous clock saves a small amount of power and
+on some SoCs is easier to interface with.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/ov5647.c | 17 ++++++++++++++---
+ 1 file changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/media/i2c/ov5647.c b/drivers/media/i2c/ov5647.c
+index b750635168e3..d8f3e091001f 100644
+--- a/drivers/media/i2c/ov5647.c
++++ b/drivers/media/i2c/ov5647.c
+@@ -44,6 +44,7 @@
+ #define PWDN_ACTIVE_DELAY_MS 20
+
+ #define MIPI_CTRL00_CLOCK_LANE_GATE BIT(5)
++#define MIPI_CTRL00_LINE_SYNC_ENABLE BIT(4)
+ #define MIPI_CTRL00_BUS_IDLE BIT(2)
+ #define MIPI_CTRL00_CLOCK_LANE_DISABLE BIT(0)
+
+@@ -95,6 +96,7 @@ struct ov5647 {
+ int power_count;
+ struct clk *xclk;
+ struct gpio_desc *pwdn;
++ unsigned int flags;
+ };
+
+ static inline struct ov5647 *to_state(struct v4l2_subdev *sd)
+@@ -269,9 +271,15 @@ static int ov5647_set_virtual_channel(struct v4l2_subdev *sd, int channel)
+
+ static int ov5647_stream_on(struct v4l2_subdev *sd)
+ {
++ struct ov5647 *ov5647 = to_state(sd);
++ u8 val = MIPI_CTRL00_BUS_IDLE;
+ int ret;
+
+- ret = ov5647_write(sd, OV5647_REG_MIPI_CTRL00, MIPI_CTRL00_BUS_IDLE);
++ if (ov5647->flags & V4L2_MBUS_CSI2_NONCONTINUOUS_CLOCK)
++ val |= MIPI_CTRL00_CLOCK_LANE_GATE |
++ MIPI_CTRL00_LINE_SYNC_ENABLE;
++
++ ret = ov5647_write(sd, OV5647_REG_MIPI_CTRL00, val);
+ if (ret < 0)
+ return ret;
+
+@@ -568,7 +576,7 @@ static const struct v4l2_subdev_internal_ops ov5647_subdev_internal_ops = {
+ .open = ov5647_open,
+ };
+
+-static int ov5647_parse_dt(struct device_node *np)
++static int ov5647_parse_dt(struct device_node *np, struct ov5647 *sensor)
+ {
+ struct v4l2_fwnode_endpoint bus_cfg = { .bus_type = 0 };
+ struct device_node *ep;
+@@ -581,6 +589,9 @@ static int ov5647_parse_dt(struct device_node *np)
+
+ ret = v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep), &bus_cfg);
+
++ if (!ret)
++ sensor->flags = bus_cfg.bus.mipi_csi2.flags;
++
+ of_node_put(ep);
+ return ret;
+ }
+@@ -600,7 +611,7 @@ static int ov5647_probe(struct i2c_client *client,
+ return -ENOMEM;
+
+ if (IS_ENABLED(CONFIG_OF) && np) {
+- ret = ov5647_parse_dt(np);
++ ret = ov5647_parse_dt(np, sensor);
+ if (ret) {
+ dev_err(dev, "DT parsing error: %d\n", ret);
+ return ret;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0211-media-tc358743-Increase-FIFO-level-to-374.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0211-media-tc358743-Increase-FIFO-level-to-374.patch
new file mode 100644
index 00000000..879b6d77
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0211-media-tc358743-Increase-FIFO-level-to-374.patch
@@ -0,0 +1,33 @@
+From 0be92c8e885b398e8ee5a9c997f2c8b916e5b2a2 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:56:59 +0000
+Subject: [PATCH 211/320] media: tc358743: Increase FIFO level to 374.
+
+The existing fixed value of 16 worked for UYVY 720P60 over
+2 lanes at 594MHz, or UYVY 1080P60 over 4 lanes. (RGB888
+1080P60 needs 6 lanes at 594MHz).
+It doesn't allow for lower resolutions to work as the FIFO
+underflows.
+
+374 is required for 1080P24-30 UYVY over 2 lanes @ 972Mbit/s, but
+>374 means that the FIFO underflows on 1080P50 UYVY over 2 lanes
+@ 972Mbit/s.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/tc358743.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
+index bc2e35e5ce61..8b2654c5928d 100644
+--- a/drivers/media/i2c/tc358743.c
++++ b/drivers/media/i2c/tc358743.c
+@@ -1947,7 +1947,7 @@ static int tc358743_probe_of(struct tc358743_state *state)
+ state->pdata.ddc5v_delay = DDC5V_DELAY_100_MS;
+ state->pdata.enable_hdcp = false;
+ /* A FIFO level of 16 should be enough for 2-lane 720p60 at 594 MHz. */
+- state->pdata.fifo_level = 16;
++ state->pdata.fifo_level = 374;
+ /*
+ * The PLL input clock is obtained by dividing refclk by pll_prd.
+ * It must be between 6 MHz and 40 MHz, lower frequency is better.
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0212-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0212-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch
new file mode 100644
index 00000000..11a339a9
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0212-media-tc358743-fix-connected-active-CSI-2-lane-repor.patch
@@ -0,0 +1,78 @@
+From ca47e431df60d3627bd6b8b692394263663ff585 Mon Sep 17 00:00:00 2001
+From: Philipp Zabel <p.zabel@pengutronix.de>
+Date: Thu, 21 Sep 2017 17:30:24 +0200
+Subject: [PATCH 212/320] media: tc358743: fix connected/active CSI-2 lane
+ reporting
+
+g_mbus_config was supposed to indicate all supported lane numbers, not
+only the number of those currently in active use. Since the TC358743
+can dynamically reduce the number of active lanes if the required
+bandwidth allows for it, report all lane numbers up to the connected
+number of lanes as supported in pdata mode.
+In device tree mode, do not report lane count and clock mode at all, as
+the receiver driver can determine these from the device tree.
+
+To allow communicating the number of currently active lanes, add a new
+bitfield to the v4l2_mbus_config flags. This is a temporary fix, to be
+used only until a better solution is found.
+
+Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
+---
+ drivers/media/i2c/tc358743.c | 14 ++++++++++++--
+ include/media/v4l2-mediabus.h | 8 ++++++++
+ 2 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
+index 8b2654c5928d..39af453d250a 100644
+--- a/drivers/media/i2c/tc358743.c
++++ b/drivers/media/i2c/tc358743.c
+@@ -1606,11 +1606,20 @@ static int tc358743_g_mbus_config(struct v4l2_subdev *sd,
+ struct v4l2_mbus_config *cfg)
+ {
+ struct tc358743_state *state = to_state(sd);
++ const u32 mask = V4L2_MBUS_CSI2_LANE_MASK;
++
++ if (state->csi_lanes_in_use > state->bus.num_data_lanes)
++ return -EINVAL;
+
+ cfg->type = V4L2_MBUS_CSI2_DPHY;
++ cfg->flags = (state->csi_lanes_in_use << __ffs(mask)) & mask;
+
+- /* Support for non-continuous CSI-2 clock is missing in the driver */
+- cfg->flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
++ /* In DT mode, only report the number of active lanes */
++ if (sd->dev->of_node)
++ return 0;
++
++ /* Support for non-continuous CSI-2 clock is missing in pdate mode */
++ cfg->flags |= V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
+
+ switch (state->csi_lanes_in_use) {
+ case 1:
+@@ -2053,6 +2062,7 @@ static int tc358743_probe(struct i2c_client *client,
+ if (pdata) {
+ state->pdata = *pdata;
+ state->bus.flags = V4L2_MBUS_CSI2_CONTINUOUS_CLOCK;
++ state->bus.num_data_lanes = 4;
+ } else {
+ err = tc358743_probe_of(state);
+ if (err == -ENODEV)
+diff --git a/include/media/v4l2-mediabus.h b/include/media/v4l2-mediabus.h
+index 66cb746ceeb5..058eeace1373 100644
+--- a/include/media/v4l2-mediabus.h
++++ b/include/media/v4l2-mediabus.h
+@@ -70,6 +70,14 @@
+ V4L2_MBUS_CSI2_CHANNEL_1 | \
+ V4L2_MBUS_CSI2_CHANNEL_2 | \
+ V4L2_MBUS_CSI2_CHANNEL_3)
++/*
++ * Number of lanes in use, 0 == use all available lanes (default)
++ *
++ * This is a temporary fix for devices that need to reduce the number of active
++ * lanes for certain modes, until g_mbus_config() can be replaced with a better
++ * solution.
++ */
++#define V4L2_MBUS_CSI2_LANE_MASK (0xf << 10)
+
+ /**
+ * enum v4l2_mbus_type - media bus type
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0213-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0213-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch
new file mode 100644
index 00000000..abe1ff2c
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0213-media-tc358743-Add-support-for-972Mbit-s-link-freq.patch
@@ -0,0 +1,81 @@
+From 50b65ae33592e84cbb354145b5bfecc6e0f0264a Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:57:21 +0000
+Subject: [PATCH 213/320] media: tc358743: Add support for 972Mbit/s link freq.
+
+Adds register setups for running the CSI lanes at 972Mbit/s,
+which allows 1080P50 UYVY down 2 lanes.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/tc358743.c | 47 +++++++++++++++++++++++++-----------
+ 1 file changed, 33 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
+index 39af453d250a..a81f13447b12 100644
+--- a/drivers/media/i2c/tc358743.c
++++ b/drivers/media/i2c/tc358743.c
+@@ -1976,6 +1976,7 @@ static int tc358743_probe_of(struct tc358743_state *state)
+ /*
+ * The CSI bps per lane must be between 62.5 Mbps and 1 Gbps.
+ * The default is 594 Mbps for 4-lane 1080p60 or 2-lane 720p60.
++ * 972 Mbps allows 1080P50 UYVY over 2-lane.
+ */
+ bps_pr_lane = 2 * endpoint.link_frequencies[0];
+ if (bps_pr_lane < 62500000U || bps_pr_lane > 1000000000U) {
+@@ -1988,23 +1989,41 @@ static int tc358743_probe_of(struct tc358743_state *state)
+ state->pdata.refclk_hz * state->pdata.pll_prd;
+
+ /*
+- * FIXME: These timings are from REF_02 for 594 Mbps per lane (297 MHz
+- * link frequency). In principle it should be possible to calculate
++ * FIXME: These timings are from REF_02 for 594 or 972 Mbps per lane
++ * (297 MHz or 486 MHz link frequency).
++ * In principle it should be possible to calculate
+ * them based on link frequency and resolution.
+ */
+- if (bps_pr_lane != 594000000U)
++ switch (bps_pr_lane) {
++ default:
+ dev_warn(dev, "untested bps per lane: %u bps\n", bps_pr_lane);
+- state->pdata.lineinitcnt = 0xe80;
+- state->pdata.lptxtimecnt = 0x003;
+- /* tclk-preparecnt: 3, tclk-zerocnt: 20 */
+- state->pdata.tclk_headercnt = 0x1403;
+- state->pdata.tclk_trailcnt = 0x00;
+- /* ths-preparecnt: 3, ths-zerocnt: 1 */
+- state->pdata.ths_headercnt = 0x0103;
+- state->pdata.twakeup = 0x4882;
+- state->pdata.tclk_postcnt = 0x008;
+- state->pdata.ths_trailcnt = 0x2;
+- state->pdata.hstxvregcnt = 0;
++ case 594000000U:
++ state->pdata.lineinitcnt = 0xe80;
++ state->pdata.lptxtimecnt = 0x003;
++ /* tclk-preparecnt: 3, tclk-zerocnt: 20 */
++ state->pdata.tclk_headercnt = 0x1403;
++ state->pdata.tclk_trailcnt = 0x00;
++ /* ths-preparecnt: 3, ths-zerocnt: 1 */
++ state->pdata.ths_headercnt = 0x0103;
++ state->pdata.twakeup = 0x4882;
++ state->pdata.tclk_postcnt = 0x008;
++ state->pdata.ths_trailcnt = 0x2;
++ state->pdata.hstxvregcnt = 0;
++ break;
++ case 972000000U:
++ state->pdata.lineinitcnt = 0x1b58;
++ state->pdata.lptxtimecnt = 0x007;
++ /* tclk-preparecnt: 6, tclk-zerocnt: 40 */
++ state->pdata.tclk_headercnt = 0x2806;
++ state->pdata.tclk_trailcnt = 0x00;
++ /* ths-preparecnt: 6, ths-zerocnt: 8 */
++ state->pdata.ths_headercnt = 0x0806;
++ state->pdata.twakeup = 0x4268;
++ state->pdata.tclk_postcnt = 0x008;
++ state->pdata.ths_trailcnt = 0x5;
++ state->pdata.hstxvregcnt = 0;
++ break;
++ }
+
+ state->reset_gpio = devm_gpiod_get_optional(dev, "reset",
+ GPIOD_OUT_LOW);
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0214-media-tc358743-Check-I2C-succeeded-during-probe.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0214-media-tc358743-Check-I2C-succeeded-during-probe.patch
new file mode 100644
index 00000000..4fb7cba7
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0214-media-tc358743-Check-I2C-succeeded-during-probe.patch
@@ -0,0 +1,100 @@
+From 46fd7b3a259f898d96058d0ee655d2af1dc33cba Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:57:34 +0000
+Subject: [PATCH 214/320] media: tc358743: Check I2C succeeded during probe.
+
+The probe for the TC358743 reads the CHIPID register from
+the device and compares it to the expected value of 0.
+If the I2C request fails then that also returns 0, so
+the driver loads thinking that the device is there.
+
+Generally I2C communications are reliable so there is
+limited need to check the return value on every transfer,
+therefore only amend the one read during probe to check
+for I2C errors.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/tc358743.c | 27 +++++++++++++++++++++++----
+ 1 file changed, 23 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
+index a81f13447b12..12cb5bf4def7 100644
+--- a/drivers/media/i2c/tc358743.c
++++ b/drivers/media/i2c/tc358743.c
+@@ -110,7 +110,7 @@ static inline struct tc358743_state *to_state(struct v4l2_subdev *sd)
+
+ /* --------------- I2C --------------- */
+
+-static void i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n)
++static int i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n)
+ {
+ struct tc358743_state *state = to_state(sd);
+ struct i2c_client *client = state->i2c_client;
+@@ -136,6 +136,7 @@ static void i2c_rd(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n)
+ v4l2_err(sd, "%s: reading register 0x%x from 0x%x failed\n",
+ __func__, reg, client->addr);
+ }
++ return err != ARRAY_SIZE(msgs);
+ }
+
+ static void i2c_wr(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n)
+@@ -192,15 +193,24 @@ static void i2c_wr(struct v4l2_subdev *sd, u16 reg, u8 *values, u32 n)
+ }
+ }
+
+-static noinline u32 i2c_rdreg(struct v4l2_subdev *sd, u16 reg, u32 n)
++static noinline u32 i2c_rdreg_err(struct v4l2_subdev *sd, u16 reg, u32 n,
++ int *err)
+ {
++ int error;
+ __le32 val = 0;
+
+- i2c_rd(sd, reg, (u8 __force *)&val, n);
++ error = i2c_rd(sd, reg, (u8 __force *)&val, n);
++ if (err)
++ *err = error;
+
+ return le32_to_cpu(val);
+ }
+
++static inline u32 i2c_rdreg(struct v4l2_subdev *sd, u16 reg, u32 n)
++{
++ return i2c_rdreg_err(sd, reg, n, NULL);
++}
++
+ static noinline void i2c_wrreg(struct v4l2_subdev *sd, u16 reg, u32 val, u32 n)
+ {
+ __le32 raw = cpu_to_le32(val);
+@@ -229,6 +239,13 @@ static u16 i2c_rd16(struct v4l2_subdev *sd, u16 reg)
+ return i2c_rdreg(sd, reg, 2);
+ }
+
++static int i2c_rd16_err(struct v4l2_subdev *sd, u16 reg, u16 *value)
++{
++ int err;
++ *value = i2c_rdreg_err(sd, reg, 2, &err);
++ return err;
++}
++
+ static void i2c_wr16(struct v4l2_subdev *sd, u16 reg, u16 val)
+ {
+ i2c_wrreg(sd, reg, val, 2);
+@@ -2063,6 +2080,7 @@ static int tc358743_probe(struct i2c_client *client,
+ struct tc358743_platform_data *pdata = client->dev.platform_data;
+ struct v4l2_subdev *sd;
+ u16 irq_mask = MASK_HDMI_MSK | MASK_CSI_MSK;
++ u16 chipid;
+ int err;
+
+ if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_BYTE_DATA))
+@@ -2095,7 +2113,8 @@ static int tc358743_probe(struct i2c_client *client,
+ sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE | V4L2_SUBDEV_FL_HAS_EVENTS;
+
+ /* i2c access */
+- if ((i2c_rd16(sd, CHIPID) & MASK_CHIPID) != 0) {
++ if (i2c_rd16_err(sd, CHIPID, &chipid) ||
++ (chipid & MASK_CHIPID) != 0) {
+ v4l2_info(sd, "not a TC358743 on address 0x%x\n",
+ client->addr << 1);
+ return -ENODEV;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0215-media-adv7180-Default-to-the-first-valid-input.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0215-media-adv7180-Default-to-the-first-valid-input.patch
new file mode 100644
index 00000000..72e2e733
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0215-media-adv7180-Default-to-the-first-valid-input.patch
@@ -0,0 +1,47 @@
+From 78e76915fe8f3263852ab7a6b5fb32dfc2426a47 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:57:46 +0000
+Subject: [PATCH 215/320] media: adv7180: Default to the first valid input
+
+The hardware default is differential CVBS on AIN1 & 2, which
+isn't very useful.
+
+Select the first input that is defined as valid for the
+chip variant (typically CVBS_AIN1).
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/adv7180.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c
+index 6f3dc8862622..bd183b8ce436 100644
+--- a/drivers/media/i2c/adv7180.c
++++ b/drivers/media/i2c/adv7180.c
+@@ -1246,6 +1246,7 @@ static const struct adv7180_chip_info adv7282_m_info = {
+ static int init_device(struct adv7180_state *state)
+ {
+ int ret;
++ int i;
+
+ mutex_lock(&state->mutex);
+
+@@ -1292,6 +1293,18 @@ static int init_device(struct adv7180_state *state)
+ goto out_unlock;
+ }
+
++ /* Select first valid input */
++ for (i = 0; i < 32; i++) {
++ if (BIT(i) & state->chip_info->valid_input_mask) {
++ ret = state->chip_info->select_input(state, i);
++
++ if (ret == 0) {
++ state->input = i;
++ break;
++ }
++ }
++ }
++
+ out_unlock:
+ mutex_unlock(&state->mutex);
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0216-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0216-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
new file mode 100644
index 00000000..e25acd8c
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0216-media-adv7180-Add-YPrPb-support-for-ADV7282M.patch
@@ -0,0 +1,26 @@
+From 53a247c9ec2e4650ddd4d864f9d683f8ba6aab84 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:57:56 +0000
+Subject: [PATCH 216/320] media: adv7180: Add YPrPb support for ADV7282M
+
+The ADV7282M can support YPbPr on AIN1-3, but this was
+not selectable from the driver. Add it to the list of
+supported input modes.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/adv7180.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/media/i2c/adv7180.c b/drivers/media/i2c/adv7180.c
+index bd183b8ce436..ba974fb36e46 100644
+--- a/drivers/media/i2c/adv7180.c
++++ b/drivers/media/i2c/adv7180.c
+@@ -1235,6 +1235,7 @@ static const struct adv7180_chip_info adv7282_m_info = {
+ BIT(ADV7182_INPUT_SVIDEO_AIN1_AIN2) |
+ BIT(ADV7182_INPUT_SVIDEO_AIN3_AIN4) |
+ BIT(ADV7182_INPUT_SVIDEO_AIN7_AIN8) |
++ BIT(ADV7182_INPUT_YPRPB_AIN1_AIN2_AIN3) |
+ BIT(ADV7182_INPUT_DIFF_CVBS_AIN1_AIN2) |
+ BIT(ADV7182_INPUT_DIFF_CVBS_AIN3_AIN4) |
+ BIT(ADV7182_INPUT_DIFF_CVBS_AIN7_AIN8),
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0217-media-videodev2-Add-helper-defines-for-printing-FOUR.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0217-media-videodev2-Add-helper-defines-for-printing-FOUR.patch
new file mode 100644
index 00000000..a31d2f48
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0217-media-videodev2-Add-helper-defines-for-printing-FOUR.patch
@@ -0,0 +1,30 @@
+From f8874c22afd3e4298215b4815d6be44b47cbd580 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:58:08 +0000
+Subject: [PATCH 217/320] media: videodev2: Add helper defines for printing
+ FOURCCs
+
+New helper defines that allow printing of a FOURCC using
+printf(V4L2_FOURCC_CONV, V4L2_FOURCC_CONV_ARGS(fourcc));
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ include/uapi/linux/videodev2.h | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
+index 1db220da3bcc..766aa92ccd73 100644
+--- a/include/uapi/linux/videodev2.h
++++ b/include/uapi/linux/videodev2.h
+@@ -82,6 +82,11 @@
+ ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
+ #define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
+
++#define V4L2_FOURCC_CONV "%c%c%c%c%s"
++#define V4L2_FOURCC_CONV_ARGS(fourcc) \
++ (fourcc) & 0x7f, ((fourcc) >> 8) & 0x7f, ((fourcc) >> 16) & 0x7f, \
++ ((fourcc) >> 24) & 0x7f, (fourcc) & BIT(31) ? "-BE" : ""
++
+ /*
+ * E N U M S
+ */
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0218-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0218-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch
new file mode 100644
index 00000000..b1d65bf3
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0218-dt-bindings-Document-BCM283x-CSI2-CCP2-receiver.patch
@@ -0,0 +1,105 @@
+From 1f83fdadafe89e96996276c32561141c471c50a5 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:59:06 +0000
+Subject: [PATCH 218/320] dt-bindings: Document BCM283x CSI2/CCP2 receiver
+
+Document the DT bindings for the CSI2/CCP2 receiver peripheral
+(known as Unicam) on BCM283x SoCs.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Acked-by: Rob Herring <robh@kernel.org>
+---
+ .../bindings/media/bcm2835-unicam.txt | 85 +++++++++++++++++++
+ 1 file changed, 85 insertions(+)
+
+diff --git a/Documentation/devicetree/bindings/media/bcm2835-unicam.txt b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt
+new file mode 100644
+index 000000000000..7714fb374b34
+--- /dev/null
++++ b/Documentation/devicetree/bindings/media/bcm2835-unicam.txt
+@@ -0,0 +1,85 @@
++Broadcom BCM283x Camera Interface (Unicam)
++------------------------------------------
++
++The Unicam block on BCM283x SoCs is the receiver for either
++CSI-2 or CCP2 data from image sensors or similar devices.
++
++The main platform using this SoC is the Raspberry Pi family of boards.
++On the Pi the VideoCore firmware can also control this hardware block,
++and driving it from two different processors will cause issues.
++To avoid this, the firmware checks the device tree configuration
++during boot. If it finds device tree nodes called csi0 or csi1 then
++it will stop the firmware accessing the block, and it can then
++safely be used via the device tree binding.
++
++Required properties:
++===================
++- compatible : must be "brcm,bcm2835-unicam".
++- reg : physical base address and length of the register sets for the
++ device.
++- interrupts : should contain the IRQ line for this Unicam instance.
++- clocks : list of clock specifiers, corresponding to entries in
++ clock-names property.
++- clock-names : must contain an "lp" entry, matching entries in the
++ clocks property.
++
++Unicam supports a single port node. It should contain one 'port' child node
++with child 'endpoint' node. Please refer to the bindings defined in
++Documentation/devicetree/bindings/media/video-interfaces.txt.
++
++Within the endpoint node the "remote-endpoint" and "data-lanes" properties
++are mandatory.
++Data lane reordering is not supported so the data lanes must be in order,
++starting at 1. The number of data lanes should represent the number of
++usable lanes for the hardware block. That may be limited by either the SoC or
++how the platform presents the interface, and the lower value must be used.
++
++Lane reordering is not supported on the clock lane either, so the optional
++property "clock-lane" will implicitly be <0>.
++Similarly lane inversion is not supported, therefore "lane-polarities" will
++implicitly be <0 0 0 0 0>.
++Neither of these values will be checked.
++
++Example:
++ csi1: csi1@7e801000 {
++ compatible = "brcm,bcm2835-unicam";
++ reg = <0x7e801000 0x800>,
++ <0x7e802004 0x4>;
++ interrupts = <2 7>;
++ clocks = <&clocks BCM2835_CLOCK_CAM1>;
++ clock-names = "lp";
++
++ port {
++ csi1_ep: endpoint {
++ remote-endpoint = <&tc358743_0>;
++ data-lanes = <1 2>;
++ };
++ };
++ };
++
++ i2c0: i2c@7e205000 {
++ tc358743: csi-hdmi-bridge@0f {
++ compatible = "toshiba,tc358743";
++ reg = <0x0f>;
++
++ clocks = <&tc358743_clk>;
++ clock-names = "refclk";
++
++ tc358743_clk: bridge-clk {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <27000000>;
++ };
++
++ port {
++ tc358743_0: endpoint {
++ remote-endpoint = <&csi1_ep>;
++ clock-lanes = <0>;
++ data-lanes = <1 2>;
++ clock-noncontinuous;
++ link-frequencies =
++ /bits/ 64 <297000000>;
++ };
++ };
++ };
++ };
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0219-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0219-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch
new file mode 100644
index 00000000..ee8fd780
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0219-media-bcm2835-unicam-Driver-for-CCP2-CSI2-camera-int.patch
@@ -0,0 +1,2448 @@
+From f9ec8c15ddae395d32c08788877b910a1a2dda83 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:59:22 +0000
+Subject: [PATCH 219/320] media: bcm2835-unicam: Driver for CCP2/CSI2 camera
+ interface
+
+Add driver for the Unicam camera receiver block on
+BCM283x processors.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/platform/Kconfig | 1 +
+ drivers/media/platform/Makefile | 2 +
+ drivers/media/platform/bcm2835/Kconfig | 14 +
+ drivers/media/platform/bcm2835/Makefile | 3 +
+ .../media/platform/bcm2835/bcm2835-unicam.c | 2100 +++++++++++++++++
+ .../media/platform/bcm2835/vc4-regs-unicam.h | 266 +++
+ 6 files changed, 2386 insertions(+)
+
+diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
+index 67e48ff10532..ff93f9447ff8 100644
+--- a/drivers/media/platform/Kconfig
++++ b/drivers/media/platform/Kconfig
+@@ -147,6 +147,7 @@ source "drivers/media/platform/xilinx/Kconfig"
+ source "drivers/media/platform/rcar-vin/Kconfig"
+ source "drivers/media/platform/atmel/Kconfig"
+ source "drivers/media/platform/sunxi/sun6i-csi/Kconfig"
++source "drivers/media/platform/bcm2835/Kconfig"
+
+ config VIDEO_TI_CAL
+ tristate "TI CAL (Camera Adaptation Layer) driver"
+diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile
+index 7cbbd925124c..f0547ce8b40d 100644
+--- a/drivers/media/platform/Makefile
++++ b/drivers/media/platform/Makefile
+@@ -101,3 +101,5 @@ obj-y += meson/
+ obj-y += cros-ec-cec/
+
+ obj-$(CONFIG_VIDEO_SUN6I_CSI) += sunxi/sun6i-csi/
++
++obj-y += bcm2835/
+diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig
+new file mode 100644
+index 000000000000..dac4e92bbbb6
+--- /dev/null
++++ b/drivers/media/platform/bcm2835/Kconfig
+@@ -0,0 +1,14 @@
++# Broadcom VideoCore4 V4L2 camera support
++
++config VIDEO_BCM2835_UNICAM
++ tristate "Broadcom BCM2835 Unicam video capture driver"
++ depends on VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
++ depends on ARCH_BCM2835 || COMPILE_TEST
++ select VIDEOBUF2_DMA_CONTIG
++ select V4L2_FWNODE
++ help
++ Say Y here to enable V4L2 subdevice for CSI2 receiver.
++ This is a V4L2 subdevice that interfaces directly to the VC4 peripheral.
++
++ To compile this driver as a module, choose M here. The module
++ will be called bcm2835-unicam.
+diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile
+new file mode 100644
+index 000000000000..a98aba03598a
+--- /dev/null
++++ b/drivers/media/platform/bcm2835/Makefile
+@@ -0,0 +1,3 @@
++# Makefile for BCM2835 Unicam driver
++
++obj-$(CONFIG_VIDEO_BCM2835_UNICAM) += bcm2835-unicam.o
+diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c
+new file mode 100644
+index 000000000000..d1eaaffd196a
+--- /dev/null
++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
+@@ -0,0 +1,2100 @@
++// SPDX-License-Identifier: GPL-2.0-only
++/*
++ * BCM2835 Unicam capture Driver
++ *
++ * Copyright (C) 2017 - Raspberry Pi (Trading) Ltd.
++ *
++ * Dave Stevenson <dave.stevenson@raspberrypi.org>
++ *
++ * Based on TI am437x driver by Benoit Parrot and Lad, Prabhakar and
++ * TI CAL camera interface driver by Benoit Parrot.
++ *
++ *
++ * There are two camera drivers in the kernel for BCM283x - this one
++ * and bcm2835-camera (currently in staging).
++ *
++ * This driver directly controls the Unicam peripheral - there is no
++ * involvement with the VideoCore firmware. Unicam receives CSI-2 or
++ * CCP2 data and writes it into SDRAM. The only potential processing options are
++ * to repack Bayer data into an alternate format, and applying windowing.
++ * The repacking does not shift the data, so could repack V4L2_PIX_FMT_Sxxxx10P
++ * to V4L2_PIX_FMT_Sxxxx10, or V4L2_PIX_FMT_Sxxxx12P to V4L2_PIX_FMT_Sxxxx12,
++ * but not generically up to V4L2_PIX_FMT_Sxxxx16.
++ * Adding support for repacking and windowing may be added later.
++ *
++ * It should be possible to connect this driver to any sensor with a
++ * suitable output interface and V4L2 subdevice driver.
++ *
++ * bcm2835-camera uses the VideoCore firmware to control the sensor,
++ * Unicam, ISP, and all tuner control loops. Fully processed frames are
++ * delivered to the driver by the firmware. It only has sensor drivers
++ * for Omnivision OV5647, and Sony IMX219 sensors.
++ *
++ * The two drivers are mutually exclusive for the same Unicam instance.
++ * The VideoCore firmware checks the device tree configuration during boot.
++ * If it finds device tree nodes called csi0 or csi1 it will block the
++ * firmware from accessing the peripheral, and bcm2835-camera will
++ * not be able to stream data.
++ *
++ *
++ * This program is free software; you may redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 2 of the License.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ * SOFTWARE.
++ */
++
++#include <linux/clk.h>
++#include <linux/delay.h>
++#include <linux/device.h>
++#include <linux/err.h>
++#include <linux/init.h>
++#include <linux/interrupt.h>
++#include <linux/io.h>
++#include <linux/module.h>
++#include <linux/of_device.h>
++#include <linux/of_graph.h>
++#include <linux/pinctrl/consumer.h>
++#include <linux/platform_device.h>
++#include <linux/pm_runtime.h>
++#include <linux/slab.h>
++#include <linux/uaccess.h>
++#include <linux/videodev2.h>
++
++#include <media/v4l2-common.h>
++#include <media/v4l2-ctrls.h>
++#include <media/v4l2-dev.h>
++#include <media/v4l2-device.h>
++#include <media/v4l2-dv-timings.h>
++#include <media/v4l2-event.h>
++#include <media/v4l2-ioctl.h>
++#include <media/v4l2-fwnode.h>
++#include <media/videobuf2-dma-contig.h>
++
++#include "vc4-regs-unicam.h"
++
++#define UNICAM_MODULE_NAME "unicam"
++#define UNICAM_VERSION "0.1.0"
++
++static int debug;
++module_param(debug, int, 0644);
++MODULE_PARM_DESC(debug, "Debug level 0-3");
++
++#define unicam_dbg(level, dev, fmt, arg...) \
++ v4l2_dbg(level, debug, &(dev)->v4l2_dev, fmt, ##arg)
++#define unicam_info(dev, fmt, arg...) \
++ v4l2_info(&(dev)->v4l2_dev, fmt, ##arg)
++#define unicam_err(dev, fmt, arg...) \
++ v4l2_err(&(dev)->v4l2_dev, fmt, ##arg)
++
++/*
++ * Stride is a 16 bit register, but also has to be a multiple of 16.
++ */
++#define BPL_ALIGNMENT 16
++#define MAX_BYTESPERLINE ((1 << 16) - BPL_ALIGNMENT)
++/*
++ * Max width is therefore determined by the max stride divided by
++ * the number of bits per pixel. Take 32bpp as a
++ * worst case.
++ * No imposed limit on the height, so adopt a square image for want
++ * of anything better.
++ */
++#define MAX_WIDTH (MAX_BYTESPERLINE / 4)
++#define MAX_HEIGHT MAX_WIDTH
++/* Define a nominal minimum image size */
++#define MIN_WIDTH 16
++#define MIN_HEIGHT 16
++/*
++ * Whilst Unicam doesn't require any additional padding on the image
++ * height, various other parts of the BCM283x frameworks require a multiple
++ * of 16.
++ * Seeing as image buffers are significantly larger than this extra
++ * padding, add it in order to simplify integration.
++ */
++#define HEIGHT_ALIGNMENT 16
++
++/*
++ * struct unicam_fmt - Unicam media bus format information
++ * @pixelformat: V4L2 pixel format FCC identifier.
++ * @code: V4L2 media bus format code.
++ * @depth: Bits per pixel (when stored in memory).
++ * @csi_dt: CSI data type.
++ */
++struct unicam_fmt {
++ u32 fourcc;
++ u32 code;
++ u8 depth;
++ u8 csi_dt;
++};
++
++static const struct unicam_fmt formats[] = {
++ /* YUV Formats */
++ {
++ .fourcc = V4L2_PIX_FMT_YUYV,
++ .code = MEDIA_BUS_FMT_YUYV8_2X8,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_UYVY,
++ .code = MEDIA_BUS_FMT_UYVY8_2X8,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_YVYU,
++ .code = MEDIA_BUS_FMT_YVYU8_2X8,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_VYUY,
++ .code = MEDIA_BUS_FMT_VYUY8_2X8,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_YUYV,
++ .code = MEDIA_BUS_FMT_YUYV8_1X16,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_UYVY,
++ .code = MEDIA_BUS_FMT_UYVY8_1X16,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_YVYU,
++ .code = MEDIA_BUS_FMT_YVYU8_1X16,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ .fourcc = V4L2_PIX_FMT_VYUY,
++ .code = MEDIA_BUS_FMT_VYUY8_1X16,
++ .depth = 16,
++ .csi_dt = 0x1e,
++ }, {
++ /* RGB Formats */
++ .fourcc = V4L2_PIX_FMT_RGB565, /* gggbbbbb rrrrrggg */
++ .code = MEDIA_BUS_FMT_RGB565_2X8_LE,
++ .depth = 16,
++ .csi_dt = 0x22,
++ }, {
++ .fourcc = V4L2_PIX_FMT_RGB565X, /* rrrrrggg gggbbbbb */
++ .code = MEDIA_BUS_FMT_RGB565_2X8_BE,
++ .depth = 16,
++ .csi_dt = 0x22
++ }, {
++ .fourcc = V4L2_PIX_FMT_RGB555, /* gggbbbbb arrrrrgg */
++ .code = MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE,
++ .depth = 16,
++ .csi_dt = 0x21,
++ }, {
++ .fourcc = V4L2_PIX_FMT_RGB555X, /* arrrrrgg gggbbbbb */
++ .code = MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE,
++ .depth = 16,
++ .csi_dt = 0x21,
++ }, {
++ .fourcc = V4L2_PIX_FMT_RGB24, /* rgb */
++ .code = MEDIA_BUS_FMT_RGB888_1X24,
++ .depth = 24,
++ .csi_dt = 0x24,
++ }, {
++ .fourcc = V4L2_PIX_FMT_BGR24, /* bgr */
++ .code = MEDIA_BUS_FMT_BGR888_1X24,
++ .depth = 24,
++ .csi_dt = 0x24,
++ }, {
++ .fourcc = V4L2_PIX_FMT_RGB32, /* argb */
++ .code = MEDIA_BUS_FMT_ARGB8888_1X32,
++ .depth = 32,
++ .csi_dt = 0x0,
++ }, {
++ /* Bayer Formats */
++ .fourcc = V4L2_PIX_FMT_SBGGR8,
++ .code = MEDIA_BUS_FMT_SBGGR8_1X8,
++ .depth = 8,
++ .csi_dt = 0x2a,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGBRG8,
++ .code = MEDIA_BUS_FMT_SGBRG8_1X8,
++ .depth = 8,
++ .csi_dt = 0x2a,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGRBG8,
++ .code = MEDIA_BUS_FMT_SGRBG8_1X8,
++ .depth = 8,
++ .csi_dt = 0x2a,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SRGGB8,
++ .code = MEDIA_BUS_FMT_SRGGB8_1X8,
++ .depth = 8,
++ .csi_dt = 0x2a,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SBGGR10P,
++ .code = MEDIA_BUS_FMT_SBGGR10_1X10,
++ .depth = 10,
++ .csi_dt = 0x2b,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGBRG10P,
++ .code = MEDIA_BUS_FMT_SGBRG10_1X10,
++ .depth = 10,
++ .csi_dt = 0x2b,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGRBG10P,
++ .code = MEDIA_BUS_FMT_SGRBG10_1X10,
++ .depth = 10,
++ .csi_dt = 0x2b,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SRGGB10P,
++ .code = MEDIA_BUS_FMT_SRGGB10_1X10,
++ .depth = 10,
++ .csi_dt = 0x2b,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SBGGR12P,
++ .code = MEDIA_BUS_FMT_SBGGR12_1X12,
++ .depth = 12,
++ .csi_dt = 0x2c,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGBRG12P,
++ .code = MEDIA_BUS_FMT_SGBRG12_1X12,
++ .depth = 12,
++ .csi_dt = 0x2c,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SGRBG12P,
++ .code = MEDIA_BUS_FMT_SGRBG12_1X12,
++ .depth = 12,
++ .csi_dt = 0x2c,
++ }, {
++ .fourcc = V4L2_PIX_FMT_SRGGB12P,
++ .code = MEDIA_BUS_FMT_SRGGB12_1X12,
++ .depth = 12,
++ .csi_dt = 0x2c,
++ },
++ /*
++ * 14 and 16 bit Bayer formats could be supported, but there are no V4L2
++ * defines for 14bit packed Bayer, and no CSI2 data_type for raw 16.
++ */
++};
++
++struct unicam_dmaqueue {
++ struct list_head active;
++};
++
++struct unicam_buffer {
++ struct vb2_v4l2_buffer vb;
++ struct list_head list;
++};
++
++struct unicam_cfg {
++ /* peripheral base address */
++ void __iomem *base;
++ /* clock gating base address */
++ void __iomem *clk_gate_base;
++};
++
++#define MAX_POSSIBLE_PIX_FMTS (ARRAY_SIZE(formats))
++
++struct unicam_device {
++ /* V4l2 specific parameters */
++ /* Identifies video device for this channel */
++ struct video_device video_dev;
++ struct v4l2_ctrl_handler ctrl_handler;
++
++ struct v4l2_fwnode_endpoint endpoint;
++
++ struct v4l2_async_subdev asd;
++
++ /* unicam cfg */
++ struct unicam_cfg cfg;
++ /* clock handle */
++ struct clk *clock;
++ /* V4l2 device */
++ struct v4l2_device v4l2_dev;
++ /* parent device */
++ struct platform_device *pdev;
++ /* subdevice async Notifier */
++ struct v4l2_async_notifier notifier;
++ unsigned int sequence;
++
++ /* ptr to sub device */
++ struct v4l2_subdev *sensor;
++ /* Pad config for the sensor */
++ struct v4l2_subdev_pad_config *sensor_config;
++ /* current input at the sub device */
++ int current_input;
++
++ /* Pointer pointing to current v4l2_buffer */
++ struct unicam_buffer *cur_frm;
++ /* Pointer pointing to next v4l2_buffer */
++ struct unicam_buffer *next_frm;
++
++ /* video capture */
++ const struct unicam_fmt *fmt;
++ /* Used to store current pixel format */
++ struct v4l2_format v_fmt;
++ /* Used to store current mbus frame format */
++ struct v4l2_mbus_framefmt m_fmt;
++
++ struct unicam_fmt active_fmts[MAX_POSSIBLE_PIX_FMTS];
++ int num_active_fmt;
++ unsigned int virtual_channel;
++ enum v4l2_mbus_type bus_type;
++ /*
++ * Stores bus.mipi_csi2.flags for CSI2 sensors, or
++ * bus.mipi_csi1.strobe for CCP2.
++ */
++ unsigned int bus_flags;
++ unsigned int max_data_lanes;
++ unsigned int active_data_lanes;
++
++ struct v4l2_rect crop;
++
++ /* Currently selected input on subdev */
++ int input;
++
++ /* Buffer queue used in video-buf */
++ struct vb2_queue buffer_queue;
++ /* Queue of filled frames */
++ struct unicam_dmaqueue dma_queue;
++ /* IRQ lock for DMA queue */
++ spinlock_t dma_queue_lock;
++ /* lock used to access this structure */
++ struct mutex lock;
++ /* Flag to denote that we are processing buffers */
++ int streaming;
++};
++
++/* Hardware access */
++#define clk_write(dev, val) writel((val) | 0x5a000000, (dev)->clk_gate_base)
++#define clk_read(dev) readl((dev)->clk_gate_base)
++
++#define reg_read(dev, offset) readl((dev)->base + (offset))
++#define reg_write(dev, offset, val) writel(val, (dev)->base + (offset))
++
++#define reg_read_field(dev, offset, mask) get_field(reg_read((dev), (offset), \
++ mask))
++
++static inline int get_field(u32 value, u32 mask)
++{
++ return (value & mask) >> __ffs(mask);
++}
++
++static inline void set_field(u32 *valp, u32 field, u32 mask)
++{
++ u32 val = *valp;
++
++ val &= ~mask;
++ val |= (field << __ffs(mask)) & mask;
++ *valp = val;
++}
++
++static inline void reg_write_field(struct unicam_cfg *dev, u32 offset,
++ u32 field, u32 mask)
++{
++ u32 val = reg_read((dev), (offset));
++
++ set_field(&val, field, mask);
++ reg_write((dev), (offset), val);
++}
++
++/* Power management functions */
++static inline int unicam_runtime_get(struct unicam_device *dev)
++{
++ int r;
++
++ r = pm_runtime_get_sync(&dev->pdev->dev);
++
++ return r;
++}
++
++static inline void unicam_runtime_put(struct unicam_device *dev)
++{
++ pm_runtime_put_sync(&dev->pdev->dev);
++}
++
++/* Format setup functions */
++static int find_mbus_depth_by_code(u32 code)
++{
++ const struct unicam_fmt *fmt;
++ unsigned int k;
++
++ for (k = 0; k < ARRAY_SIZE(formats); k++) {
++ fmt = &formats[k];
++ if (fmt->code == code)
++ return fmt->depth;
++ }
++
++ return 0;
++}
++
++static const struct unicam_fmt *find_format_by_code(struct unicam_device *dev,
++ u32 code)
++{
++ const struct unicam_fmt *fmt;
++ unsigned int k;
++
++ for (k = 0; k < dev->num_active_fmt; k++) {
++ fmt = &dev->active_fmts[k];
++ if (fmt->code == code)
++ return fmt;
++ }
++
++ return NULL;
++}
++
++static const struct unicam_fmt *find_format_by_pix(struct unicam_device *dev,
++ u32 pixelformat)
++{
++ const struct unicam_fmt *fmt;
++ unsigned int k;
++
++ for (k = 0; k < dev->num_active_fmt; k++) {
++ fmt = &dev->active_fmts[k];
++ if (fmt->fourcc == pixelformat)
++ return fmt;
++ }
++
++ return NULL;
++}
++
++static void dump_active_formats(struct unicam_device *dev)
++{
++ int i;
++
++ for (i = 0; i < dev->num_active_fmt; i++) {
++ unicam_dbg(3, dev, "active_fmt[%d] (%p) is code %04x, fourcc " V4L2_FOURCC_CONV ", depth %d\n",
++ i, &dev->active_fmts[i], dev->active_fmts[i].code,
++ V4L2_FOURCC_CONV_ARGS(dev->active_fmts[i].fourcc),
++ dev->active_fmts[i].depth);
++ }
++}
++
++static inline unsigned int bytes_per_line(u32 width,
++ const struct unicam_fmt *fmt)
++{
++ return ALIGN((width * fmt->depth) >> 3, BPL_ALIGNMENT);
++}
++
++static int __subdev_get_format(struct unicam_device *dev,
++ struct v4l2_mbus_framefmt *fmt)
++{
++ struct v4l2_subdev_format sd_fmt = {0};
++ struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format;
++ int ret;
++
++ sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE;
++ sd_fmt.pad = 0;
++
++ ret = v4l2_subdev_call(dev->sensor, pad, get_fmt, dev->sensor_config,
++ &sd_fmt);
++ if (ret < 0)
++ return ret;
++
++ *fmt = *mbus_fmt;
++
++ unicam_dbg(1, dev, "%s %dx%d code:%04x\n", __func__,
++ fmt->width, fmt->height, fmt->code);
++
++ return 0;
++}
++
++static int __subdev_set_format(struct unicam_device *dev,
++ struct v4l2_mbus_framefmt *fmt)
++{
++ struct v4l2_subdev_format sd_fmt = {
++ .which = V4L2_SUBDEV_FORMAT_ACTIVE,
++ };
++ struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format;
++ int ret;
++
++ *mbus_fmt = *fmt;
++
++ ret = v4l2_subdev_call(dev->sensor, pad, set_fmt, dev->sensor_config,
++ &sd_fmt);
++ if (ret < 0)
++ return ret;
++
++ unicam_dbg(1, dev, "%s %dx%d code:%04x\n", __func__,
++ fmt->width, fmt->height, fmt->code);
++
++ return 0;
++}
++
++static int unicam_calc_format_size_bpl(struct unicam_device *dev,
++ const struct unicam_fmt *fmt,
++ struct v4l2_format *f)
++{
++ unsigned int min_bytesperline;
++
++ v4l_bound_align_image(&f->fmt.pix.width, MIN_WIDTH, MAX_WIDTH, 2,
++ &f->fmt.pix.height, MIN_HEIGHT, MAX_HEIGHT, 0,
++ 0);
++
++ min_bytesperline = bytes_per_line(f->fmt.pix.width, fmt);
++
++ if (f->fmt.pix.bytesperline > min_bytesperline &&
++ f->fmt.pix.bytesperline <= MAX_BYTESPERLINE)
++ f->fmt.pix.bytesperline = ALIGN(f->fmt.pix.bytesperline,
++ BPL_ALIGNMENT);
++ else
++ f->fmt.pix.bytesperline = min_bytesperline;
++
++ /* Align height up for compatibility with other hardware blocks */
++ f->fmt.pix.sizeimage = ALIGN(f->fmt.pix.height, HEIGHT_ALIGNMENT) *
++ f->fmt.pix.bytesperline;
++
++ unicam_dbg(3, dev, "%s: fourcc: " V4L2_FOURCC_CONV " size: %dx%d bpl:%d img_size:%d\n",
++ __func__,
++ V4L2_FOURCC_CONV_ARGS(f->fmt.pix.pixelformat),
++ f->fmt.pix.width, f->fmt.pix.height,
++ f->fmt.pix.bytesperline, f->fmt.pix.sizeimage);
++
++ return 0;
++}
++
++static int unicam_reset_format(struct unicam_device *dev)
++{
++ struct v4l2_mbus_framefmt mbus_fmt;
++ int ret;
++
++ ret = __subdev_get_format(dev, &mbus_fmt);
++ if (ret) {
++ unicam_err(dev, "Failed to get_format - ret %d\n", ret);
++ return ret;
++ }
++
++ if (mbus_fmt.code != dev->fmt->code) {
++ unicam_err(dev, "code mismatch - fmt->code %08x, mbus_fmt.code %08x\n",
++ dev->fmt->code, mbus_fmt.code);
++ return ret;
++ }
++
++ v4l2_fill_pix_format(&dev->v_fmt.fmt.pix, &mbus_fmt);
++ dev->v_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
++
++ unicam_calc_format_size_bpl(dev, dev->fmt, &dev->v_fmt);
++
++ dev->m_fmt = mbus_fmt;
++
++ return 0;
++}
++
++static void unicam_wr_dma_addr(struct unicam_device *dev, unsigned int dmaaddr)
++{
++ unicam_dbg(1, dev, "wr_dma_addr %08x-%08x\n",
++ dmaaddr, dmaaddr + dev->v_fmt.fmt.pix.sizeimage);
++ reg_write(&dev->cfg, UNICAM_IBSA0, dmaaddr);
++ reg_write(&dev->cfg, UNICAM_IBEA0,
++ dmaaddr + dev->v_fmt.fmt.pix.sizeimage);
++}
++
++static inline void unicam_schedule_next_buffer(struct unicam_device *dev)
++{
++ struct unicam_dmaqueue *dma_q = &dev->dma_queue;
++ struct unicam_buffer *buf;
++ dma_addr_t addr;
++
++ buf = list_entry(dma_q->active.next, struct unicam_buffer, list);
++ dev->next_frm = buf;
++ list_del(&buf->list);
++
++ addr = vb2_dma_contig_plane_dma_addr(&buf->vb.vb2_buf, 0);
++ unicam_wr_dma_addr(dev, addr);
++}
++
++static inline void unicam_process_buffer_complete(struct unicam_device *dev)
++{
++ dev->cur_frm->vb.field = dev->m_fmt.field;
++ dev->cur_frm->vb.sequence = dev->sequence++;
++
++ vb2_buffer_done(&dev->cur_frm->vb.vb2_buf, VB2_BUF_STATE_DONE);
++ dev->cur_frm = dev->next_frm;
++}
++
++/*
++ * unicam_isr : ISR handler for unicam capture
++ * @irq: irq number
++ * @dev_id: dev_id ptr
++ *
++ * It changes status of the captured buffer, takes next buffer from the queue
++ * and sets its address in unicam registers
++ */
++static irqreturn_t unicam_isr(int irq, void *dev)
++{
++ struct unicam_device *unicam = (struct unicam_device *)dev;
++ struct unicam_cfg *cfg = &unicam->cfg;
++ struct unicam_dmaqueue *dma_q = &unicam->dma_queue;
++ int ista, sta;
++
++ /*
++ * Don't service interrupts if not streaming.
++ * Avoids issues if the VPU should enable the
++ * peripheral without the kernel knowing (that
++ * shouldn't happen, but causes issues if it does).
++ */
++ if (!unicam->streaming)
++ return IRQ_HANDLED;
++
++ sta = reg_read(cfg, UNICAM_STA);
++ /* Write value back to clear the interrupts */
++ reg_write(cfg, UNICAM_STA, sta);
++
++ ista = reg_read(cfg, UNICAM_ISTA);
++ /* Write value back to clear the interrupts */
++ reg_write(cfg, UNICAM_ISTA, ista);
++
++ if (!(sta && (UNICAM_IS | UNICAM_PI0)))
++ return IRQ_HANDLED;
++
++ if (ista & UNICAM_FSI) {
++ /*
++ * Timestamp is to be when the first data byte was captured,
++ * aka frame start.
++ */
++ if (unicam->cur_frm)
++ unicam->cur_frm->vb.vb2_buf.timestamp = ktime_get_ns();
++ }
++ if (ista & UNICAM_FEI || sta & UNICAM_PI0) {
++ /*
++ * Ensure we have swapped buffers already as we can't
++ * stop the peripheral. Overwrite the frame we've just
++ * captured instead.
++ */
++ if (unicam->cur_frm && unicam->cur_frm != unicam->next_frm)
++ unicam_process_buffer_complete(unicam);
++ }
++
++ if (ista & (UNICAM_FSI | UNICAM_LCI)) {
++ spin_lock(&unicam->dma_queue_lock);
++ if (!list_empty(&dma_q->active) &&
++ unicam->cur_frm == unicam->next_frm)
++ unicam_schedule_next_buffer(unicam);
++ spin_unlock(&unicam->dma_queue_lock);
++ }
++
++ if (reg_read(&unicam->cfg, UNICAM_ICTL) & UNICAM_FCM) {
++ /* Switch out of trigger mode if selected */
++ reg_write_field(&unicam->cfg, UNICAM_ICTL, 1, UNICAM_TFC);
++ reg_write_field(&unicam->cfg, UNICAM_ICTL, 0, UNICAM_FCM);
++ }
++ return IRQ_HANDLED;
++}
++
++static int unicam_querycap(struct file *file, void *priv,
++ struct v4l2_capability *cap)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ strlcpy(cap->driver, UNICAM_MODULE_NAME, sizeof(cap->driver));
++ strlcpy(cap->card, UNICAM_MODULE_NAME, sizeof(cap->card));
++
++ snprintf(cap->bus_info, sizeof(cap->bus_info),
++ "platform:%s", dev->v4l2_dev.name);
++
++ return 0;
++}
++
++static int unicam_enum_fmt_vid_cap(struct file *file, void *priv,
++ struct v4l2_fmtdesc *f)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ const struct unicam_fmt *fmt = NULL;
++
++ if (f->index >= dev->num_active_fmt)
++ return -EINVAL;
++
++ fmt = &dev->active_fmts[f->index];
++
++ f->pixelformat = fmt->fourcc;
++
++ return 0;
++}
++
++static int unicam_g_fmt_vid_cap(struct file *file, void *priv,
++ struct v4l2_format *f)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ *f = dev->v_fmt;
++
++ return 0;
++}
++
++static int unicam_try_fmt_vid_cap(struct file *file, void *priv,
++ struct v4l2_format *f)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ const struct unicam_fmt *fmt;
++ struct v4l2_subdev_format sd_fmt = {
++ .which = V4L2_SUBDEV_FORMAT_TRY,
++ };
++ struct v4l2_mbus_framefmt *mbus_fmt = &sd_fmt.format;
++ int ret;
++
++ fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat);
++ if (!fmt) {
++ unicam_dbg(3, dev, "Fourcc format (0x%08x) not found. Use default of %08X\n",
++ f->fmt.pix.pixelformat, dev->active_fmts[0].fourcc);
++
++ /* Just get the first one enumerated */
++ fmt = &dev->active_fmts[0];
++ f->fmt.pix.pixelformat = fmt->fourcc;
++ }
++
++ v4l2_fill_mbus_format(mbus_fmt, &f->fmt.pix, fmt->code);
++ /*
++ * No support for receiving interlaced video, so never
++ * request it from the sensor subdev.
++ */
++ mbus_fmt->field = V4L2_FIELD_NONE;
++
++ ret = v4l2_subdev_call(dev->sensor, pad, set_fmt, dev->sensor_config,
++ &sd_fmt);
++ if (ret && ret != -ENOIOCTLCMD && ret != -ENODEV)
++ return ret;
++
++ if (mbus_fmt->field != V4L2_FIELD_NONE)
++ unicam_info(dev, "Sensor trying to send interlaced video - results may be unpredictable\n");
++
++ v4l2_fill_pix_format(&f->fmt.pix, &sd_fmt.format);
++ /*
++ * Use current colorspace for now, it will get
++ * updated properly during s_fmt
++ */
++ f->fmt.pix.colorspace = dev->v_fmt.fmt.pix.colorspace;
++ return unicam_calc_format_size_bpl(dev, fmt, f);
++}
++
++static int unicam_s_fmt_vid_cap(struct file *file, void *priv,
++ struct v4l2_format *f)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ struct vb2_queue *q = &dev->buffer_queue;
++ const struct unicam_fmt *fmt;
++ struct v4l2_mbus_framefmt mbus_fmt = {0};
++ int ret;
++
++ if (vb2_is_busy(q))
++ return -EBUSY;
++
++ ret = unicam_try_fmt_vid_cap(file, priv, f);
++ if (ret < 0)
++ return ret;
++
++ fmt = find_format_by_pix(dev, f->fmt.pix.pixelformat);
++ if (!fmt) {
++ /* Unknown pixel format - adopt a default */
++ fmt = &dev->active_fmts[0];
++ f->fmt.pix.pixelformat = fmt->fourcc;
++ return -EINVAL;
++ }
++
++ v4l2_fill_mbus_format(&mbus_fmt, &f->fmt.pix, fmt->code);
++
++ ret = __subdev_set_format(dev, &mbus_fmt);
++ if (ret) {
++ unicam_dbg(3, dev, "%s __subdev_set_format failed %d\n",
++ __func__, ret);
++ return ret;
++ }
++
++ /* Just double check nothing has gone wrong */
++ if (mbus_fmt.code != fmt->code) {
++ unicam_dbg(3, dev,
++ "%s subdev changed format on us, this should not happen\n",
++ __func__);
++ return -EINVAL;
++ }
++
++ dev->fmt = fmt;
++ dev->v_fmt.fmt.pix.pixelformat = f->fmt.pix.pixelformat;
++ dev->v_fmt.fmt.pix.bytesperline = f->fmt.pix.bytesperline;
++ unicam_reset_format(dev);
++
++ unicam_dbg(3, dev, "%s %dx%d, mbus_fmt %08X, V4L2 pix " V4L2_FOURCC_CONV ".\n",
++ __func__, dev->v_fmt.fmt.pix.width,
++ dev->v_fmt.fmt.pix.height, mbus_fmt.code,
++ V4L2_FOURCC_CONV_ARGS(dev->v_fmt.fmt.pix.pixelformat));
++
++ *f = dev->v_fmt;
++
++ return 0;
++}
++
++static int unicam_queue_setup(struct vb2_queue *vq,
++ unsigned int *nbuffers,
++ unsigned int *nplanes,
++ unsigned int sizes[],
++ struct device *alloc_devs[])
++{
++ struct unicam_device *dev = vb2_get_drv_priv(vq);
++ unsigned int size = dev->v_fmt.fmt.pix.sizeimage;
++
++ if (vq->num_buffers + *nbuffers < 3)
++ *nbuffers = 3 - vq->num_buffers;
++
++ if (*nplanes) {
++ if (sizes[0] < size) {
++ unicam_err(dev, "sizes[0] %i < size %u\n", sizes[0],
++ size);
++ return -EINVAL;
++ }
++ size = sizes[0];
++ }
++
++ *nplanes = 1;
++ sizes[0] = size;
++
++ return 0;
++}
++
++static int unicam_buffer_prepare(struct vb2_buffer *vb)
++{
++ struct unicam_device *dev = vb2_get_drv_priv(vb->vb2_queue);
++ struct unicam_buffer *buf = container_of(vb, struct unicam_buffer,
++ vb.vb2_buf);
++ unsigned long size;
++
++ if (WARN_ON(!dev->fmt))
++ return -EINVAL;
++
++ size = dev->v_fmt.fmt.pix.sizeimage;
++ if (vb2_plane_size(vb, 0) < size) {
++ unicam_err(dev, "data will not fit into plane (%lu < %lu)\n",
++ vb2_plane_size(vb, 0), size);
++ return -EINVAL;
++ }
++
++ vb2_set_plane_payload(&buf->vb.vb2_buf, 0, size);
++ return 0;
++}
++
++static void unicam_buffer_queue(struct vb2_buffer *vb)
++{
++ struct unicam_device *dev = vb2_get_drv_priv(vb->vb2_queue);
++ struct unicam_buffer *buf = container_of(vb, struct unicam_buffer,
++ vb.vb2_buf);
++ struct unicam_dmaqueue *dma_queue = &dev->dma_queue;
++ unsigned long flags = 0;
++
++ /* recheck locking */
++ spin_lock_irqsave(&dev->dma_queue_lock, flags);
++ list_add_tail(&buf->list, &dma_queue->active);
++ spin_unlock_irqrestore(&dev->dma_queue_lock, flags);
++}
++
++static void unicam_wr_dma_config(struct unicam_device *dev,
++ unsigned int stride)
++{
++ reg_write(&dev->cfg, UNICAM_IBLS, stride);
++}
++
++static void unicam_set_packing_config(struct unicam_device *dev)
++{
++ int mbus_depth = find_mbus_depth_by_code(dev->fmt->code);
++ int v4l2_depth = dev->fmt->depth;
++ int pack, unpack;
++ u32 val;
++
++ if (mbus_depth == v4l2_depth) {
++ unpack = UNICAM_PUM_NONE;
++ pack = UNICAM_PPM_NONE;
++ } else {
++ switch (mbus_depth) {
++ case 8:
++ unpack = UNICAM_PUM_UNPACK8;
++ break;
++ case 10:
++ unpack = UNICAM_PUM_UNPACK10;
++ break;
++ case 12:
++ unpack = UNICAM_PUM_UNPACK12;
++ break;
++ case 14:
++ unpack = UNICAM_PUM_UNPACK14;
++ break;
++ case 16:
++ unpack = UNICAM_PUM_UNPACK16;
++ break;
++ default:
++ unpack = UNICAM_PUM_NONE;
++ break;
++ }
++ switch (v4l2_depth) {
++ case 8:
++ pack = UNICAM_PPM_PACK8;
++ break;
++ case 10:
++ pack = UNICAM_PPM_PACK10;
++ break;
++ case 12:
++ pack = UNICAM_PPM_PACK12;
++ break;
++ case 14:
++ pack = UNICAM_PPM_PACK14;
++ break;
++ case 16:
++ pack = UNICAM_PPM_PACK16;
++ break;
++ default:
++ pack = UNICAM_PPM_NONE;
++ break;
++ }
++ }
++
++ val = 0;
++ set_field(&val, 2, UNICAM_DEBL_MASK);
++ set_field(&val, unpack, UNICAM_PUM_MASK);
++ set_field(&val, pack, UNICAM_PPM_MASK);
++ reg_write(&dev->cfg, UNICAM_IPIPE, val);
++}
++
++static void unicam_cfg_image_id(struct unicam_device *dev)
++{
++ struct unicam_cfg *cfg = &dev->cfg;
++
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) {
++ /* CSI2 mode */
++ reg_write(cfg, UNICAM_IDI0,
++ (dev->virtual_channel << 6) | dev->fmt->csi_dt);
++ } else {
++ /* CCP2 mode */
++ reg_write(cfg, UNICAM_IDI0, (0x80 | dev->fmt->csi_dt));
++ }
++}
++
++void unicam_start_rx(struct unicam_device *dev, unsigned long addr)
++{
++ struct unicam_cfg *cfg = &dev->cfg;
++ int line_int_freq = dev->v_fmt.fmt.pix.height >> 2;
++ unsigned int i;
++ u32 val;
++
++ if (line_int_freq < 128)
++ line_int_freq = 128;
++
++ /* Enable lane clocks */
++ val = 1;
++ for (i = 0; i < dev->active_data_lanes; i++)
++ val = val << 2 | 1;
++ clk_write(cfg, val);
++
++ /* Basic init */
++ reg_write(cfg, UNICAM_CTRL, UNICAM_MEM);
++
++ /* Enable analogue control, and leave in reset. */
++ val = UNICAM_AR;
++ set_field(&val, 7, UNICAM_CTATADJ_MASK);
++ set_field(&val, 7, UNICAM_PTATADJ_MASK);
++ reg_write(cfg, UNICAM_ANA, val);
++ usleep_range(1000, 2000);
++
++ /* Come out of reset */
++ reg_write_field(cfg, UNICAM_ANA, 0, UNICAM_AR);
++
++ /* Peripheral reset */
++ reg_write_field(cfg, UNICAM_CTRL, 1, UNICAM_CPR);
++ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_CPR);
++
++ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_CPE);
++
++ /* Enable Rx control. */
++ val = reg_read(cfg, UNICAM_CTRL);
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) {
++ set_field(&val, UNICAM_CPM_CSI2, UNICAM_CPM_MASK);
++ set_field(&val, UNICAM_DCM_STROBE, UNICAM_DCM_MASK);
++ } else {
++ set_field(&val, UNICAM_CPM_CCP2, UNICAM_CPM_MASK);
++ set_field(&val, dev->bus_flags, UNICAM_DCM_MASK);
++ }
++ /* Packet framer timeout */
++ set_field(&val, 0xf, UNICAM_PFT_MASK);
++ set_field(&val, 128, UNICAM_OET_MASK);
++ reg_write(cfg, UNICAM_CTRL, val);
++
++ reg_write(cfg, UNICAM_IHWIN, 0);
++ reg_write(cfg, UNICAM_IVWIN, 0);
++
++ /* AXI bus access QoS setup */
++ val = reg_read(&dev->cfg, UNICAM_PRI);
++ set_field(&val, 0, UNICAM_BL_MASK);
++ set_field(&val, 0, UNICAM_BS_MASK);
++ set_field(&val, 0xe, UNICAM_PP_MASK);
++ set_field(&val, 8, UNICAM_NP_MASK);
++ set_field(&val, 2, UNICAM_PT_MASK);
++ set_field(&val, 1, UNICAM_PE);
++ reg_write(cfg, UNICAM_PRI, val);
++
++ reg_write_field(cfg, UNICAM_ANA, 0, UNICAM_DDL);
++
++ /* Always start in trigger frame capture mode (UNICAM_FCM set) */
++ val = UNICAM_FSIE | UNICAM_FEIE | UNICAM_FCM;
++ set_field(&val, line_int_freq, UNICAM_LCIE_MASK);
++ reg_write(cfg, UNICAM_ICTL, val);
++ reg_write(cfg, UNICAM_STA, UNICAM_STA_MASK_ALL);
++ reg_write(cfg, UNICAM_ISTA, UNICAM_ISTA_MASK_ALL);
++
++ /* tclk_term_en */
++ reg_write_field(cfg, UNICAM_CLT, 2, UNICAM_CLT1_MASK);
++ /* tclk_settle */
++ reg_write_field(cfg, UNICAM_CLT, 6, UNICAM_CLT2_MASK);
++ /* td_term_en */
++ reg_write_field(cfg, UNICAM_DLT, 2, UNICAM_DLT1_MASK);
++ /* ths_settle */
++ reg_write_field(cfg, UNICAM_DLT, 6, UNICAM_DLT2_MASK);
++ /* trx_enable */
++ reg_write_field(cfg, UNICAM_DLT, 0, UNICAM_DLT3_MASK);
++
++ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_SOE);
++
++ /* Packet compare setup - required to avoid missing frame ends */
++ val = 0;
++ set_field(&val, 1, UNICAM_PCE);
++ set_field(&val, 1, UNICAM_GI);
++ set_field(&val, 1, UNICAM_CPH);
++ set_field(&val, 0, UNICAM_PCVC_MASK);
++ set_field(&val, 1, UNICAM_PCDT_MASK);
++ reg_write(cfg, UNICAM_CMP0, val);
++
++ /* Enable clock lane and set up terminations */
++ val = 0;
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) {
++ /* CSI2 */
++ set_field(&val, 1, UNICAM_CLE);
++ set_field(&val, 1, UNICAM_CLLPE);
++ if (dev->bus_flags & V4L2_MBUS_CSI2_CONTINUOUS_CLOCK) {
++ set_field(&val, 1, UNICAM_CLTRE);
++ set_field(&val, 1, UNICAM_CLHSE);
++ }
++ } else {
++ /* CCP2 */
++ set_field(&val, 1, UNICAM_CLE);
++ set_field(&val, 1, UNICAM_CLHSE);
++ set_field(&val, 1, UNICAM_CLTRE);
++ }
++ reg_write(cfg, UNICAM_CLK, val);
++
++ /*
++ * Enable required data lanes with appropriate terminations.
++ * The same value needs to be written to UNICAM_DATn registers for
++ * the active lanes, and 0 for inactive ones.
++ */
++ val = 0;
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY) {
++ /* CSI2 */
++ set_field(&val, 1, UNICAM_DLE);
++ set_field(&val, 1, UNICAM_DLLPE);
++ if (dev->bus_flags & V4L2_MBUS_CSI2_CONTINUOUS_CLOCK) {
++ set_field(&val, 1, UNICAM_DLTRE);
++ set_field(&val, 1, UNICAM_DLHSE);
++ }
++ } else {
++ /* CCP2 */
++ set_field(&val, 1, UNICAM_DLE);
++ set_field(&val, 1, UNICAM_DLHSE);
++ set_field(&val, 1, UNICAM_DLTRE);
++ }
++ reg_write(cfg, UNICAM_DAT0, val);
++
++ if (dev->active_data_lanes == 1)
++ val = 0;
++ reg_write(cfg, UNICAM_DAT1, val);
++
++ if (dev->max_data_lanes > 2) {
++ /*
++ * Registers UNICAM_DAT2 and UNICAM_DAT3 only valid if the
++ * instance supports more than 2 data lanes.
++ */
++ if (dev->active_data_lanes == 2)
++ val = 0;
++ reg_write(cfg, UNICAM_DAT2, val);
++
++ if (dev->active_data_lanes == 3)
++ val = 0;
++ reg_write(cfg, UNICAM_DAT3, val);
++ }
++
++ unicam_wr_dma_config(dev, dev->v_fmt.fmt.pix.bytesperline);
++ unicam_wr_dma_addr(dev, addr);
++ unicam_set_packing_config(dev);
++ unicam_cfg_image_id(dev);
++
++ /* Disabled embedded data */
++ val = 0;
++ set_field(&val, 0, UNICAM_EDL_MASK);
++ reg_write(cfg, UNICAM_DCS, val);
++
++ val = reg_read(cfg, UNICAM_MISC);
++ set_field(&val, 1, UNICAM_FL0);
++ set_field(&val, 1, UNICAM_FL1);
++ reg_write(cfg, UNICAM_MISC, val);
++
++ /* Enable peripheral */
++ reg_write_field(cfg, UNICAM_CTRL, 1, UNICAM_CPE);
++
++ /* Load image pointers */
++ reg_write_field(cfg, UNICAM_ICTL, 1, UNICAM_LIP_MASK);
++
++ /*
++ * Enable trigger only for the first frame to
++ * sync correctly to the FS from the source.
++ */
++ reg_write_field(cfg, UNICAM_ICTL, 1, UNICAM_TFC);
++}
++
++static void unicam_disable(struct unicam_device *dev)
++{
++ struct unicam_cfg *cfg = &dev->cfg;
++
++ /* Analogue lane control disable */
++ reg_write_field(cfg, UNICAM_ANA, 1, UNICAM_DDL);
++
++ /* Stop the output engine */
++ reg_write_field(cfg, UNICAM_CTRL, 1, UNICAM_SOE);
++
++ /* Disable the data lanes. */
++ reg_write(cfg, UNICAM_DAT0, 0);
++ reg_write(cfg, UNICAM_DAT1, 0);
++
++ if (dev->max_data_lanes > 2) {
++ reg_write(cfg, UNICAM_DAT2, 0);
++ reg_write(cfg, UNICAM_DAT3, 0);
++ }
++
++ /* Peripheral reset */
++ reg_write_field(cfg, UNICAM_CTRL, 1, UNICAM_CPR);
++ usleep_range(50, 100);
++ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_CPR);
++
++ /* Disable peripheral */
++ reg_write_field(cfg, UNICAM_CTRL, 0, UNICAM_CPE);
++
++ /* Disable all lane clocks */
++ clk_write(cfg, 0);
++}
++
++static int unicam_start_streaming(struct vb2_queue *vq, unsigned int count)
++{
++ struct unicam_device *dev = vb2_get_drv_priv(vq);
++ struct unicam_dmaqueue *dma_q = &dev->dma_queue;
++ struct unicam_buffer *buf, *tmp;
++ unsigned long addr = 0;
++ unsigned long flags;
++ int ret;
++
++ spin_lock_irqsave(&dev->dma_queue_lock, flags);
++ buf = list_entry(dma_q->active.next, struct unicam_buffer, list);
++ dev->cur_frm = buf;
++ dev->next_frm = buf;
++ list_del(&buf->list);
++ spin_unlock_irqrestore(&dev->dma_queue_lock, flags);
++
++ addr = vb2_dma_contig_plane_dma_addr(&dev->cur_frm->vb.vb2_buf, 0);
++ dev->sequence = 0;
++
++ ret = unicam_runtime_get(dev);
++ if (ret < 0) {
++ unicam_dbg(3, dev, "unicam_runtime_get failed\n");
++ goto err_release_buffers;
++ }
++
++ dev->active_data_lanes = dev->max_data_lanes;
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY &&
++ v4l2_subdev_has_op(dev->sensor, video, g_mbus_config)) {
++ struct v4l2_mbus_config mbus_config;
++
++ ret = v4l2_subdev_call(dev->sensor, video, g_mbus_config,
++ &mbus_config);
++ if (ret < 0) {
++ unicam_dbg(3, dev, "g_mbus_config failed\n");
++ goto err_pm_put;
++ }
++
++ dev->active_data_lanes =
++ (mbus_config.flags & V4L2_MBUS_CSI2_LANE_MASK) >>
++ __ffs(V4L2_MBUS_CSI2_LANE_MASK);
++ if (!dev->active_data_lanes)
++ dev->active_data_lanes = dev->max_data_lanes;
++ }
++ if (dev->active_data_lanes > dev->max_data_lanes) {
++ unicam_err(dev, "Device has requested %u data lanes, which is >%u configured in DT\n",
++ dev->active_data_lanes, dev->max_data_lanes);
++ ret = -EINVAL;
++ goto err_pm_put;
++ }
++
++ unicam_dbg(1, dev, "Running with %u data lanes\n",
++ dev->active_data_lanes);
++
++ ret = clk_set_rate(dev->clock, 100 * 1000 * 1000);
++ if (ret) {
++ unicam_err(dev, "failed to set up clock\n");
++ goto err_pm_put;
++ }
++
++ ret = clk_prepare_enable(dev->clock);
++ if (ret) {
++ unicam_err(dev, "Failed to enable CSI clock: %d\n", ret);
++ goto err_pm_put;
++ }
++ ret = v4l2_subdev_call(dev->sensor, core, s_power, 1);
++ if (ret < 0 && ret != -ENOIOCTLCMD) {
++ unicam_err(dev, "power on failed in subdev\n");
++ goto err_clock_unprepare;
++ }
++ dev->streaming = 1;
++
++ unicam_start_rx(dev, addr);
++
++ ret = v4l2_subdev_call(dev->sensor, video, s_stream, 1);
++ if (ret < 0) {
++ unicam_err(dev, "stream on failed in subdev\n");
++ goto err_disable_unicam;
++ }
++
++ return 0;
++
++err_disable_unicam:
++ unicam_disable(dev);
++ v4l2_subdev_call(dev->sensor, core, s_power, 0);
++err_clock_unprepare:
++ clk_disable_unprepare(dev->clock);
++err_pm_put:
++ unicam_runtime_put(dev);
++err_release_buffers:
++ list_for_each_entry_safe(buf, tmp, &dma_q->active, list) {
++ list_del(&buf->list);
++ vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_QUEUED);
++ }
++ if (dev->cur_frm != dev->next_frm)
++ vb2_buffer_done(&dev->next_frm->vb.vb2_buf,
++ VB2_BUF_STATE_QUEUED);
++ vb2_buffer_done(&dev->cur_frm->vb.vb2_buf, VB2_BUF_STATE_QUEUED);
++ dev->next_frm = NULL;
++ dev->cur_frm = NULL;
++
++ return ret;
++}
++
++static void unicam_stop_streaming(struct vb2_queue *vq)
++{
++ struct unicam_device *dev = vb2_get_drv_priv(vq);
++ struct unicam_dmaqueue *dma_q = &dev->dma_queue;
++ struct unicam_buffer *buf, *tmp;
++ unsigned long flags;
++
++ if (v4l2_subdev_call(dev->sensor, video, s_stream, 0) < 0)
++ unicam_err(dev, "stream off failed in subdev\n");
++
++ unicam_disable(dev);
++
++ /* Release all active buffers */
++ spin_lock_irqsave(&dev->dma_queue_lock, flags);
++ list_for_each_entry_safe(buf, tmp, &dma_q->active, list) {
++ list_del(&buf->list);
++ vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
++ }
++
++ if (dev->cur_frm == dev->next_frm) {
++ vb2_buffer_done(&dev->cur_frm->vb.vb2_buf, VB2_BUF_STATE_ERROR);
++ } else {
++ vb2_buffer_done(&dev->cur_frm->vb.vb2_buf, VB2_BUF_STATE_ERROR);
++ vb2_buffer_done(&dev->next_frm->vb.vb2_buf,
++ VB2_BUF_STATE_ERROR);
++ }
++ dev->cur_frm = NULL;
++ dev->next_frm = NULL;
++ spin_unlock_irqrestore(&dev->dma_queue_lock, flags);
++
++ if (v4l2_subdev_has_op(dev->sensor, core, s_power)) {
++ if (v4l2_subdev_call(dev->sensor, core, s_power, 0) < 0)
++ unicam_err(dev, "power off failed in subdev\n");
++ }
++
++ clk_disable_unprepare(dev->clock);
++ unicam_runtime_put(dev);
++}
++
++static int unicam_enum_input(struct file *file, void *priv,
++ struct v4l2_input *inp)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ if (inp->index != 0)
++ return -EINVAL;
++
++ inp->type = V4L2_INPUT_TYPE_CAMERA;
++ if (v4l2_subdev_has_op(dev->sensor, video, s_dv_timings)) {
++ inp->capabilities = V4L2_IN_CAP_DV_TIMINGS;
++ inp->std = 0;
++ } else if (v4l2_subdev_has_op(dev->sensor, video, s_std)) {
++ inp->capabilities = V4L2_IN_CAP_STD;
++ if (v4l2_subdev_call(dev->sensor, video, g_tvnorms, &inp->std)
++ < 0)
++ inp->std = V4L2_STD_ALL;
++ } else {
++ inp->capabilities = 0;
++ inp->std = 0;
++ }
++ sprintf(inp->name, "Camera 0");
++ return 0;
++}
++
++static int unicam_g_input(struct file *file, void *priv, unsigned int *i)
++{
++ *i = 0;
++
++ return 0;
++}
++
++static int unicam_s_input(struct file *file, void *priv, unsigned int i)
++{
++ /*
++ * FIXME: Ideally we would like to be able to query the source
++ * subdevice for information over the input connectors it supports,
++ * and map that through in to a call to video_ops->s_routing.
++ * There is no infrastructure support for defining that within
++ * devicetree at present. Until that is implemented we can't
++ * map a user physical connector number to s_routing input number.
++ */
++ if (i > 0)
++ return -EINVAL;
++
++ return 0;
++}
++
++static int unicam_querystd(struct file *file, void *priv,
++ v4l2_std_id *std)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, video, querystd, std);
++}
++
++static int unicam_g_std(struct file *file, void *priv, v4l2_std_id *std)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, video, g_std, std);
++}
++
++static int unicam_s_std(struct file *file, void *priv, v4l2_std_id std)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ int ret;
++ v4l2_std_id current_std;
++
++ ret = v4l2_subdev_call(dev->sensor, video, g_std, &current_std);
++ if (ret)
++ return ret;
++
++ if (std == current_std)
++ return 0;
++
++ if (vb2_is_busy(&dev->buffer_queue))
++ return -EBUSY;
++
++ ret = v4l2_subdev_call(dev->sensor, video, s_std, std);
++
++ /* Force recomputation of bytesperline */
++ dev->v_fmt.fmt.pix.bytesperline = 0;
++
++ unicam_reset_format(dev);
++
++ return ret;
++}
++
++static int unicam_s_edid(struct file *file, void *priv, struct v4l2_edid *edid)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, pad, set_edid, edid);
++}
++
++static int unicam_g_edid(struct file *file, void *priv, struct v4l2_edid *edid)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, pad, get_edid, edid);
++}
++
++static int unicam_g_dv_timings(struct file *file, void *priv,
++ struct v4l2_dv_timings *timings)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, video, g_dv_timings, timings);
++}
++
++static int unicam_s_dv_timings(struct file *file, void *priv,
++ struct v4l2_dv_timings *timings)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ struct v4l2_dv_timings current_timings;
++ int ret;
++
++ ret = v4l2_subdev_call(dev->sensor, video, g_dv_timings,
++ &current_timings);
++
++ if (v4l2_match_dv_timings(timings, &current_timings, 0, false))
++ return 0;
++
++ if (vb2_is_busy(&dev->buffer_queue))
++ return -EBUSY;
++
++ ret = v4l2_subdev_call(dev->sensor, video, s_dv_timings, timings);
++
++ /* Force recomputation of bytesperline */
++ dev->v_fmt.fmt.pix.bytesperline = 0;
++
++ unicam_reset_format(dev);
++
++ return ret;
++}
++
++static int unicam_query_dv_timings(struct file *file, void *priv,
++ struct v4l2_dv_timings *timings)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, video, query_dv_timings, timings);
++}
++
++static int unicam_enum_dv_timings(struct file *file, void *priv,
++ struct v4l2_enum_dv_timings *timings)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, pad, enum_dv_timings, timings);
++}
++
++static int unicam_dv_timings_cap(struct file *file, void *priv,
++ struct v4l2_dv_timings_cap *cap)
++{
++ struct unicam_device *dev = video_drvdata(file);
++
++ return v4l2_subdev_call(dev->sensor, pad, dv_timings_cap, cap);
++}
++
++static int unicam_subscribe_event(struct v4l2_fh *fh,
++ const struct v4l2_event_subscription *sub)
++{
++ switch (sub->type) {
++ case V4L2_EVENT_SOURCE_CHANGE:
++ return v4l2_event_subscribe(fh, sub, 4, NULL);
++ }
++
++ return v4l2_ctrl_subscribe_event(fh, sub);
++}
++
++static int unicam_log_status(struct file *file, void *fh)
++{
++ struct unicam_device *dev = video_drvdata(file);
++ struct unicam_cfg *cfg = &dev->cfg;
++ u32 reg;
++
++ /* status for sub devices */
++ v4l2_device_call_all(&dev->v4l2_dev, 0, core, log_status);
++
++ unicam_info(dev, "-----Receiver status-----\n");
++ unicam_info(dev, "V4L2 width/height: %ux%u\n",
++ dev->v_fmt.fmt.pix.width, dev->v_fmt.fmt.pix.height);
++ unicam_info(dev, "Mediabus format: %08x\n", dev->fmt->code);
++ unicam_info(dev, "V4L2 format: " V4L2_FOURCC_CONV "\n",
++ V4L2_FOURCC_CONV_ARGS(dev->v_fmt.fmt.pix.pixelformat));
++ reg = reg_read(&dev->cfg, UNICAM_IPIPE);
++ unicam_info(dev, "Unpacking/packing: %u / %u\n",
++ get_field(reg, UNICAM_PUM_MASK),
++ get_field(reg, UNICAM_PPM_MASK));
++ unicam_info(dev, "----Live data----\n");
++ unicam_info(dev, "Programmed stride: %4u\n",
++ reg_read(cfg, UNICAM_IBLS));
++ unicam_info(dev, "Detected resolution: %ux%u\n",
++ reg_read(cfg, UNICAM_IHSTA),
++ reg_read(cfg, UNICAM_IVSTA));
++ unicam_info(dev, "Write pointer: %08x\n",
++ reg_read(cfg, UNICAM_IBWP));
++
++ return 0;
++}
++
++static void unicam_notify(struct v4l2_subdev *sd,
++ unsigned int notification, void *arg)
++{
++ struct unicam_device *dev =
++ container_of(sd->v4l2_dev, struct unicam_device, v4l2_dev);
++
++ switch (notification) {
++ case V4L2_DEVICE_NOTIFY_EVENT:
++ v4l2_event_queue(&dev->video_dev, arg);
++ break;
++ default:
++ break;
++ }
++}
++
++static const struct vb2_ops unicam_video_qops = {
++ .wait_prepare = vb2_ops_wait_prepare,
++ .wait_finish = vb2_ops_wait_finish,
++ .queue_setup = unicam_queue_setup,
++ .buf_prepare = unicam_buffer_prepare,
++ .buf_queue = unicam_buffer_queue,
++ .start_streaming = unicam_start_streaming,
++ .stop_streaming = unicam_stop_streaming,
++};
++
++/* unicam capture driver file operations */
++static const struct v4l2_file_operations unicam_fops = {
++ .owner = THIS_MODULE,
++ .open = v4l2_fh_open,
++ .release = vb2_fop_release,
++ .read = vb2_fop_read,
++ .poll = vb2_fop_poll,
++ .unlocked_ioctl = video_ioctl2,
++ .mmap = vb2_fop_mmap,
++};
++
++/* unicam capture ioctl operations */
++static const struct v4l2_ioctl_ops unicam_ioctl_ops = {
++ .vidioc_querycap = unicam_querycap,
++ .vidioc_enum_fmt_vid_cap = unicam_enum_fmt_vid_cap,
++ .vidioc_g_fmt_vid_cap = unicam_g_fmt_vid_cap,
++ .vidioc_s_fmt_vid_cap = unicam_s_fmt_vid_cap,
++ .vidioc_try_fmt_vid_cap = unicam_try_fmt_vid_cap,
++
++ .vidioc_enum_input = unicam_enum_input,
++ .vidioc_g_input = unicam_g_input,
++ .vidioc_s_input = unicam_s_input,
++
++ .vidioc_querystd = unicam_querystd,
++ .vidioc_s_std = unicam_s_std,
++ .vidioc_g_std = unicam_g_std,
++
++ .vidioc_g_edid = unicam_g_edid,
++ .vidioc_s_edid = unicam_s_edid,
++
++ .vidioc_s_dv_timings = unicam_s_dv_timings,
++ .vidioc_g_dv_timings = unicam_g_dv_timings,
++ .vidioc_query_dv_timings = unicam_query_dv_timings,
++ .vidioc_enum_dv_timings = unicam_enum_dv_timings,
++ .vidioc_dv_timings_cap = unicam_dv_timings_cap,
++
++ .vidioc_reqbufs = vb2_ioctl_reqbufs,
++ .vidioc_create_bufs = vb2_ioctl_create_bufs,
++ .vidioc_prepare_buf = vb2_ioctl_prepare_buf,
++ .vidioc_querybuf = vb2_ioctl_querybuf,
++ .vidioc_qbuf = vb2_ioctl_qbuf,
++ .vidioc_dqbuf = vb2_ioctl_dqbuf,
++ .vidioc_expbuf = vb2_ioctl_expbuf,
++ .vidioc_streamon = vb2_ioctl_streamon,
++ .vidioc_streamoff = vb2_ioctl_streamoff,
++
++ .vidioc_log_status = unicam_log_status,
++ .vidioc_subscribe_event = unicam_subscribe_event,
++ .vidioc_unsubscribe_event = v4l2_event_unsubscribe,
++};
++
++/*
++ * Adds an entry to the active_fmts array
++ * Returns non-zero if attempting to write off the end of the array.
++ */
++static int unicam_add_active_format(struct unicam_device *unicam,
++ const struct unicam_fmt *fmt)
++{
++ //Ensure we don't run off the end of the array.
++ if (unicam->num_active_fmt >= MAX_POSSIBLE_PIX_FMTS)
++ return 1;
++
++ unicam->active_fmts[unicam->num_active_fmt] = *fmt;
++ unicam_dbg(2, unicam,
++ "matched fourcc: " V4L2_FOURCC_CONV ": code: %04x idx: %d\n",
++ V4L2_FOURCC_CONV_ARGS(fmt->fourcc),
++ fmt->code, unicam->num_active_fmt);
++ unicam->num_active_fmt++;
++
++ return 0;
++}
++
++static int
++unicam_async_bound(struct v4l2_async_notifier *notifier,
++ struct v4l2_subdev *subdev,
++ struct v4l2_async_subdev *asd)
++{
++ struct unicam_device *unicam = container_of(notifier->v4l2_dev,
++ struct unicam_device, v4l2_dev);
++ struct v4l2_subdev_mbus_code_enum mbus_code;
++ int ret = 0;
++ int j;
++
++ if (unicam->sensor) {
++ unicam_info(unicam, "Rejecting subdev %s (Already set!!)",
++ subdev->name);
++ return 0;
++ }
++
++ unicam->sensor = subdev;
++ unicam_dbg(1, unicam, "Using sensor %s for capture\n", subdev->name);
++
++ /* Enumerate sub device formats and enable all matching local formats */
++ unicam->num_active_fmt = 0;
++ unicam_dbg(2, unicam, "Get supported formats...\n");
++ for (j = 0; ret != -EINVAL && ret != -ENOIOCTLCMD; ++j) {
++ const struct unicam_fmt *fmt = NULL;
++ int k;
++
++ memset(&mbus_code, 0, sizeof(mbus_code));
++ mbus_code.index = j;
++ ret = v4l2_subdev_call(subdev, pad, enum_mbus_code,
++ NULL, &mbus_code);
++ if (ret < 0) {
++ unicam_dbg(2, unicam,
++ "subdev->enum_mbus_code idx %d returned %d - continue\n",
++ j, ret);
++ continue;
++ }
++
++ unicam_dbg(2, unicam, "subdev %s: code: %04x idx: %d\n",
++ subdev->name, mbus_code.code, j);
++
++ for (k = 0; k < ARRAY_SIZE(formats); k++) {
++ if (mbus_code.code == formats[k].code) {
++ fmt = &formats[k];
++ break;
++ }
++ }
++ unicam_dbg(2, unicam, "fmt %04x returned as %p, V4L2 FOURCC %04x, csi_dt %02X\n",
++ mbus_code.code, fmt, fmt ? fmt->fourcc : 0,
++ fmt ? fmt->csi_dt : 0);
++ if (fmt) {
++ if (unicam_add_active_format(unicam, fmt)) {
++ unicam_dbg(1, unicam, "Active fmt list truncated\n");
++ break;
++ }
++ }
++ }
++ unicam_dbg(2, unicam,
++ "Done all formats\n");
++ dump_active_formats(unicam);
++
++ return 0;
++}
++
++static int unicam_probe_complete(struct unicam_device *unicam)
++{
++ struct video_device *vdev;
++ struct vb2_queue *q;
++ struct v4l2_mbus_framefmt mbus_fmt = {0};
++ const struct unicam_fmt *fmt;
++ int ret;
++
++ v4l2_set_subdev_hostdata(unicam->sensor, unicam);
++
++ unicam->v4l2_dev.notify = unicam_notify;
++
++ unicam->sensor_config = v4l2_subdev_alloc_pad_config(unicam->sensor);
++ if (!unicam->sensor_config)
++ return -ENOMEM;
++
++ ret = __subdev_get_format(unicam, &mbus_fmt);
++ if (ret) {
++ unicam_err(unicam, "Failed to get_format - ret %d\n", ret);
++ return ret;
++ }
++
++ fmt = find_format_by_code(unicam, mbus_fmt.code);
++ if (!fmt) {
++ /* Default image format not valid. Choose first active fmt. */
++ fmt = &unicam->active_fmts[0];
++ mbus_fmt.code = fmt->code;
++ ret = __subdev_set_format(unicam, &mbus_fmt);
++ if (ret)
++ return -EINVAL;
++ }
++ if (mbus_fmt.field != V4L2_FIELD_NONE) {
++ /* Interlaced not supported - disable it now. */
++ mbus_fmt.field = V4L2_FIELD_NONE;
++ ret = __subdev_set_format(unicam, &mbus_fmt);
++ if (ret)
++ return -EINVAL;
++ }
++
++ unicam->fmt = fmt;
++ unicam->v_fmt.fmt.pix.pixelformat = fmt->fourcc;
++
++ /* Read current subdev format */
++ unicam_reset_format(unicam);
++
++ if (v4l2_subdev_has_op(unicam->sensor, video, s_std)) {
++ v4l2_std_id tvnorms;
++
++ if (WARN_ON(!v4l2_subdev_has_op(unicam->sensor, video,
++ g_tvnorms)))
++ /*
++ * Subdevice should not advertise s_std but not
++ * g_tvnorms
++ */
++ return -EINVAL;
++
++ ret = v4l2_subdev_call(unicam->sensor, video,
++ g_tvnorms, &tvnorms);
++ if (WARN_ON(ret))
++ return -EINVAL;
++ unicam->video_dev.tvnorms |= tvnorms;
++ }
++
++ spin_lock_init(&unicam->dma_queue_lock);
++ mutex_init(&unicam->lock);
++
++ /* Add controls from the subdevice */
++ ret = v4l2_ctrl_add_handler(&unicam->ctrl_handler,
++ unicam->sensor->ctrl_handler, NULL, true);
++ if (ret < 0)
++ return ret;
++
++ q = &unicam->buffer_queue;
++ q->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
++ q->io_modes = VB2_MMAP | VB2_DMABUF | VB2_READ;
++ q->drv_priv = unicam;
++ q->ops = &unicam_video_qops;
++ q->mem_ops = &vb2_dma_contig_memops;
++ q->buf_struct_size = sizeof(struct unicam_buffer);
++ q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
++ q->lock = &unicam->lock;
++ q->min_buffers_needed = 2;
++ q->dev = &unicam->pdev->dev;
++
++ ret = vb2_queue_init(q);
++ if (ret) {
++ unicam_err(unicam, "vb2_queue_init() failed\n");
++ return ret;
++ }
++
++ INIT_LIST_HEAD(&unicam->dma_queue.active);
++
++ vdev = &unicam->video_dev;
++ strlcpy(vdev->name, UNICAM_MODULE_NAME, sizeof(vdev->name));
++ vdev->release = video_device_release_empty;
++ vdev->fops = &unicam_fops;
++ vdev->ioctl_ops = &unicam_ioctl_ops;
++ vdev->v4l2_dev = &unicam->v4l2_dev;
++ vdev->vfl_dir = VFL_DIR_RX;
++ vdev->queue = q;
++ vdev->lock = &unicam->lock;
++ vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
++ V4L2_CAP_READWRITE;
++
++ /* If the source has no controls then remove our ctrl handler. */
++ if (list_empty(&unicam->ctrl_handler.ctrls))
++ unicam->v4l2_dev.ctrl_handler = NULL;
++
++ video_set_drvdata(vdev, unicam);
++ ret = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
++ if (ret) {
++ unicam_err(unicam, "Unable to register video device.\n");
++ return ret;
++ }
++
++ if (!v4l2_subdev_has_op(unicam->sensor, video, s_std)) {
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_S_STD);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_G_STD);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_ENUMSTD);
++ }
++ if (!v4l2_subdev_has_op(unicam->sensor, video, querystd))
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_QUERYSTD);
++ if (!v4l2_subdev_has_op(unicam->sensor, video, s_dv_timings)) {
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_S_EDID);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_G_EDID);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_DV_TIMINGS_CAP);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_G_DV_TIMINGS);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_S_DV_TIMINGS);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_ENUM_DV_TIMINGS);
++ v4l2_disable_ioctl(&unicam->video_dev, VIDIOC_QUERY_DV_TIMINGS);
++ }
++
++ ret = v4l2_device_register_subdev_nodes(&unicam->v4l2_dev);
++ if (ret) {
++ unicam_err(unicam,
++ "Unable to register subdev nodes.\n");
++ video_unregister_device(&unicam->video_dev);
++ return ret;
++ }
++
++ return 0;
++}
++
++static int unicam_async_complete(struct v4l2_async_notifier *notifier)
++{
++ struct unicam_device *unicam = container_of(notifier->v4l2_dev,
++ struct unicam_device, v4l2_dev);
++
++ return unicam_probe_complete(unicam);
++}
++
++static const struct v4l2_async_notifier_operations unicam_async_ops = {
++ .bound = unicam_async_bound,
++ .complete = unicam_async_complete,
++};
++
++static int of_unicam_connect_subdevs(struct unicam_device *dev)
++{
++ struct platform_device *pdev = dev->pdev;
++ struct device_node *parent, *ep_node = NULL, *remote_ep = NULL,
++ *sensor_node = NULL;
++ struct v4l2_fwnode_endpoint *ep;
++ struct v4l2_async_subdev *asd;
++ unsigned int peripheral_data_lanes;
++ int ret = -EINVAL;
++ unsigned int lane;
++
++ parent = pdev->dev.of_node;
++
++ asd = &dev->asd;
++ ep = &dev->endpoint;
++
++ ep_node = of_graph_get_next_endpoint(parent, NULL);
++ if (!ep_node) {
++ unicam_dbg(3, dev, "can't get next endpoint\n");
++ goto cleanup_exit;
++ }
++
++ unicam_dbg(3, dev, "ep_node is %s\n", ep_node->name);
++
++ v4l2_fwnode_endpoint_parse(of_fwnode_handle(ep_node), ep);
++
++ for (lane = 0; lane < ep->bus.mipi_csi2.num_data_lanes; lane++) {
++ if (ep->bus.mipi_csi2.data_lanes[lane] != lane + 1) {
++ unicam_err(dev, "Local endpoint - data lane reordering not supported\n");
++ goto cleanup_exit;
++ }
++ }
++
++ peripheral_data_lanes = ep->bus.mipi_csi2.num_data_lanes;
++
++ sensor_node = of_graph_get_remote_port_parent(ep_node);
++ if (!sensor_node) {
++ unicam_dbg(3, dev, "can't get remote parent\n");
++ goto cleanup_exit;
++ }
++ unicam_dbg(3, dev, "sensor_node is %s\n", sensor_node->name);
++ asd->match_type = V4L2_ASYNC_MATCH_FWNODE;
++ asd->match.fwnode = of_fwnode_handle(sensor_node);
++
++ remote_ep = of_graph_get_remote_endpoint(ep_node);
++ if (!remote_ep) {
++ unicam_dbg(3, dev, "can't get remote-endpoint\n");
++ goto cleanup_exit;
++ }
++ unicam_dbg(3, dev, "remote_ep is %s\n", remote_ep->name);
++ v4l2_fwnode_endpoint_parse(of_fwnode_handle(remote_ep), ep);
++ unicam_dbg(3, dev, "parsed remote_ep to endpoint. nr_of_link_frequencies %u, bus_type %u\n",
++ ep->nr_of_link_frequencies, ep->bus_type);
++
++ switch (ep->bus_type) {
++ case V4L2_MBUS_CSI2_DPHY:
++ if (ep->bus.mipi_csi2.num_data_lanes >
++ peripheral_data_lanes) {
++ unicam_err(dev, "Subdevice %s wants too many data lanes (%u > %u)\n",
++ sensor_node->name,
++ ep->bus.mipi_csi2.num_data_lanes,
++ peripheral_data_lanes);
++ goto cleanup_exit;
++ }
++ for (lane = 0;
++ lane < ep->bus.mipi_csi2.num_data_lanes;
++ lane++) {
++ if (ep->bus.mipi_csi2.data_lanes[lane] != lane + 1) {
++ unicam_err(dev, "Subdevice %s - incompatible data lane config\n",
++ sensor_node->name);
++ goto cleanup_exit;
++ }
++ }
++ dev->max_data_lanes = ep->bus.mipi_csi2.num_data_lanes;
++ dev->bus_flags = ep->bus.mipi_csi2.flags;
++ break;
++ case V4L2_MBUS_CCP2:
++ if (ep->bus.mipi_csi1.clock_lane != 0 ||
++ ep->bus.mipi_csi1.data_lane != 1) {
++ unicam_err(dev, "Subdevice %s incompatible lane config\n",
++ sensor_node->name);
++ goto cleanup_exit;
++ }
++ dev->max_data_lanes = 1;
++ dev->bus_flags = ep->bus.mipi_csi1.strobe;
++ break;
++ default:
++ /* Unsupported bus type */
++ unicam_err(dev, "sub-device %s is not a CSI2 or CCP2 device %d\n",
++ sensor_node->name, ep->bus_type);
++ goto cleanup_exit;
++ }
++
++ /* Store bus type - CSI2 or CCP2 */
++ dev->bus_type = ep->bus_type;
++ unicam_dbg(3, dev, "bus_type is %d\n", dev->bus_type);
++
++ /* Store Virtual Channel number */
++ dev->virtual_channel = ep->base.id;
++
++ unicam_dbg(3, dev, "v4l2-endpoint: %s\n",
++ dev->bus_type == V4L2_MBUS_CSI2_DPHY ? "CSI2" : "CCP2");
++ unicam_dbg(3, dev, "Virtual Channel=%d\n", dev->virtual_channel);
++ if (dev->bus_type == V4L2_MBUS_CSI2_DPHY)
++ unicam_dbg(3, dev, "flags=0x%08x\n", ep->bus.mipi_csi2.flags);
++ unicam_dbg(3, dev, "num_data_lanes=%d\n", dev->max_data_lanes);
++
++ unicam_dbg(1, dev, "found sub-device %s\n", sensor_node->name);
++
++ v4l2_async_notifier_init(&dev->notifier);
++
++ ret = v4l2_async_notifier_add_subdev(&dev->notifier, asd);
++ if (ret) {
++ unicam_err(dev, "Error adding subdevice - ret %d\n", ret);
++ goto cleanup_exit;
++ }
++
++ dev->notifier.ops = &unicam_async_ops;
++ ret = v4l2_async_notifier_register(&dev->v4l2_dev,
++ &dev->notifier);
++ if (ret) {
++ unicam_err(dev, "Error registering async notifier - ret %d\n",
++ ret);
++ ret = -EINVAL;
++ }
++
++cleanup_exit:
++ if (remote_ep)
++ of_node_put(remote_ep);
++ if (sensor_node)
++ of_node_put(sensor_node);
++ if (ep_node)
++ of_node_put(ep_node);
++
++ return ret;
++}
++
++static int unicam_probe(struct platform_device *pdev)
++{
++ struct unicam_cfg *unicam_cfg;
++ struct unicam_device *unicam;
++ struct v4l2_ctrl_handler *hdl;
++ struct resource *res;
++ int ret;
++
++ unicam = devm_kzalloc(&pdev->dev, sizeof(*unicam), GFP_KERNEL);
++ if (!unicam)
++ return -ENOMEM;
++
++ unicam->pdev = pdev;
++ unicam_cfg = &unicam->cfg;
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
++ unicam_cfg->base = devm_ioremap_resource(&pdev->dev, res);
++ if (IS_ERR(unicam_cfg->base)) {
++ unicam_err(unicam, "Failed to get main io block\n");
++ return PTR_ERR(unicam_cfg->base);
++ }
++
++ res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
++ unicam_cfg->clk_gate_base = devm_ioremap_resource(&pdev->dev, res);
++ if (IS_ERR(unicam_cfg->clk_gate_base)) {
++ unicam_err(unicam, "Failed to get 2nd io block\n");
++ return PTR_ERR(unicam_cfg->clk_gate_base);
++ }
++
++ unicam->clock = devm_clk_get(&pdev->dev, "lp");
++ if (IS_ERR(unicam->clock)) {
++ unicam_err(unicam, "Failed to get clock\n");
++ return PTR_ERR(unicam->clock);
++ }
++
++ ret = platform_get_irq(pdev, 0);
++ if (ret <= 0) {
++ dev_err(&pdev->dev, "No IRQ resource\n");
++ return -ENODEV;
++ }
++
++ ret = devm_request_irq(&pdev->dev, ret, unicam_isr, 0,
++ "unicam_capture0", unicam);
++ if (ret) {
++ dev_err(&pdev->dev, "Unable to request interrupt\n");
++ return -EINVAL;
++ }
++
++ ret = v4l2_device_register(&pdev->dev, &unicam->v4l2_dev);
++ if (ret) {
++ unicam_err(unicam,
++ "Unable to register v4l2 device.\n");
++ return ret;
++ }
++
++ /* Reserve space for the controls */
++ hdl = &unicam->ctrl_handler;
++ ret = v4l2_ctrl_handler_init(hdl, 16);
++ if (ret < 0)
++ goto probe_out_v4l2_unregister;
++ unicam->v4l2_dev.ctrl_handler = hdl;
++
++ /* set the driver data in platform device */
++ platform_set_drvdata(pdev, unicam);
++
++ ret = of_unicam_connect_subdevs(unicam);
++ if (ret) {
++ dev_err(&pdev->dev, "Failed to connect subdevs\n");
++ goto free_hdl;
++ }
++
++ /* Enable the block power domain */
++ pm_runtime_enable(&pdev->dev);
++
++ return 0;
++
++free_hdl:
++ v4l2_ctrl_handler_free(hdl);
++probe_out_v4l2_unregister:
++ v4l2_device_unregister(&unicam->v4l2_dev);
++ return ret;
++}
++
++static int unicam_remove(struct platform_device *pdev)
++{
++ struct unicam_device *unicam = platform_get_drvdata(pdev);
++
++ unicam_dbg(2, unicam, "%s\n", __func__);
++
++ pm_runtime_disable(&pdev->dev);
++
++ v4l2_async_notifier_unregister(&unicam->notifier);
++ v4l2_ctrl_handler_free(&unicam->ctrl_handler);
++ v4l2_device_unregister(&unicam->v4l2_dev);
++ video_unregister_device(&unicam->video_dev);
++ if (unicam->sensor_config)
++ v4l2_subdev_free_pad_config(unicam->sensor_config);
++
++ return 0;
++}
++
++static const struct of_device_id unicam_of_match[] = {
++ { .compatible = "brcm,bcm2835-unicam", },
++ { /* sentinel */ },
++};
++MODULE_DEVICE_TABLE(of, unicam_of_match);
++
++static struct platform_driver unicam_driver = {
++ .probe = unicam_probe,
++ .remove = unicam_remove,
++ .driver = {
++ .name = UNICAM_MODULE_NAME,
++ .of_match_table = of_match_ptr(unicam_of_match),
++ },
++};
++
++module_platform_driver(unicam_driver);
++
++MODULE_AUTHOR("Dave Stevenson <dave.stevenson@raspberrypi.org>");
++MODULE_DESCRIPTION("BCM2835 Unicam driver");
++MODULE_LICENSE("GPL");
++MODULE_VERSION(UNICAM_VERSION);
+diff --git a/drivers/media/platform/bcm2835/vc4-regs-unicam.h b/drivers/media/platform/bcm2835/vc4-regs-unicam.h
+new file mode 100644
+index 000000000000..e2cb39c7f2a5
+--- /dev/null
++++ b/drivers/media/platform/bcm2835/vc4-regs-unicam.h
+@@ -0,0 +1,266 @@
++/* SPDX-License-Identifier: GPL-2.0-only */
++
++/*
++ * Copyright (C) 2017 Raspberry Pi Trading.
++ * Dave Stevenson <dave.stevenson@raspberrypi.org>
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2 as
++ * published by the Free Software Foundation.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ * SOFTWARE.
++ */
++
++#ifndef VC4_REGS_UNICAM_H
++#define VC4_REGS_UNICAM_H
++
++/*
++ * The following values are taken from files found within the code drop
++ * made by Broadcom for the BCM21553 Graphics Driver, predominantly in
++ * brcm_usrlib/dag/vmcsx/vcinclude/hardware_vc4.h.
++ * They have been modified to be only the register offset.
++ */
++#define UNICAM_CTRL 0x000
++#define UNICAM_STA 0x004
++#define UNICAM_ANA 0x008
++#define UNICAM_PRI 0x00c
++#define UNICAM_CLK 0x010
++#define UNICAM_CLT 0x014
++#define UNICAM_DAT0 0x018
++#define UNICAM_DAT1 0x01c
++#define UNICAM_DAT2 0x020
++#define UNICAM_DAT3 0x024
++#define UNICAM_DLT 0x028
++#define UNICAM_CMP0 0x02c
++#define UNICAM_CMP1 0x030
++#define UNICAM_CAP0 0x034
++#define UNICAM_CAP1 0x038
++#define UNICAM_ICTL 0x100
++#define UNICAM_ISTA 0x104
++#define UNICAM_IDI0 0x108
++#define UNICAM_IPIPE 0x10c
++#define UNICAM_IBSA0 0x110
++#define UNICAM_IBEA0 0x114
++#define UNICAM_IBLS 0x118
++#define UNICAM_IBWP 0x11c
++#define UNICAM_IHWIN 0x120
++#define UNICAM_IHSTA 0x124
++#define UNICAM_IVWIN 0x128
++#define UNICAM_IVSTA 0x12c
++#define UNICAM_ICC 0x130
++#define UNICAM_ICS 0x134
++#define UNICAM_IDC 0x138
++#define UNICAM_IDPO 0x13c
++#define UNICAM_IDCA 0x140
++#define UNICAM_IDCD 0x144
++#define UNICAM_IDS 0x148
++#define UNICAM_DCS 0x200
++#define UNICAM_DBSA0 0x204
++#define UNICAM_DBEA0 0x208
++#define UNICAM_DBWP 0x20c
++#define UNICAM_DBCTL 0x300
++#define UNICAM_IBSA1 0x304
++#define UNICAM_IBEA1 0x308
++#define UNICAM_IDI1 0x30c
++#define UNICAM_DBSA1 0x310
++#define UNICAM_DBEA1 0x314
++#define UNICAM_MISC 0x400
++
++/*
++ * The following bitmasks are from the kernel released by Broadcom
++ * for Android - https://android.googlesource.com/kernel/bcm/
++ * The Rhea, Hawaii, and Java chips all contain the same VideoCore4
++ * Unicam block as BCM2835, as defined in eg
++ * arch/arm/mach-rhea/include/mach/rdb_A0/brcm_rdb_cam.h and similar.
++ * Values reworked to use the kernel BIT and GENMASK macros.
++ *
++ * Some of the bit mnenomics have been amended to match the datasheet.
++ */
++/* UNICAM_CTRL Register */
++#define UNICAM_CPE BIT(0)
++#define UNICAM_MEM BIT(1)
++#define UNICAM_CPR BIT(2)
++#define UNICAM_CPM_MASK GENMASK(3, 3)
++#define UNICAM_CPM_CSI2 0
++#define UNICAM_CPM_CCP2 1
++#define UNICAM_SOE BIT(4)
++#define UNICAM_DCM_MASK GENMASK(5, 5)
++#define UNICAM_DCM_STROBE 0
++#define UNICAM_DCM_DATA 1
++#define UNICAM_SLS BIT(6)
++#define UNICAM_PFT_MASK GENMASK(11, 8)
++#define UNICAM_OET_MASK GENMASK(20, 12)
++
++/* UNICAM_STA Register */
++#define UNICAM_SYN BIT(0)
++#define UNICAM_CS BIT(1)
++#define UNICAM_SBE BIT(2)
++#define UNICAM_PBE BIT(3)
++#define UNICAM_HOE BIT(4)
++#define UNICAM_PLE BIT(5)
++#define UNICAM_SSC BIT(6)
++#define UNICAM_CRCE BIT(7)
++#define UNICAM_OES BIT(8)
++#define UNICAM_IFO BIT(9)
++#define UNICAM_OFO BIT(10)
++#define UNICAM_BFO BIT(11)
++#define UNICAM_DL BIT(12)
++#define UNICAM_PS BIT(13)
++#define UNICAM_IS BIT(14)
++#define UNICAM_PI0 BIT(15)
++#define UNICAM_PI1 BIT(16)
++#define UNICAM_FSI_S BIT(17)
++#define UNICAM_FEI_S BIT(18)
++#define UNICAM_LCI_S BIT(19)
++#define UNICAM_BUF0_RDY BIT(20)
++#define UNICAM_BUF0_NO BIT(21)
++#define UNICAM_BUF1_RDY BIT(22)
++#define UNICAM_BUF1_NO BIT(23)
++#define UNICAM_DI BIT(24)
++
++#define UNICAM_STA_MASK_ALL \
++ (UNICAM_DL + \
++ UNICAM_SBE + \
++ UNICAM_PBE + \
++ UNICAM_HOE + \
++ UNICAM_PLE + \
++ UNICAM_SSC + \
++ UNICAM_CRCE + \
++ UNICAM_IFO + \
++ UNICAM_OFO + \
++ UNICAM_PS + \
++ UNICAM_PI0 + \
++ UNICAM_PI1)
++
++/* UNICAM_ANA Register */
++#define UNICAM_APD BIT(0)
++#define UNICAM_BPD BIT(1)
++#define UNICAM_AR BIT(2)
++#define UNICAM_DDL BIT(3)
++#define UNICAM_CTATADJ_MASK GENMASK(7, 4)
++#define UNICAM_PTATADJ_MASK GENMASK(11, 8)
++
++/* UNICAM_PRI Register */
++#define UNICAM_PE BIT(0)
++#define UNICAM_PT_MASK GENMASK(2, 1)
++#define UNICAM_NP_MASK GENMASK(7, 4)
++#define UNICAM_PP_MASK GENMASK(11, 8)
++#define UNICAM_BS_MASK GENMASK(15, 12)
++#define UNICAM_BL_MASK GENMASK(17, 16)
++
++/* UNICAM_CLK Register */
++#define UNICAM_CLE BIT(0)
++#define UNICAM_CLPD BIT(1)
++#define UNICAM_CLLPE BIT(2)
++#define UNICAM_CLHSE BIT(3)
++#define UNICAM_CLTRE BIT(4)
++#define UNICAM_CLAC_MASK GENMASK(8, 5)
++#define UNICAM_CLSTE BIT(29)
++
++/* UNICAM_CLT Register */
++#define UNICAM_CLT1_MASK GENMASK(7, 0)
++#define UNICAM_CLT2_MASK GENMASK(15, 8)
++
++/* UNICAM_DATn Registers */
++#define UNICAM_DLE BIT(0)
++#define UNICAM_DLPD BIT(1)
++#define UNICAM_DLLPE BIT(2)
++#define UNICAM_DLHSE BIT(3)
++#define UNICAM_DLTRE BIT(4)
++#define UNICAM_DLSM BIT(5)
++#define UNICAM_DLFO BIT(28)
++#define UNICAM_DLSTE BIT(29)
++
++#define UNICAM_DAT_MASK_ALL (UNICAM_DLSTE + UNICAM_DLFO)
++
++/* UNICAM_DLT Register */
++#define UNICAM_DLT1_MASK GENMASK(7, 0)
++#define UNICAM_DLT2_MASK GENMASK(15, 8)
++#define UNICAM_DLT3_MASK GENMASK(23, 16)
++
++/* UNICAM_ICTL Register */
++#define UNICAM_FSIE BIT(0)
++#define UNICAM_FEIE BIT(1)
++#define UNICAM_IBOB BIT(2)
++#define UNICAM_FCM BIT(3)
++#define UNICAM_TFC BIT(4)
++#define UNICAM_LIP_MASK GENMASK(6, 5)
++#define UNICAM_LCIE_MASK GENMASK(28, 16)
++
++/* UNICAM_IDI0/1 Register */
++#define UNICAM_ID0_MASK GENMASK(7, 0)
++#define UNICAM_ID1_MASK GENMASK(15, 8)
++#define UNICAM_ID2_MASK GENMASK(23, 16)
++#define UNICAM_ID3_MASK GENMASK(31, 24)
++
++/* UNICAM_ISTA Register */
++#define UNICAM_FSI BIT(0)
++#define UNICAM_FEI BIT(1)
++#define UNICAM_LCI BIT(2)
++
++#define UNICAM_ISTA_MASK_ALL (UNICAM_FSI + UNICAM_FEI + UNICAM_LCI)
++
++/* UNICAM_IPIPE Register */
++#define UNICAM_PUM_MASK GENMASK(2, 0)
++ /* Unpacking modes */
++ #define UNICAM_PUM_NONE 0
++ #define UNICAM_PUM_UNPACK6 1
++ #define UNICAM_PUM_UNPACK7 2
++ #define UNICAM_PUM_UNPACK8 3
++ #define UNICAM_PUM_UNPACK10 4
++ #define UNICAM_PUM_UNPACK12 5
++ #define UNICAM_PUM_UNPACK14 6
++ #define UNICAM_PUM_UNPACK16 7
++#define UNICAM_DDM_MASK GENMASK(6, 3)
++#define UNICAM_PPM_MASK GENMASK(9, 7)
++ /* Packing modes */
++ #define UNICAM_PPM_NONE 0
++ #define UNICAM_PPM_PACK8 1
++ #define UNICAM_PPM_PACK10 2
++ #define UNICAM_PPM_PACK12 3
++ #define UNICAM_PPM_PACK14 4
++ #define UNICAM_PPM_PACK16 5
++#define UNICAM_DEM_MASK GENMASK(11, 10)
++#define UNICAM_DEBL_MASK GENMASK(14, 12)
++#define UNICAM_ICM_MASK GENMASK(16, 15)
++#define UNICAM_IDM_MASK GENMASK(17, 17)
++
++/* UNICAM_ICC Register */
++#define UNICAM_ICFL_MASK GENMASK(4, 0)
++#define UNICAM_ICFH_MASK GENMASK(9, 5)
++#define UNICAM_ICST_MASK GENMASK(12, 10)
++#define UNICAM_ICLT_MASK GENMASK(15, 13)
++#define UNICAM_ICLL_MASK GENMASK(31, 16)
++
++/* UNICAM_DCS Register */
++#define UNICAM_DIE BIT(0)
++#define UNICAM_DIM BIT(1)
++#define UNICAM_DBOB BIT(3)
++#define UNICAM_FDE BIT(4)
++#define UNICAM_LDP BIT(5)
++#define UNICAM_EDL_MASK GENMASK(15, 8)
++
++/* UNICAM_DBCTL Register */
++#define UNICAM_DBEN BIT(0)
++#define UNICAM_BUF0_IE BIT(1)
++#define UNICAM_BUF1_IE BIT(2)
++
++/* UNICAM_CMP[0,1] register */
++#define UNICAM_PCE BIT(31)
++#define UNICAM_GI BIT(9)
++#define UNICAM_CPH BIT(8)
++#define UNICAM_PCVC_MASK GENMASK(7, 6)
++#define UNICAM_PCDT_MASK GENMASK(5, 0)
++
++/* UNICAM_MISC register */
++#define UNICAM_FL0 BIT(6)
++#define UNICAM_FL1 BIT(9)
++
++#endif
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0220-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0220-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch
new file mode 100644
index 00000000..21981109
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0220-MAINTAINERS-Add-entry-for-BCM2835-Unicam-driver.patch
@@ -0,0 +1,30 @@
+From e7c1f6808e09a85f50e28fe326b6703fabb050d8 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:59:40 +0000
+Subject: [PATCH 220/320] MAINTAINERS: Add entry for BCM2835 Unicam driver
+
+Adds entry for the new BCM2835 Unicam (CSI-2 receiver) driver
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ MAINTAINERS | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 2c2fce72e694..ec545d20cf1b 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -3055,6 +3055,13 @@ S: Maintained
+ N: bcm2835
+ F: drivers/staging/vc04_services
+
++BROADCOM BCM2835 CAMERA DRIVER
++M: Dave Stevenson <dave.stevenson@raspberrypi.org>
++L: linux-media@vger.kernel.org
++S: Maintained
++F: drivers/media/platform/bcm2835/
++F: Documentation/devicetree/bindings/media/bcm2835-unicam.txt
++
+ BROADCOM BCM47XX MIPS ARCHITECTURE
+ M: Hauke Mehrtens <hauke@hauke-m.de>
+ M: Rafał Miłecki <zajec5@gmail.com>
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0221-defconfig-Enable-Unicam-driver-and-various-sources-o.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0221-defconfig-Enable-Unicam-driver-and-various-sources-o.patch
new file mode 100644
index 00000000..c7cb30b2
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0221-defconfig-Enable-Unicam-driver-and-various-sources-o.patch
@@ -0,0 +1,88 @@
+From 7612cf0994e34ea1441650dc777a1eb48b4871c8 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 14:59:51 +0000
+Subject: [PATCH 221/320] defconfig: Enable Unicam driver and various sources
+ on Pi platforms.
+
+Enable:
+ VIDEO_V4L2_SUBDEV_API=y
+ VIDEO_BCM2835_UNICAM=m
+ VIDEO_TC358743=m
+ VIDEO_ADV7180=m
+ VIDEO_OV5647=m
+so that we can receive CSI data from these devices.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/configs/bcm2709_defconfig | 5 +++++
+ arch/arm/configs/bcmrpi_defconfig | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig
+index c50dffadd684..a736e23f4726 100644
+--- a/arch/arm/configs/bcm2709_defconfig
++++ b/arch/arm/configs/bcm2709_defconfig
+@@ -715,6 +715,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+ CONFIG_MEDIA_RADIO_SUPPORT=y
+ CONFIG_MEDIA_CONTROLLER=y
++CONFIG_VIDEO_V4L2_SUBDEV_API=y
+ CONFIG_MEDIA_USB_SUPPORT=y
+ CONFIG_USB_VIDEO_CLASS=m
+ CONFIG_USB_M5602=m
+@@ -832,6 +833,7 @@ CONFIG_VIDEO_EM28XX_V4L2=m
+ CONFIG_VIDEO_EM28XX_ALSA=m
+ CONFIG_VIDEO_EM28XX_DVB=m
+ CONFIG_V4L_PLATFORM_DRIVERS=y
++CONFIG_VIDEO_BCM2835_UNICAM=m
+ CONFIG_RADIO_SI470X=m
+ CONFIG_USB_SI470X=m
+ CONFIG_I2C_SI470X=m
+@@ -851,10 +853,13 @@ CONFIG_RADIO_WL128X=m
+ # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
+ CONFIG_VIDEO_UDA1342=m
+ CONFIG_VIDEO_SONY_BTF_MPX=m
++CONFIG_VIDEO_ADV7180=m
++CONFIG_VIDEO_TC358743=m
+ CONFIG_VIDEO_TVP5150=m
+ CONFIG_VIDEO_TW2804=m
+ CONFIG_VIDEO_TW9903=m
+ CONFIG_VIDEO_TW9906=m
++CONFIG_VIDEO_OV5647=m
+ CONFIG_VIDEO_OV7640=m
+ CONFIG_VIDEO_MT9V011=m
+ CONFIG_DRM=m
+diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig
+index e52a11132493..9f29ce332a7f 100644
+--- a/arch/arm/configs/bcmrpi_defconfig
++++ b/arch/arm/configs/bcmrpi_defconfig
+@@ -707,6 +707,7 @@ CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
+ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
+ CONFIG_MEDIA_RADIO_SUPPORT=y
+ CONFIG_MEDIA_CONTROLLER=y
++CONFIG_VIDEO_V4L2_SUBDEV_API=y
+ CONFIG_MEDIA_USB_SUPPORT=y
+ CONFIG_USB_VIDEO_CLASS=m
+ CONFIG_USB_M5602=m
+@@ -824,6 +825,7 @@ CONFIG_VIDEO_EM28XX_V4L2=m
+ CONFIG_VIDEO_EM28XX_ALSA=m
+ CONFIG_VIDEO_EM28XX_DVB=m
+ CONFIG_V4L_PLATFORM_DRIVERS=y
++CONFIG_VIDEO_BCM2835_UNICAM=m
+ CONFIG_RADIO_SI470X=m
+ CONFIG_USB_SI470X=m
+ CONFIG_I2C_SI470X=m
+@@ -843,10 +845,13 @@ CONFIG_RADIO_WL128X=m
+ # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set
+ CONFIG_VIDEO_UDA1342=m
+ CONFIG_VIDEO_SONY_BTF_MPX=m
++CONFIG_VIDEO_ADV7180=m
++CONFIG_VIDEO_TC358743=m
+ CONFIG_VIDEO_TVP5150=m
+ CONFIG_VIDEO_TW2804=m
+ CONFIG_VIDEO_TW9903=m
+ CONFIG_VIDEO_TW9906=m
++CONFIG_VIDEO_OV5647=m
+ CONFIG_VIDEO_OV7640=m
+ CONFIG_VIDEO_MT9V011=m
+ CONFIG_DRM=m
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0222-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0222-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch
new file mode 100644
index 00000000..66829675
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0222-BCM283x-DT-Add-CSI-nodes-to-the-device-tree.patch
@@ -0,0 +1,224 @@
+From 060052f486168c98735788a0bb42f08a8a10d8ec Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 15:00:20 +0000
+Subject: [PATCH 222/320] BCM283x DT: Add CSI nodes to the device tree.
+
+Adds CSI nodes to all the upstream device tree configs
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2835-rpi-a-plus.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi-a.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi-b-plus.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi-b.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi-zero.dts | 1 +
+ arch/arm/boot/dts/bcm2835-rpi.dtsi | 8 ++++++
+ arch/arm/boot/dts/bcm2836-rpi-2-b.dts | 1 +
+ arch/arm/boot/dts/bcm2837-rpi-3-b.dts | 1 +
+ arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi | 8 ++++++
+ arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi | 8 ++++++
+ arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi | 8 ++++++
+ arch/arm/boot/dts/bcm283x.dtsi | 26 +++++++++++++++++++
+ .../dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi | 1 +
+ 14 files changed, 67 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+index db8a6017f220..31ce7f87f004 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
+@@ -3,6 +3,7 @@
+ #include "bcm2835.dtsi"
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-a-plus", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-a.dts b/arch/arm/boot/dts/bcm2835-rpi-a.dts
+index 067d1f07a2d3..1f2b9a1bf44a 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-a.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-a.dts
+@@ -3,6 +3,7 @@
+ #include "bcm2835.dtsi"
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-a", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+index 1e40d672b055..7cbf0db6735b 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
+@@ -4,6 +4,7 @@
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-b-plus", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+index 28e7513ce617..a94a5b878886 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
+@@ -4,6 +4,7 @@
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9512.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-b-rev2", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-b.dts b/arch/arm/boot/dts/bcm2835-rpi-b.dts
+index 31ff602e2cd3..a49bf6c96c06 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-b.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-b.dts
+@@ -4,6 +4,7 @@
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9512.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-b", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi-zero.dts b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
+index 3b35a8a4a55f..014416ad265f 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi-zero.dts
++++ b/arch/arm/boot/dts/bcm2835-rpi-zero.dts
+@@ -7,6 +7,7 @@
+ #include "bcm2835.dtsi"
+ #include "bcm2835-rpi.dtsi"
+ #include "bcm283x-rpi-usb-otg.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-zero", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2835-rpi.dtsi b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+index 715d50c64529..cb9bc40a7432 100644
+--- a/arch/arm/boot/dts/bcm2835-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2835-rpi.dtsi
+@@ -102,3 +102,11 @@
+ &dsi1 {
+ power-domains = <&power RPI_POWER_DOMAIN_DSI1>;
+ };
++
++&csi0 {
++ power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
++};
++
++&csi1 {
++ power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
++};
+diff --git a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+index 7b4e651bafdd..fcd575fa54d7 100644
+--- a/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
++++ b/arch/arm/boot/dts/bcm2836-rpi-2-b.dts
+@@ -4,6 +4,7 @@
+ #include "bcm2836-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
+diff --git a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+index ce71f578c51a..fbe91c4f597a 100644
+--- a/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2837-rpi-3-b.dts
+@@ -4,6 +4,7 @@
+ #include "bcm2836-rpi.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
+ #include "bcm283x-rpi-usb-host.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi
+new file mode 100644
+index 000000000000..952a28eaf616
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm283x-rpi-csi0-2lane.dtsi
+@@ -0,0 +1,8 @@
++// SPDX-License-Identifier: GPL-2.0-only
++&csi0 {
++ port {
++ endpoint {
++ data-lanes = <1 2>;
++ };
++ };
++};
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi
+new file mode 100644
+index 000000000000..451fb4bb4ab8
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi
+@@ -0,0 +1,8 @@
++// SPDX-License-Identifier: GPL-2.0-only
++&csi1 {
++ port {
++ endpoint {
++ data-lanes = <1 2>;
++ };
++ };
++};
+diff --git a/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi b/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi
+new file mode 100644
+index 000000000000..9279d4b0bfae
+--- /dev/null
++++ b/arch/arm/boot/dts/bcm283x-rpi-csi1-4lane.dtsi
+@@ -0,0 +1,8 @@
++// SPDX-License-Identifier: GPL-2.0-only
++&csi1 {
++ port {
++ endpoint {
++ data-lanes = <1 2 3 4>;
++ };
++ };
++};
+diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
+index 905f0a174208..fb6e4aaf0d98 100644
+--- a/arch/arm/boot/dts/bcm283x.dtsi
++++ b/arch/arm/boot/dts/bcm283x.dtsi
+@@ -575,6 +575,32 @@
+ status = "disabled";
+ };
+
++ csi0: csi@7e800000 {
++ compatible = "brcm,bcm2835-unicam";
++ reg = <0x7e800000 0x800>,
++ <0x7e802000 0x4>;
++ interrupts = <2 6>;
++ clocks = <&clocks BCM2835_CLOCK_CAM0>;
++ clock-names = "lp";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ #clock-cells = <1>;
++ status = "disabled";
++ };
++
++ csi1: csi@7e801000 {
++ compatible = "brcm,bcm2835-unicam";
++ reg = <0x7e801000 0x800>,
++ <0x7e802004 0x4>;
++ interrupts = <2 7>;
++ clocks = <&clocks BCM2835_CLOCK_CAM1>;
++ clock-names = "lp";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ #clock-cells = <1>;
++ status = "disabled";
++ };
++
+ i2c1: i2c@7e804000 {
+ compatible = "brcm,bcm2835-i2c";
+ reg = <0x7e804000 0x1000>;
+diff --git a/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi
+new file mode 120000
+index 000000000000..e5c400284467
+--- /dev/null
++++ b/arch/arm64/boot/dts/broadcom/bcm283x-rpi-csi1-2lane.dtsi
+@@ -0,0 +1 @@
++../../../../arm/boot/dts/bcm283x-rpi-csi1-2lane.dtsi
+\ No newline at end of file
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0223-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0223-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch
new file mode 100644
index 00000000..c241cbf5
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0223-BCM270X_DT-Add-CSI-defines-for-all-the-downstream-Pi.patch
@@ -0,0 +1,135 @@
+From fbdc0808e3c101bdc52458f8ed977a8a3c590265 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 15:00:45 +0000
+Subject: [PATCH 223/320] BCM270X_DT: Add CSI defines for all the downstream Pi
+ platforms
+
+Adds the CSI device includes for the bcm27xx platform DTS files
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/bcm2708-rpi-0-w.dts | 1 +
+ arch/arm/boot/dts/bcm2708-rpi-b-plus.dts | 1 +
+ arch/arm/boot/dts/bcm2708-rpi-b.dts | 1 +
+ arch/arm/boot/dts/bcm2708-rpi-cm.dts | 2 ++
+ arch/arm/boot/dts/bcm2708-rpi.dtsi | 8 ++++++++
+ arch/arm/boot/dts/bcm2709-rpi-2-b.dts | 1 +
+ arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts | 1 +
+ arch/arm/boot/dts/bcm2710-rpi-3-b.dts | 1 +
+ arch/arm/boot/dts/bcm2710-rpi-cm3.dts | 2 ++
+ 9 files changed, 18 insertions(+)
+
+diff --git a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
+index 0fa5502d7d36..aa33646fcf53 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
++++ b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
+@@ -1,6 +1,7 @@
+ /dts-v1/;
+
+ #include "bcm2708.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,model-zero-w", "brcm,bcm2835";
+diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+index 31db4fd917a4..ef0beea3a3a3 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts
+@@ -2,6 +2,7 @@
+
+ #include "bcm2708.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ model = "Raspberry Pi Model B+";
+diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts
+index ffe5d14feb9f..dea70fae90e6 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi-b.dts
++++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts
+@@ -2,6 +2,7 @@
+
+ #include "bcm2708.dtsi"
+ #include "bcm283x-rpi-smsc9512.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ model = "Raspberry Pi Model B";
+diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
+index 0b0d23256edd..1a3975b35630 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi-cm.dts
++++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts
+@@ -1,6 +1,8 @@
+ /dts-v1/;
+
+ #include "bcm2708-rpi-cm.dtsi"
++#include "bcm283x-rpi-csi0-2lane.dtsi"
++#include "bcm283x-rpi-csi1-4lane.dtsi"
+
+ / {
+ model = "Raspberry Pi Compute Module";
+diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi
+index 379544f0496f..4299de6cbfa2 100644
+--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi
++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi
+@@ -163,3 +163,11 @@ sdhost_pins: &sdhost_gpio48 {
+ &vec {
+ status = "disabled";
+ };
++
++&csi0 {
++ power-domains = <&power RPI_POWER_DOMAIN_UNICAM0>;
++};
++
++&csi1 {
++ power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
++};
+diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+index 442d2ebbdd36..34659505055a 100644
+--- a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
++++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts
+@@ -2,6 +2,7 @@
+
+ #include "bcm2709.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,2-model-b", "brcm,bcm2836";
+diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+index 7ef6a8f8e9f2..b5f125296e1e 100644
+--- a/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b-plus.dts
+@@ -2,6 +2,7 @@
+
+ #include "bcm2710.dtsi"
+ #include "bcm283x-rpi-lan7515.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,3-model-b-plus", "brcm,bcm2837";
+diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+index ed00143b884a..d9d9505c6693 100644
+--- a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts
+@@ -2,6 +2,7 @@
+
+ #include "bcm2710.dtsi"
+ #include "bcm283x-rpi-smsc9514.dtsi"
++#include "bcm283x-rpi-csi1-2lane.dtsi"
+
+ / {
+ compatible = "raspberrypi,3-model-b", "brcm,bcm2837";
+diff --git a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
+index 1ac84aadcdcf..9490177443a5 100644
+--- a/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
++++ b/arch/arm/boot/dts/bcm2710-rpi-cm3.dts
+@@ -1,6 +1,8 @@
+ /dts-v1/;
+
+ #include "bcm2710.dtsi"
++#include "bcm283x-rpi-csi0-2lane.dtsi"
++#include "bcm283x-rpi-csi1-4lane.dtsi"
+
+ / {
+ model = "Raspberry Pi Compute Module 3";
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0224-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0224-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch
new file mode 100644
index 00000000..35544eb7
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0224-arm-dt-Add-DT-overlays-for-ADV7282M-OV5647-and-TC358.patch
@@ -0,0 +1,493 @@
+From c33755bb42ca8051a121ec266b968992b17dfe52 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 15:01:59 +0000
+Subject: [PATCH 224/320] arm: dt: Add DT overlays for ADV7282M, OV5647, and
+ TC358743
+
+DT overlays to setup the above devices via i2c_arm and csi1.
+(This currently does not use the i2c-mux-pinctrl driver to
+dynamically switch the pinctrl)
+
+tc358743 is tc358743 running at a default link frequency
+of 972Mbit/s. This allows up to 1080P50 UYVY on 2 lanes.
+There is a parameter to allow changing the link frequency,
+but the only values supported by the driver are 297000000
+for 594Mbit/s, and 486000000 for 972Mbit/s.
+There is also a parameter to enable 4 lane mode (only
+relevant to Compute Module (1 or 3) csi1).
+
+tc358743-audio overlay enables I2S audio from the TC358743
+to the Pi (SD to GPIO20, SCK to GPIO18, WFS to GPIO19).
+
+ADV7282M is the Analog Devices analogue video to CSI bridge
+chip.
+
+OV5647 is the Pi V1.3 camera module. Currently the driver only
+supports VGA 8bit Bayer and very few controls.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile | 4 +
+ arch/arm/boot/dts/overlays/README | 51 ++++++++
+ .../boot/dts/overlays/adv7282m-overlay.dts | 76 ++++++++++++
+ arch/arm/boot/dts/overlays/ov5647-overlay.dts | 87 ++++++++++++++
+ .../dts/overlays/tc358743-audio-overlay.dts | 52 ++++++++
+ .../boot/dts/overlays/tc358743-overlay.dts | 112 ++++++++++++++++++
+ 6 files changed, 382 insertions(+)
+
+diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
+index b75e4333aec6..543a680cfd42 100644
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -6,6 +6,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ ads1015.dtbo \
+ ads1115.dtbo \
+ ads7846.dtbo \
++ adv7282m.dtbo \
+ akkordion-iqdacplus.dtbo \
+ allo-boss-dac-pcm512x-audio.dtbo \
+ allo-digione.dtbo \
+@@ -88,6 +89,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ mmc.dtbo \
+ mpu6050.dtbo \
+ mz61581.dtbo \
++ ov5647.dtbo \
+ papirus.dtbo \
+ pi3-act-led.dtbo \
+ pi3-disable-bt.dtbo \
+@@ -141,6 +143,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ ssd1306.dtbo \
+ superaudioboard.dtbo \
+ sx150x.dtbo \
++ tc358743.dtbo \
++ tc358743-audio.dtbo \
+ tinylcd35.dtbo \
+ tpm-slb9670.dtbo \
+ uart0.dtbo \
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index 468d6cf604b5..c639cf57fa65 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -287,6 +287,15 @@ Params: cs SPI bus Chip Select (default 1)
+ www.kernel.org/doc/Documentation/devicetree/bindings/input/ads7846.txt
+
+
++Name: adv7282m
++Info: Analog Devices ADV7282M analogue video to CSI2 bridge.
++ Uses Unicam1, which is the standard camera connector on most Pi
++ variants.
++Load: dtoverlay=adv7282m,<param>=<val>
++Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++ This is required for Pi B+, 2, 0, and 0W.
++
++
+ Name: akkordion-iqdacplus
+ Info: Configures the Digital Dreamtime Akkordion Music Player (based on the
+ OEM IQAudIO DAC+ or DAC Zero module).
+@@ -1422,6 +1431,23 @@ Params: speed Display SPI bus speed
+ xohms Touchpanel sensitivity (X-plate resistance)
+
+
++Name: ov5647
++Info: Omnivision OV5647 camera module.
++ Uses Unicam 1, which is the standard camera connector on most Pi
++ variants.
++Load: dtoverlay=ov5647,<param>=<val>
++Params: cam0-pwdn GPIO used to control the sensor powerdown line.
++
++ cam0-led GPIO used to control the sensor led
++ Both these fields should be automatically filled
++ in by the firmware to reflect the default GPIO
++ configuration of the particular Pi variant in
++ use.
++
++ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++ This is required for Pi B+, 2, 0, and 0W.
++
++
+ Name: papirus
+ Info: PaPiRus ePaper Screen by Pi Supply (both HAT and pHAT)
+ Load: dtoverlay=papirus,<param>=<val>
+@@ -2075,6 +2101,31 @@ Params: sx150<x>-<n>-<m> Enables SX150X device on I2C#<n> with slave
+ connected.
+
+
++Name: tc358743
++Info: Toshiba TC358743 HDMI to CSI-2 bridge chip.
++ Uses Unicam 1, which is the standard camera connector on most Pi
++ variants.
++Load: dtoverlay=tc358743,<param>=<val>
++Params: 4lane Use 4 lanes (only applicable to Compute Modules
++ CAM1 connector).
++
++ link-frequency Set the link frequency. Only values of 297000000
++ (574Mbit/s) and 486000000 (972Mbit/s - default)
++ are supported by the driver.
++
++ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++ This is required for Pi B+, 2, 0, and 0W.
++
++
++Name: tc358743-audio
++Info: Used in combination with the tc358743-fast overlay to route the audio
++ from the TC358743 over I2S to the Pi.
++ Wiring is LRCK/WFS to GPIO 19, BCK/SCK to GPIO 18, and DATA/SD to GPIO
++ 20.
++Load: dtoverlay=tc358743-audio,<param>=<val>
++Params: card-name Override the default, "tc358743", card name.
++
++
+ Name: tinylcd35
+ Info: 3.5" Color TFT Display by www.tinylcd.com
+ Options: Touch, RTC, keypad
+diff --git a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+new file mode 100644
+index 000000000000..4530989a8e92
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+@@ -0,0 +1,76 @@
++// SPDX-License-Identifier: GPL-2.0-only
++// Definitions for Analog Devices ADV7282-M video to CSI2 bridge on VC I2C bus
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ adv7282: adv7282@21 {
++ compatible = "adi,adv7282-m";
++ reg = <0x21>;
++ status = "okay";
++ clock-frequency = <24000000>;
++ port {
++ adv7282_0: endpoint {
++ remote-endpoint = <&csi1_ep>;
++ clock-lanes = <0>;
++ data-lanes = <1>;
++ link-frequencies =
++ /bits/ 64 <297000000>;
++
++ mclk-frequency = <12000000>;
++ };
++ };
++ };
++ };
++ };
++ fragment@1 {
++ target = <&csi1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ port {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ csi1_ep: endpoint {
++ remote-endpoint = <&adv7282_0>;
++ };
++ };
++ };
++ };
++ fragment@2 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <28 29>;
++ brcm,function = <4>; /* alt0 */
++ };
++
++ };
++ fragment@3 {
++ target = <&i2c0_pins>;
++ __overlay__ {
++ brcm,pins = <44 45>;
++ brcm,function = <5>; /* alt1 */
++ };
++ };
++ fragment@4 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ i2c_pins_28_29 = <0>,"+2-3";
++ };
++};
+diff --git a/arch/arm/boot/dts/overlays/ov5647-overlay.dts b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+new file mode 100644
+index 000000000000..ac34c94fa433
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+@@ -0,0 +1,87 @@
++// SPDX-License-Identifier: GPL-2.0-only
++// Definitions for OV5647 camera module on VC I2C bus
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ ov5647: ov5647@36 {
++ compatible = "ov5647";
++ reg = <0x36>;
++ status = "okay";
++
++ pwdn-gpios = <&gpio 41 1>, <&gpio 32 1>;
++ clocks = <&ov5647_clk>;
++
++ ov5647_clk: camera-clk {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <25000000>;
++ };
++
++ port {
++ ov5647_0: endpoint {
++ remote-endpoint = <&csi1_ep>;
++ clock-lanes = <0>;
++ data-lanes = <1 2>;
++ clock-noncontinuous;
++ link-frequencies =
++ /bits/ 64 <297000000>;
++ };
++ };
++ };
++ };
++ };
++
++ fragment@1 {
++ target = <&csi1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ port {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ csi1_ep: endpoint {
++ remote-endpoint = <&ov5647_0>;
++ };
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <28 29>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++ fragment@3 {
++ target = <&i2c0_pins>;
++ __overlay__ {
++ brcm,pins = <44 45>;
++ brcm,function = <5>; /* alt1 */
++ };
++ };
++ fragment@4 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ i2c_pins_28_29 = <0>,"+4-5";
++ cam0-pwdn = <&ov5647>,"pwdn-gpios:4";
++ cam0-led = <&ov5647>,"pwdn-gpios:16";
++ };
++};
+diff --git a/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts
+new file mode 100644
+index 000000000000..f4e0eeeea4b6
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/tc358743-audio-overlay.dts
+@@ -0,0 +1,52 @@
++// SPDX-License-Identifier: GPL-2.0-only
++// Definitions to add I2S audio from the Toshiba TC358743 HDMI to CSI2 bridge.
++// Requires tc358743 overlay to have been loaded to actually function.
++/dts-v1/;
++/plugin/;
++
++/ {
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2s>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ fragment@1 {
++ target-path = "/";
++ __overlay__ {
++ tc358743_codec: tc358743-codec {
++ #sound-dai-cells = <0>;
++ compatible = "linux,spdif-dir";
++ status = "okay";
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&sound>;
++ sound_overlay: __overlay__ {
++ compatible = "simple-audio-card";
++ simple-audio-card,format = "i2s";
++ simple-audio-card,name = "tc358743";
++ simple-audio-card,bitclock-master = <&dailink0_slave>;
++ simple-audio-card,frame-master = <&dailink0_slave>;
++ status = "okay";
++
++ simple-audio-card,cpu {
++ sound-dai = <&i2s>;
++ dai-tdm-slot-num = <2>;
++ dai-tdm-slot-width = <32>;
++ };
++ dailink0_slave: simple-audio-card,codec {
++ sound-dai = <&tc358743_codec>;
++ };
++ };
++ };
++
++ __overrides__ {
++ card-name = <&sound_overlay>,"simple-audio-card,name";
++ };
++};
+diff --git a/arch/arm/boot/dts/overlays/tc358743-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+new file mode 100644
+index 000000000000..95fec9ea2c79
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+@@ -0,0 +1,112 @@
++// SPDX-License-Identifier: GPL-2.0-only
++// Definitions for Toshiba TC358743 HDMI to CSI2 bridge on VC I2C bus
++/dts-v1/;
++/plugin/;
++
++/{
++ compatible = "brcm,bcm2708";
++
++ fragment@0 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ tc358743@0f {
++ compatible = "toshiba,tc358743";
++ reg = <0x0f>;
++ status = "okay";
++
++ clocks = <&tc358743_clk>;
++ clock-names = "refclk";
++
++ tc358743_clk: bridge-clk {
++ compatible = "fixed-clock";
++ #clock-cells = <0>;
++ clock-frequency = <27000000>;
++ };
++
++ port {
++ tc358743: endpoint {
++ remote-endpoint = <&csi1_ep>;
++ clock-lanes = <0>;
++ clock-noncontinuous;
++ link-frequencies =
++ /bits/ 64 <486000000>;
++ };
++ };
++ };
++ };
++ };
++
++ fragment@1 {
++ target = <&csi1>;
++ __overlay__ {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ port {
++ #address-cells = <1>;
++ #size-cells = <0>;
++ csi1_ep: endpoint {
++ remote-endpoint = <&tc358743>;
++ };
++ };
++ };
++ };
++
++ fragment@2 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ tc358743@0f {
++ port {
++ endpoint {
++ data-lanes = <1 2>;
++ };
++ };
++ };
++ };
++ };
++
++ fragment@3 {
++ target = <&i2c_vc>;
++ __dormant__ {
++ tc358743@0f {
++ port {
++ endpoint {
++ data-lanes = <1 2 3 4>;
++ };
++ };
++ };
++ };
++ };
++
++ fragment@4 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <28 29>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++ fragment@5 {
++ target = <&i2c0_pins>;
++ __overlay__ {
++ brcm,pins = <44 45>;
++ brcm,function = <5>; /* alt1 */
++ };
++ };
++ fragment@6 {
++ target = <&i2c_vc>;
++ __overlay__ {
++ status = "okay";
++ };
++ };
++
++ __overrides__ {
++ i2c_pins_28_29 = <0>,"+4-5";
++ 4lane = <0>, "-2+3";
++ link-frequency = <&tc358743>,"link-frequencies#0";
++ };
++};
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0225-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0225-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch
new file mode 100644
index 00000000..de905f62
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0225-dtoverlays-Add-support-for-ADV7280-M-ADV7281-M-and-A.patch
@@ -0,0 +1,143 @@
+From 3e0fa8805235515d550d7439ad46efb332ef9449 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 31 Oct 2018 15:02:18 +0000
+Subject: [PATCH 225/320] dtoverlays: Add support for ADV7280-M, ADV7281-M and
+ ADV7281-MA chips.
+
+The driver that supports the ADV7282-M also supports the ADV7280-M,
+ADV7281-M, and ADV7281-MA.
+The 7280-M exposes 8 analogue inputs. The 7281-M doesn't have the
+I2P deinterlacing block. The 7281-MA has 8 inputs but no I2P.
+Otherwise they are the same as ADV7282-M.
+
+Adds a new overlay "adv728x" that includes the existing adv7282
+overlay but adds several parameters to modify the behaviour.
+
+Adds a new addr parameter to allow the I2C address to be changed.
+(the chip has an address select pin to change between 0x20 and 0x21).
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/Makefile | 1 +
+ arch/arm/boot/dts/overlays/README | 13 +++++++
+ .../boot/dts/overlays/adv7282m-overlay.dts | 9 +++--
+ .../boot/dts/overlays/adv728x-m-overlay.dts | 37 +++++++++++++++++++
+ 4 files changed, 56 insertions(+), 4 deletions(-)
+
+diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
+index 543a680cfd42..cc70cf5c8579 100644
+--- a/arch/arm/boot/dts/overlays/Makefile
++++ b/arch/arm/boot/dts/overlays/Makefile
+@@ -7,6 +7,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
+ ads1115.dtbo \
+ ads7846.dtbo \
+ adv7282m.dtbo \
++ adv728x-m.dtbo \
+ akkordion-iqdacplus.dtbo \
+ allo-boss-dac-pcm512x-audio.dtbo \
+ allo-digione.dtbo \
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index c639cf57fa65..5f233937468c 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -294,6 +294,19 @@ Info: Analog Devices ADV7282M analogue video to CSI2 bridge.
+ Load: dtoverlay=adv7282m,<param>=<val>
+ Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
++ addr Overrides the I2C address (default 0x21)
++
++
++Name: adv728x-m
++Info: Analog Devices ADV728[0|1|2]-M analogue video to CSI2 bridges.
++ This is a wrapper for adv7282m, and defaults to ADV7282M.
++Load: dtoverlay=adv728x-m,<param>=<val>
++Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++ This is required for Pi B+, 2, 0, and 0W.
++ addr Overrides the I2C address (default 0x21)
++ adv7280m Select ADV7280-M.
++ adv7281m Select ADV7281-M.
++ adv7281ma Select ADV7281-MA.
+
+
+ Name: akkordion-iqdacplus
+diff --git a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+index 4530989a8e92..112117122134 100644
+--- a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+@@ -13,13 +13,13 @@
+ #size-cells = <0>;
+ status = "okay";
+
+- adv7282: adv7282@21 {
++ adv728x: adv728x@21 {
+ compatible = "adi,adv7282-m";
+ reg = <0x21>;
+ status = "okay";
+ clock-frequency = <24000000>;
+ port {
+- adv7282_0: endpoint {
++ adv728x_0: endpoint {
+ remote-endpoint = <&csi1_ep>;
+ clock-lanes = <0>;
+ data-lanes = <1>;
+@@ -43,7 +43,7 @@
+ #address-cells = <1>;
+ #size-cells = <0>;
+ csi1_ep: endpoint {
+- remote-endpoint = <&adv7282_0>;
++ remote-endpoint = <&adv728x_0>;
+ };
+ };
+ };
+@@ -71,6 +71,7 @@
+ };
+
+ __overrides__ {
+- i2c_pins_28_29 = <0>,"+2-3";
++ i2c_pins_28_29 = <0>,"+2-3";
++ addr = <&adv728x>,"reg:0";
+ };
+ };
+diff --git a/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts b/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts
+new file mode 100644
+index 000000000000..f8882669ebc6
+--- /dev/null
++++ b/arch/arm/boot/dts/overlays/adv728x-m-overlay.dts
+@@ -0,0 +1,37 @@
++// SPDX-License-Identifier: GPL-2.0-only
++// Definitions for Analog Devices ADV728[0|1|2]-M video to CSI2 bridges on VC
++// I2C bus
++
++#include "adv7282m-overlay.dts"
++
++/{
++ compatible = "brcm,bcm2708";
++
++ // Fragment numbers deliberately high to avoid conflicts with the
++ // included adv7282m overlay file.
++
++ fragment@101 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7280-m";
++ };
++ };
++ fragment@102 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7281-m";
++ };
++ };
++ fragment@103 {
++ target = <&adv728x>;
++ __dormant__ {
++ compatible = "adi,adv7281-ma";
++ };
++ };
++
++ __overrides__ {
++ adv7280m = <0>, "+101";
++ adv7281m = <0>, "+102";
++ adv7281ma = <0>, "+103";
++ };
++};
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0226-overlays-Remove-superfluous-address-size-cells.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0226-overlays-Remove-superfluous-address-size-cells.patch
new file mode 100644
index 00000000..636fff7c
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0226-overlays-Remove-superfluous-address-size-cells.patch
@@ -0,0 +1,69 @@
+From db018d305b9cdd1f8f05878bb0368700784e26b0 Mon Sep 17 00:00:00 2001
+From: Phil Elwell <phil@raspberrypi.org>
+Date: Wed, 14 Nov 2018 09:53:25 +0000
+Subject: [PATCH 226/320] overlays: Remove superfluous #address/size-cells
+
+Newer versions of dtc warn about unnecessary usage of #address-cells
+and #size-cells, so remove them.
+
+Signed-off-by: Phil Elwell <phil@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/adv7282m-overlay.dts | 4 ----
+ arch/arm/boot/dts/overlays/ov5647-overlay.dts | 4 ----
+ arch/arm/boot/dts/overlays/tc358743-overlay.dts | 4 ----
+ 3 files changed, 12 deletions(-)
+
+diff --git a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+index 112117122134..76a1d3c3a1da 100644
+--- a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+@@ -35,13 +35,9 @@
+ fragment@1 {
+ target = <&csi1>;
+ __overlay__ {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ status = "okay";
+
+ port {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ csi1_ep: endpoint {
+ remote-endpoint = <&adv728x_0>;
+ };
+diff --git a/arch/arm/boot/dts/overlays/ov5647-overlay.dts b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+index ac34c94fa433..09867134e5e5 100644
+--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
++++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+@@ -44,13 +44,9 @@
+ fragment@1 {
+ target = <&csi1>;
+ __overlay__ {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ status = "okay";
+
+ port {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ csi1_ep: endpoint {
+ remote-endpoint = <&ov5647_0>;
+ };
+diff --git a/arch/arm/boot/dts/overlays/tc358743-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+index 95fec9ea2c79..69fdbf4897f6 100644
+--- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts
++++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+@@ -43,13 +43,9 @@
+ fragment@1 {
+ target = <&csi1>;
+ __overlay__ {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ status = "okay";
+
+ port {
+- #address-cells = <1>;
+- #size-cells = <0>;
+ csi1_ep: endpoint {
+ remote-endpoint = <&tc358743>;
+ };
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0227-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0227-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch
new file mode 100644
index 00000000..9902c4c6
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0227-dtoverlays-Add-i2c-on-0-1-option-to-TC358743-ADV7282.patch
@@ -0,0 +1,150 @@
+From 1c09fe2febe605e2df692852cd17766f87dfc142 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Mon, 26 Nov 2018 17:02:15 +0000
+Subject: [PATCH 227/320] dtoverlays: Add i2c on 0&1 option to TC358743,
+ ADV7282 and OV5647
+
+Adds the option of configuring i2c0 to be on GPIOs 0&1 as
+this is of use on the Compute Module.
+
+Also fixes the ov5647 overlay where the override enabled the wrong
+fragments.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ arch/arm/boot/dts/overlays/README | 14 ++++++++++++--
+ arch/arm/boot/dts/overlays/adv7282m-overlay.dts | 10 +++++++++-
+ arch/arm/boot/dts/overlays/ov5647-overlay.dts | 10 +++++++++-
+ arch/arm/boot/dts/overlays/tc358743-overlay.dts | 10 +++++++++-
+ 4 files changed, 39 insertions(+), 5 deletions(-)
+
+diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
+index 5f233937468c..f25faff0e85a 100644
+--- a/arch/arm/boot/dts/overlays/README
++++ b/arch/arm/boot/dts/overlays/README
+@@ -292,7 +292,9 @@ Info: Analog Devices ADV7282M analogue video to CSI2 bridge.
+ Uses Unicam1, which is the standard camera connector on most Pi
+ variants.
+ Load: dtoverlay=adv7282m,<param>=<val>
+-Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++Params: i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
++ Useful on Compute Modules.
++ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
+ addr Overrides the I2C address (default 0x21)
+
+@@ -301,7 +303,9 @@ Name: adv728x-m
+ Info: Analog Devices ADV728[0|1|2]-M analogue video to CSI2 bridges.
+ This is a wrapper for adv7282m, and defaults to ADV7282M.
+ Load: dtoverlay=adv728x-m,<param>=<val>
+-Params: i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
++Params: i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
++ Useful on Compute Modules.
++ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
+ addr Overrides the I2C address (default 0x21)
+ adv7280m Select ADV7280-M.
+@@ -1457,6 +1461,9 @@ Params: cam0-pwdn GPIO used to control the sensor powerdown line.
+ configuration of the particular Pi variant in
+ use.
+
++ i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
++ Useful on Compute Modules.
++
+ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
+
+@@ -2126,6 +2133,9 @@ Params: 4lane Use 4 lanes (only applicable to Compute Modules
+ (574Mbit/s) and 486000000 (972Mbit/s - default)
+ are supported by the driver.
+
++ i2c_pins_0_1 Use pins 0&1 for the I2C instead of 44&45.
++ Useful on Compute Modules.
++
+ i2c_pins_28_29 Use pins 28&29 for the I2C instead of 44&45.
+ This is required for Pi B+, 2, 0, and 0W.
+
+diff --git a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+index 76a1d3c3a1da..c30b6e69f342 100644
+--- a/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
++++ b/arch/arm/boot/dts/overlays/adv7282m-overlay.dts
+@@ -60,6 +60,13 @@
+ };
+ };
+ fragment@4 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <0 1>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++ fragment@5 {
+ target = <&i2c_vc>;
+ __overlay__ {
+ status = "okay";
+@@ -67,7 +74,8 @@
+ };
+
+ __overrides__ {
+- i2c_pins_28_29 = <0>,"+2-3";
++ i2c_pins_0_1 = <0>,"-2-3+4";
++ i2c_pins_28_29 = <0>,"+2-3-4";
+ addr = <&adv728x>,"reg:0";
+ };
+ };
+diff --git a/arch/arm/boot/dts/overlays/ov5647-overlay.dts b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+index 09867134e5e5..88fde695ade4 100644
+--- a/arch/arm/boot/dts/overlays/ov5647-overlay.dts
++++ b/arch/arm/boot/dts/overlays/ov5647-overlay.dts
+@@ -69,6 +69,13 @@
+ };
+ };
+ fragment@4 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <0 1>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++ fragment@5 {
+ target = <&i2c_vc>;
+ __overlay__ {
+ status = "okay";
+@@ -76,7 +83,8 @@
+ };
+
+ __overrides__ {
+- i2c_pins_28_29 = <0>,"+4-5";
++ i2c_pins_0_1 = <0>,"-2-3+4";
++ i2c_pins_28_29 = <0>,"+2-3-4";
+ cam0-pwdn = <&ov5647>,"pwdn-gpios:4";
+ cam0-led = <&ov5647>,"pwdn-gpios:16";
+ };
+diff --git a/arch/arm/boot/dts/overlays/tc358743-overlay.dts b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+index 69fdbf4897f6..73845c532a59 100644
+--- a/arch/arm/boot/dts/overlays/tc358743-overlay.dts
++++ b/arch/arm/boot/dts/overlays/tc358743-overlay.dts
+@@ -94,6 +94,13 @@
+ };
+ };
+ fragment@6 {
++ target = <&i2c0_pins>;
++ __dormant__ {
++ brcm,pins = <0 1>;
++ brcm,function = <4>; /* alt0 */
++ };
++ };
++ fragment@7 {
+ target = <&i2c_vc>;
+ __overlay__ {
+ status = "okay";
+@@ -101,7 +108,8 @@
+ };
+
+ __overrides__ {
+- i2c_pins_28_29 = <0>,"+4-5";
++ i2c_pins_0_1 = <0>,"-4-5+6";
++ i2c_pins_28_29 = <0>,"+4-5-6";
+ 4lane = <0>, "-2+3";
+ link-frequency = <&tc358743>,"link-frequencies#0";
+ };
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0228-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0228-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch
new file mode 100644
index 00000000..2e9b6823
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0228-media-bcm2835-unicam-Pass-through-the-colorspace-on-.patch
@@ -0,0 +1,32 @@
+From 4fcfa3a138ce620febcecd8eb510adc057160313 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Thu, 22 Nov 2018 17:28:02 +0000
+Subject: [PATCH 228/320] media: bcm2835-unicam: Pass through the colorspace on
+ try_fmt
+
+The current colorspace was always returned from try_fmt for no
+good reason.
+Return what the source subdevice returns instead.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/platform/bcm2835/bcm2835-unicam.c | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/drivers/media/platform/bcm2835/bcm2835-unicam.c b/drivers/media/platform/bcm2835/bcm2835-unicam.c
+index d1eaaffd196a..88904c9db315 100644
+--- a/drivers/media/platform/bcm2835/bcm2835-unicam.c
++++ b/drivers/media/platform/bcm2835/bcm2835-unicam.c
+@@ -761,11 +761,7 @@ static int unicam_try_fmt_vid_cap(struct file *file, void *priv,
+ unicam_info(dev, "Sensor trying to send interlaced video - results may be unpredictable\n");
+
+ v4l2_fill_pix_format(&f->fmt.pix, &sd_fmt.format);
+- /*
+- * Use current colorspace for now, it will get
+- * updated properly during s_fmt
+- */
+- f->fmt.pix.colorspace = dev->v_fmt.fmt.pix.colorspace;
++
+ return unicam_calc_format_size_bpl(dev, fmt, f);
+ }
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0229-media-tc358743-Return-an-appropriate-colorspace-from.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0229-media-tc358743-Return-an-appropriate-colorspace-from.patch
new file mode 100644
index 00000000..a3eca303
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0229-media-tc358743-Return-an-appropriate-colorspace-from.patch
@@ -0,0 +1,100 @@
+From 09fdad40586c1b6ba308f749bd59cf5b363b69c4 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Thu, 22 Nov 2018 17:31:06 +0000
+Subject: [PATCH 229/320] media: tc358743: Return an appropriate colorspace
+ from tc358743_set_fmt
+
+When calling tc358743_set_fmt, the code was calling tc358743_get_fmt
+to choose a valid format. However that sets the colorspace
+based on what was read back from the chip. When you set the format,
+then the driver would choose and program the colorspace based
+on the format code.
+
+The result was that if you called try or set format for UYVY
+when the current format was RGB3 then you would get told sRGB,
+and try RGB3 when current was UYVY and you would get told
+SMPTE170M.
+
+The value programmed into the chip is determined by this driver,
+therefore there is no need to read back the value. Return the
+colorspace based on the format set/tried instead.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/media/i2c/tc358743.c | 40 +++++++++++++-----------------------
+ 1 file changed, 14 insertions(+), 26 deletions(-)
+
+diff --git a/drivers/media/i2c/tc358743.c b/drivers/media/i2c/tc358743.c
+index 12cb5bf4def7..1ca9cc43072f 100644
+--- a/drivers/media/i2c/tc358743.c
++++ b/drivers/media/i2c/tc358743.c
+@@ -1688,12 +1688,23 @@ static int tc358743_enum_mbus_code(struct v4l2_subdev *sd,
+ return 0;
+ }
+
++static u32 tc358743_g_colorspace(u32 code)
++{
++ switch (code) {
++ case MEDIA_BUS_FMT_RGB888_1X24:
++ return V4L2_COLORSPACE_SRGB;
++ case MEDIA_BUS_FMT_UYVY8_1X16:
++ return V4L2_COLORSPACE_SMPTE170M;
++ default:
++ return 0;
++ }
++}
++
+ static int tc358743_get_fmt(struct v4l2_subdev *sd,
+ struct v4l2_subdev_pad_config *cfg,
+ struct v4l2_subdev_format *format)
+ {
+ struct tc358743_state *state = to_state(sd);
+- u8 vi_rep = i2c_rd8(sd, VI_REP);
+
+ if (format->pad != 0)
+ return -EINVAL;
+@@ -1703,23 +1714,7 @@ static int tc358743_get_fmt(struct v4l2_subdev *sd,
+ format->format.height = state->timings.bt.height;
+ format->format.field = V4L2_FIELD_NONE;
+
+- switch (vi_rep & MASK_VOUT_COLOR_SEL) {
+- case MASK_VOUT_COLOR_RGB_FULL:
+- case MASK_VOUT_COLOR_RGB_LIMITED:
+- format->format.colorspace = V4L2_COLORSPACE_SRGB;
+- break;
+- case MASK_VOUT_COLOR_601_YCBCR_LIMITED:
+- case MASK_VOUT_COLOR_601_YCBCR_FULL:
+- format->format.colorspace = V4L2_COLORSPACE_SMPTE170M;
+- break;
+- case MASK_VOUT_COLOR_709_YCBCR_FULL:
+- case MASK_VOUT_COLOR_709_YCBCR_LIMITED:
+- format->format.colorspace = V4L2_COLORSPACE_REC709;
+- break;
+- default:
+- format->format.colorspace = 0;
+- break;
+- }
++ format->format.colorspace = tc358743_g_colorspace(format->format.code);
+
+ return 0;
+ }
+@@ -1734,18 +1729,11 @@ static int tc358743_set_fmt(struct v4l2_subdev *sd,
+ int ret = tc358743_get_fmt(sd, cfg, format);
+
+ format->format.code = code;
++ format->format.colorspace = tc358743_g_colorspace(code);
+
+ if (ret)
+ return ret;
+
+- switch (code) {
+- case MEDIA_BUS_FMT_RGB888_1X24:
+- case MEDIA_BUS_FMT_UYVY8_1X16:
+- break;
+- default:
+- return -EINVAL;
+- }
+-
+ if (format->which == V4L2_SUBDEV_FORMAT_TRY)
+ return 0;
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0230-staging-vchiq_arm-Fix-platform-device-unregistration.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0230-staging-vchiq_arm-Fix-platform-device-unregistration.patch
new file mode 100644
index 00000000..b65ba7d3
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0230-staging-vchiq_arm-Fix-platform-device-unregistration.patch
@@ -0,0 +1,29 @@
+From cf6e62b919ae86484426d3e6a3bae73e31e3490e Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <stefan.wahren@i2se.com>
+Date: Sat, 13 Oct 2018 20:51:23 +0200
+Subject: [PATCH 230/320] staging: vchiq_arm: Fix platform device
+ unregistration
+
+In error case platform_device_register_data would return an ERR_PTR
+instead of NULL. So we better check this before unregistration.
+
+Fixes: 37b7b3087a2f ("staging/vc04_services: Register a platform device for the camera driver.")
+Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com>
+---
+ drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+index 0d0e50fe7daa..fb2ba00c592e 100644
+--- a/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
++++ b/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.c
+@@ -3578,7 +3578,8 @@ static int vchiq_probe(struct platform_device *pdev)
+
+ static int vchiq_remove(struct platform_device *pdev)
+ {
+- platform_device_unregister(bcm2835_camera);
++ if (!IS_ERR(bcm2835_camera))
++ platform_device_unregister(bcm2835_camera);
+ vchiq_debugfs_deinit();
+ device_destroy(vchiq_class, vchiq_devid);
+ cdev_del(&vchiq_cdev);
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0231-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0231-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch
new file mode 100644
index 00000000..f25a3899
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0231-staging-bcm2835-camera-Do-not-bulk-receive-from-serv.patch
@@ -0,0 +1,199 @@
+From fc5883ac9929d5753e60cc867b6e72c93fb4b70e Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 14 Feb 2018 17:04:26 +0000
+Subject: [PATCH 231/320] staging: bcm2835-camera: Do not bulk receive from
+ service thread
+
+vchi_bulk_queue_receive will queue up to a default of 4
+bulk receives on a connection before blocking.
+If called from the VCHI service_callback thread, then
+that thread is unable to service the VCHI_CALLBACK_BULK_RECEIVED
+events that would enable the queue call to succeed.
+
+Add a workqueue to schedule the call vchi_bulk_queue_receive
+in an alternate context to avoid the lock up.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ .../vc04_services/bcm2835-camera/mmal-vchiq.c | 101 ++++++++++--------
+ 1 file changed, 59 insertions(+), 42 deletions(-)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+index f1bb900c4aa6..1a343d8e5e78 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+@@ -117,8 +117,10 @@ struct mmal_msg_context {
+
+ union {
+ struct {
+- /* work struct for defered callback - must come first */
++ /* work struct for buffer_cb callback */
+ struct work_struct work;
++ /* work struct for deferred callback */
++ struct work_struct buffer_to_host_work;
+ /* mmal instance */
+ struct vchiq_mmal_instance *instance;
+ /* mmal port */
+@@ -167,6 +169,9 @@ struct vchiq_mmal_instance {
+ /* component to use next */
+ int component_idx;
+ struct vchiq_mmal_component component[VCHIQ_MMAL_MAX_COMPONENTS];
++
++ /* ordered workqueue to process all bulk operations */
++ struct workqueue_struct *bulk_wq;
+ };
+
+ static struct mmal_msg_context *
+@@ -248,7 +253,44 @@ static void buffer_work_cb(struct work_struct *work)
+ msg_context->u.bulk.mmal_flags,
+ msg_context->u.bulk.dts,
+ msg_context->u.bulk.pts);
++}
+
++/* workqueue scheduled callback to handle receiving buffers
++ *
++ * VCHI will allow up to 4 bulk receives to be scheduled before blocking.
++ * If we block in the service_callback context then we can't process the
++ * VCHI_CALLBACK_BULK_RECEIVED message that would otherwise allow the blocked
++ * vchi_bulk_queue_receive() call to complete.
++ */
++static void buffer_to_host_work_cb(struct work_struct *work)
++{
++ struct mmal_msg_context *msg_context =
++ container_of(work, struct mmal_msg_context,
++ u.bulk.buffer_to_host_work);
++ struct vchiq_mmal_instance *instance = msg_context->instance;
++ unsigned long len = msg_context->u.bulk.buffer_used;
++ int ret;
++
++ if (!len)
++ /* Dummy receive to ensure the buffers remain in order */
++ len = 8;
++ /* queue the bulk submission */
++ vchi_service_use(instance->handle);
++ ret = vchi_bulk_queue_receive(instance->handle,
++ msg_context->u.bulk.buffer->buffer,
++ /* Actual receive needs to be a multiple
++ * of 4 bytes
++ */
++ (len + 3) & ~3,
++ VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE |
++ VCHI_FLAGS_BLOCK_UNTIL_QUEUED,
++ msg_context);
++
++ vchi_service_release(instance->handle);
++
++ if (ret != 0)
++ pr_err("%s: ctx: %p, vchi_bulk_queue_receive failed %d\n",
++ __func__, msg_context, ret);
+ }
+
+ /* enqueue a bulk receive for a given message context */
+@@ -257,7 +299,6 @@ static int bulk_receive(struct vchiq_mmal_instance *instance,
+ struct mmal_msg_context *msg_context)
+ {
+ unsigned long rd_len;
+- int ret;
+
+ rd_len = msg->u.buffer_from_host.buffer_header.length;
+
+@@ -293,45 +334,10 @@ static int bulk_receive(struct vchiq_mmal_instance *instance,
+ msg_context->u.bulk.dts = msg->u.buffer_from_host.buffer_header.dts;
+ msg_context->u.bulk.pts = msg->u.buffer_from_host.buffer_header.pts;
+
+- /* queue the bulk submission */
+- vchi_service_use(instance->handle);
+- ret = vchi_bulk_queue_receive(instance->handle,
+- msg_context->u.bulk.buffer->buffer,
+- /* Actual receive needs to be a multiple
+- * of 4 bytes
+- */
+- (rd_len + 3) & ~3,
+- VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE |
+- VCHI_FLAGS_BLOCK_UNTIL_QUEUED,
+- msg_context);
++ queue_work(msg_context->instance->bulk_wq,
++ &msg_context->u.bulk.buffer_to_host_work);
+
+- vchi_service_release(instance->handle);
+-
+- return ret;
+-}
+-
+-/* enque a dummy bulk receive for a given message context */
+-static int dummy_bulk_receive(struct vchiq_mmal_instance *instance,
+- struct mmal_msg_context *msg_context)
+-{
+- int ret;
+-
+- /* zero length indicates this was a dummy transfer */
+- msg_context->u.bulk.buffer_used = 0;
+-
+- /* queue the bulk submission */
+- vchi_service_use(instance->handle);
+-
+- ret = vchi_bulk_queue_receive(instance->handle,
+- instance->bulk_scratch,
+- 8,
+- VCHI_FLAGS_CALLBACK_WHEN_OP_COMPLETE |
+- VCHI_FLAGS_BLOCK_UNTIL_QUEUED,
+- msg_context);
+-
+- vchi_service_release(instance->handle);
+-
+- return ret;
++ return 0;
+ }
+
+ /* data in message, memcpy from packet into output buffer */
+@@ -379,6 +385,8 @@ buffer_from_host(struct vchiq_mmal_instance *instance,
+
+ /* initialise work structure ready to schedule callback */
+ INIT_WORK(&msg_context->u.bulk.work, buffer_work_cb);
++ INIT_WORK(&msg_context->u.bulk.buffer_to_host_work,
++ buffer_to_host_work_cb);
+
+ /* prep the buffer from host message */
+ memset(&m, 0xbc, sizeof(m)); /* just to make debug clearer */
+@@ -459,7 +467,7 @@ static void buffer_to_host_cb(struct vchiq_mmal_instance *instance,
+ if (msg->u.buffer_from_host.buffer_header.flags &
+ MMAL_BUFFER_HEADER_FLAG_EOS) {
+ msg_context->u.bulk.status =
+- dummy_bulk_receive(instance, msg_context);
++ bulk_receive(instance, msg, msg_context);
+ if (msg_context->u.bulk.status == 0)
+ return; /* successful bulk submission, bulk
+ * completion will trigger callback
+@@ -1793,6 +1801,9 @@ int vchiq_mmal_finalise(struct vchiq_mmal_instance *instance)
+
+ mutex_unlock(&instance->vchiq_mutex);
+
++ flush_workqueue(instance->bulk_wq);
++ destroy_workqueue(instance->bulk_wq);
++
+ vfree(instance->bulk_scratch);
+
+ idr_destroy(&instance->context_map);
+@@ -1855,6 +1866,11 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
+
+ params.callback_param = instance;
+
++ instance->bulk_wq = alloc_ordered_workqueue("mmal-vchiq",
++ WQ_MEM_RECLAIM);
++ if (!instance->bulk_wq)
++ goto err_free;
++
+ status = vchi_service_open(vchi_instance, &params, &instance->handle);
+ if (status) {
+ pr_err("Failed to open VCHI service connection (status=%d)\n",
+@@ -1869,8 +1885,9 @@ int vchiq_mmal_init(struct vchiq_mmal_instance **out_instance)
+ return 0;
+
+ err_close_services:
+-
+ vchi_service_close(instance->handle);
++ destroy_workqueue(instance->bulk_wq);
++err_free:
+ vfree(instance->bulk_scratch);
+ kfree(instance);
+ return -ENODEV;
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0232-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0232-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch
new file mode 100644
index 00000000..82b013bf
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0232-staging-bcm2835-camera-Correctly-denote-key-frames-i.patch
@@ -0,0 +1,27 @@
+From 94a00e4b4bfa78a22866b478a879388381757948 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Mon, 13 Feb 2017 13:11:41 +0000
+Subject: [PATCH 232/320] staging: bcm2835-camera: Correctly denote key frames
+ in encoded data
+
+Forward MMAL key frame flags to the V4L2 buffers.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+index 353b91a97004..391574d9b97b 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+@@ -398,6 +398,9 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
+ dev->capture.last_timestamp = buf->vb.vb2_buf.timestamp;
+
+ vb2_set_plane_payload(&buf->vb.vb2_buf, 0, length);
++ if (mmal_flags & MMAL_BUFFER_HEADER_FLAG_KEYFRAME)
++ buf->vb.flags |= V4L2_BUF_FLAG_KEYFRAME;
++
+ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+ "Buffer has ts %llu",
+ dev->capture.last_timestamp);
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0233-staging-bcm2835-camera-Return-early-on-errors.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0233-staging-bcm2835-camera-Return-early-on-errors.patch
new file mode 100644
index 00000000..39cffad1
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0233-staging-bcm2835-camera-Return-early-on-errors.patch
@@ -0,0 +1,199 @@
+From 36ca13aaf537a7f6beba4dcb1b6a3efe789c50e3 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 10 Mar 2017 17:27:56 +0000
+Subject: [PATCH 233/320] staging: bcm2835-camera: Return early on errors
+
+Fix several instances where it is easier to return
+early on error conditions than handle it as an else
+clause.
+As requested by Mauro.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ .../bcm2835-camera/bcm2835-camera.c | 139 +++++++++---------
+ 1 file changed, 72 insertions(+), 67 deletions(-)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+index 391574d9b97b..09ddd4b8289f 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+@@ -335,7 +335,9 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
+ vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+ }
+ return;
+- } else if (length == 0) {
++ }
++
++ if (length == 0) {
+ /* stream ended */
+ if (buf) {
+ /* this should only ever happen if the port is
+@@ -358,71 +360,72 @@ static void buffer_cb(struct vchiq_mmal_instance *instance,
+ /* signal frame completion */
+ complete(&dev->capture.frame_cmplt);
+ }
++ return;
++ }
++
++ if (!dev->capture.frame_count) {
++ /* signal frame completion */
++ vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
++ complete(&dev->capture.frame_cmplt);
++ return;
++ }
++
++ if (dev->capture.vc_start_timestamp == -1) {
++ /*
++ * VPU doesn't support MMAL_PARAMETER_SYSTEM_TIME, rely on
++ * kernel time, and have no latency compensation.
++ */
++ buf->vb.vb2_buf.timestamp = ktime_get_ns();
++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
++ "Buffer time set as current time - %lld",
++ buf->vb.vb2_buf.timestamp);
++ } else if (pts != 0) {
++ ktime_t timestamp;
++ s64 runtime_us = pts -
++ dev->capture.vc_start_timestamp;
++ timestamp = ktime_add_us(dev->capture.kernel_start_ts,
++ runtime_us);
++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
++ "Convert start time %llu and %llu with offset %llu to %llu\n",
++ ktime_to_ns(dev->capture.kernel_start_ts),
++ dev->capture.vc_start_timestamp, pts,
++ ktime_to_ns(timestamp));
++ buf->vb.vb2_buf.timestamp = ktime_to_ns(timestamp);
+ } else {
+- if (dev->capture.frame_count) {
+- if (dev->capture.vc_start_timestamp == -1) {
+- buf->vb.vb2_buf.timestamp = ktime_get_ns();
+- v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+- "Buffer time set as current time - %lld",
+- buf->vb.vb2_buf.timestamp);
+-
+- } else if (pts != 0) {
+- ktime_t timestamp;
+- s64 runtime_us = pts -
+- dev->capture.vc_start_timestamp;
+- timestamp = ktime_add_us(dev->capture.kernel_start_ts,
+- runtime_us);
+- v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+- "Convert start time %llu and %llu with offset %llu to %llu\n",
+- ktime_to_ns(dev->capture.kernel_start_ts),
+- dev->capture.vc_start_timestamp, pts,
+- ktime_to_ns(timestamp));
+- buf->vb.vb2_buf.timestamp = ktime_to_ns(timestamp);
+- } else {
+- if (dev->capture.last_timestamp) {
+- buf->vb.vb2_buf.timestamp =
+- dev->capture.last_timestamp;
+- v4l2_dbg(1, bcm2835_v4l2_debug,
+- &dev->v4l2_dev,
+- "Buffer time set as last timestamp - %lld",
+- buf->vb.vb2_buf.timestamp);
+- } else {
+- buf->vb.vb2_buf.timestamp =
+- ktime_to_ns(dev->capture.kernel_start_ts);
+- v4l2_dbg(1, bcm2835_v4l2_debug,
+- &dev->v4l2_dev,
+- "Buffer time set as start timestamp - %lld",
+- buf->vb.vb2_buf.timestamp);
+- }
+- }
+- dev->capture.last_timestamp = buf->vb.vb2_buf.timestamp;
+-
+- vb2_set_plane_payload(&buf->vb.vb2_buf, 0, length);
+- if (mmal_flags & MMAL_BUFFER_HEADER_FLAG_KEYFRAME)
+- buf->vb.flags |= V4L2_BUF_FLAG_KEYFRAME;
+-
++ if (dev->capture.last_timestamp) {
++ buf->vb.vb2_buf.timestamp = dev->capture.last_timestamp;
+ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+- "Buffer has ts %llu",
+- dev->capture.last_timestamp);
+- vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
+-
+- if (mmal_flags & MMAL_BUFFER_HEADER_FLAG_EOS &&
+- is_capturing(dev)) {
+- v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
+- "Grab another frame as buffer has EOS");
+- vchiq_mmal_port_parameter_set(
+- instance,
+- dev->capture.camera_port,
+- MMAL_PARAMETER_CAPTURE,
+- &dev->capture.frame_count,
+- sizeof(dev->capture.frame_count));
+- }
++ "Buffer time set as last timestamp - %lld",
++ buf->vb.vb2_buf.timestamp);
+ } else {
+- /* signal frame completion */
+- vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_ERROR);
+- complete(&dev->capture.frame_cmplt);
++ buf->vb.vb2_buf.timestamp =
++ ktime_to_ns(dev->capture.kernel_start_ts);
++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
++ "Buffer time set as start timestamp - %lld",
++ buf->vb.vb2_buf.timestamp);
+ }
+ }
++ dev->capture.last_timestamp = buf->vb.vb2_buf.timestamp;
++
++ vb2_set_plane_payload(&buf->vb.vb2_buf, 0, length);
++ if (mmal_flags & MMAL_BUFFER_HEADER_FLAG_KEYFRAME)
++ buf->vb.flags |= V4L2_BUF_FLAG_KEYFRAME;
++
++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
++ "Buffer has ts %llu",
++ dev->capture.last_timestamp);
++ vb2_buffer_done(&buf->vb.vb2_buf, VB2_BUF_STATE_DONE);
++
++ if (mmal_flags & MMAL_BUFFER_HEADER_FLAG_EOS &&
++ is_capturing(dev)) {
++ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
++ "Grab another frame as buffer has EOS");
++ vchiq_mmal_port_parameter_set(instance,
++ dev->capture.camera_port,
++ MMAL_PARAMETER_CAPTURE,
++ &dev->capture.frame_count,
++ sizeof(dev->capture.frame_count));
++ }
+ }
+
+ static int enable_camera(struct bm2835_mmal_dev *dev)
+@@ -802,27 +805,29 @@ static int vidioc_overlay(struct file *file, void *f, unsigned int on)
+
+ ret = vchiq_mmal_port_set_format(dev->instance, src);
+ if (ret < 0)
+- goto error;
++ return ret;
+
+ ret = set_overlay_params(dev, dst);
+ if (ret < 0)
+- goto error;
++ return ret;
+
+- if (enable_camera(dev) < 0)
+- goto error;
++ if (enable_camera(dev) < 0) {
++ ret = -EINVAL;
++ return ret;
++ }
+
+ ret = vchiq_mmal_component_enable(
+ dev->instance,
+ dev->component[MMAL_COMPONENT_PREVIEW]);
+ if (ret < 0)
+- goto error;
++ return ret;
+
+ v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, "connecting %p to %p\n",
+ src, dst);
+ ret = vchiq_mmal_port_connect_tunnel(dev->instance, src, dst);
+ if (!ret)
+ ret = vchiq_mmal_port_enable(dev->instance, src, NULL);
+-error:
++
+ return ret;
+ }
+
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0234-staging-bcm2835-camera-Remove-dead-email-addresses.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0234-staging-bcm2835-camera-Remove-dead-email-addresses.patch
new file mode 100644
index 00000000..b113865f
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0234-staging-bcm2835-camera-Remove-dead-email-addresses.patch
@@ -0,0 +1,265 @@
+From d538ff9f1184e5e2b0426e8628d08eb7c3465140 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Fri, 10 Mar 2017 17:35:38 +0000
+Subject: [PATCH 234/320] staging: bcm2835-camera: Remove dead email addresses
+
+None of the listed author email addresses were valid.
+Keep list of authors and the companies they represented.
+Update my email address.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ .../vc04_services/bcm2835-camera/bcm2835-camera.c | 9 +++++----
+ .../vc04_services/bcm2835-camera/bcm2835-camera.h | 9 +++++----
+ drivers/staging/vc04_services/bcm2835-camera/controls.c | 9 +++++----
+ .../staging/vc04_services/bcm2835-camera/mmal-common.h | 9 +++++----
+ .../vc04_services/bcm2835-camera/mmal-encodings.h | 9 +++++----
+ .../vc04_services/bcm2835-camera/mmal-msg-common.h | 9 +++++----
+ .../vc04_services/bcm2835-camera/mmal-msg-format.h | 9 +++++----
+ .../staging/vc04_services/bcm2835-camera/mmal-msg-port.h | 9 +++++----
+ drivers/staging/vc04_services/bcm2835-camera/mmal-msg.h | 9 +++++----
+ .../vc04_services/bcm2835-camera/mmal-parameters.h | 9 +++++----
+ .../staging/vc04_services/bcm2835-camera/mmal-vchiq.c | 9 +++++----
+ .../staging/vc04_services/bcm2835-camera/mmal-vchiq.h | 9 +++++----
+ 12 files changed, 60 insertions(+), 48 deletions(-)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+index 09ddd4b8289f..9958b7493f3a 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.c
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ #include <linux/errno.h>
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
+index 09273b0b1079..9833828daf19 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/bcm2835-camera.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ *
+ * core driver device
+ */
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/controls.c b/drivers/staging/vc04_services/bcm2835-camera/controls.c
+index d2b18a2e3be6..2fde39df56ca 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/controls.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/controls.c
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ #include <linux/errno.h>
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-common.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-common.h
+index a20bf274a4fd..858bdcde6f3d 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-common.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-common.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ *
+ * MMAL structures
+ *
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-encodings.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-encodings.h
+index 129203597f91..2be9941a1f30 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-encodings.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-encodings.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+ #ifndef MMAL_ENCODINGS_H
+ #define MMAL_ENCODINGS_H
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-common.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-common.h
+index ec8455639d49..342c9b670f7e 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-common.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-common.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ #ifndef MMAL_MSG_COMMON_H
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
+index c9d6fbe25fe4..5ea1a1b78525 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ #ifndef MMAL_MSG_FORMAT_H
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-port.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-port.h
+index 3b3ed79cadd9..fe5768d04733 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-port.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-port.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ /* MMAL_PORT_TYPE_T */
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg.h
+index d1c57edbe2b8..70e935da7665 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ /* all the data structures which serialise the MMAL protocol. note
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-parameters.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-parameters.h
+index 184024dfb8b7..96e987d05ca0 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-parameters.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-parameters.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ */
+
+ /* common parameters */
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+index 1a343d8e5e78..5175e2c63463 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.c
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ *
+ * V4L2 driver MMAL vchiq interface code
+ */
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.h
+index 22b839ecd5f0..0e5a81bc03e9 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-vchiq.h
+@@ -4,10 +4,11 @@
+ *
+ * Copyright © 2013 Raspberry Pi (Trading) Ltd.
+ *
+- * Authors: Vincent Sanders <vincent.sanders@collabora.co.uk>
+- * Dave Stevenson <dsteve@broadcom.com>
+- * Simon Mellor <simellor@broadcom.com>
+- * Luke Diamand <luked@broadcom.com>
++ * Authors: Vincent Sanders @ Collabora
++ * Dave Stevenson @ Broadcom
++ * (now dave.stevenson@raspberrypi.org)
++ * Simon Mellor @ Broadcom
++ * Luke Diamand @ Broadcom
+ *
+ * MMAL interface to VCHIQ message passing
+ */
diff --git a/sys-kernel/boest-v5.1.9/raspberrypi/0235-staging-bcm2835-camera-Fix-comment-style-violations.patch b/sys-kernel/boest-v5.1.9/raspberrypi/0235-staging-bcm2835-camera-Fix-comment-style-violations.patch
new file mode 100644
index 00000000..21b15ac9
--- /dev/null
+++ b/sys-kernel/boest-v5.1.9/raspberrypi/0235-staging-bcm2835-camera-Fix-comment-style-violations.patch
@@ -0,0 +1,622 @@
+From d098eff0ed013fdf86f29581c2ab9fb5ce203e48 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Wed, 21 Feb 2018 13:49:32 +0000
+Subject: [PATCH 235/320] staging: bcm2835-camera: Fix comment style
+ violations.
+
+Fix comment style violations in the header files.
+
+Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
+---
+ .../bcm2835-camera/mmal-msg-format.h | 85 ++++++-----
+ .../bcm2835-camera/mmal-msg-port.h | 124 ++++++++--------
+ .../vc04_services/bcm2835-camera/mmal-msg.h | 135 +++++++++---------
+ 3 files changed, 180 insertions(+), 164 deletions(-)
+
+diff --git a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
+index 5ea1a1b78525..a118efd21d98 100644
+--- a/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
++++ b/drivers/staging/vc04_services/bcm2835-camera/mmal-msg-format.h
+@@ -19,22 +19,23 @@
+ /* MMAL_ES_FORMAT_T */
+
+ struct mmal_audio_format {
+- u32 channels; /**< Number of audio channels */
+- u32 sample_rate; /**< Sample rate */
++ u32 channels; /* Number of audio channels */
++ u32 sample_rate; /* Sample rate */
+
+- u32 bits_per_sample; /**< Bits per sample */
+- u32 block_align; /**< Size of a block of data */
++ u32 bits_per_sample; /* Bits per sample */
++ u32 block_align; /* Size of a block of data */
+ };
+
+ struct mmal_video_format {
+- u32 width; /**< Width of frame in pixels */
+- u32 height; /**< Height of frame in rows of pixels */
+- struct mmal_rect crop; /**< Visible region of the frame */
+- struct mmal_rational frame_rate; /**< Frame rate */
+- struct mmal_rational par; /**< Pixel aspect ratio */
++ u32 width; /* Width of frame in pixels */
++ u32 height; /* Height of frame in rows of pixels */
++ struct mmal_rect crop; /* Visible region of the frame */
++ struct mmal_rational frame_rate; /* Frame rate */
++ struct mmal_rational par; /* Pixel aspect ratio */
+
+- /* FourCC specifying the color space of the video stream. See the
+- * \ref MmalColorSpace "pre-defined color spaces" for some examples.
++ /*
++ * FourCC specifying the color space of the video stream. See the
++ * MmalColorSpace "pre-defined color spaces" for some examples.
+ */
+ u32 color_space;
+ };
+@@ -50,48 +51,56 @@ union mmal_es_specific_format {
+ struct mmal_subpicture_format subpicture;
+ };
+
+-/** Definition of an elementary stream format (MMAL_ES_FORMAT_T) */
++/* Definition of an elementary stream format (MMAL_ES_FORMAT_T) */
+ struct mmal_es_format_local {
+- u32 type; /* enum mmal_es_type */
++ u32 type; /* enum mmal_es_type */
+
+- u32 encoding; /* FourCC specifying encoding of the elementary stream.*/
+- u32 encoding_variant; /* FourCC specifying the specific
+- * encoding variant of the elementary
+- * stream.
+- */
++ u32 encoding; /* FourCC specifying encoding of the elementary
++ * stream.
++ */
++ u32 encoding_variant; /* FourCC specifying the specific
++ * encoding variant of the elementary
++ * stream.
++ */
+
+- union mmal_es_specific_format *es; /* Type specific
+- * information for the
+- * elementary stream
+- */
++ union mmal_es_specific_format *es; /* Type specific
++ * information for the
++ * elementary stream
++ */