From 335e8e40130a77a5ad6ccc0c6331e8903cd42ccb Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 21 Jun 2016 19:00:50 +0100 Subject: [PATCH 1/4] RBP: Update to firmware 390f53e --- packages/graphics/bcm2835-driver/package.mk | 2 +- packages/tools/bcm2835-bootloader/package.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/graphics/bcm2835-driver/package.mk b/packages/graphics/bcm2835-driver/package.mk index 63cb8f1ffe..87ee684421 100644 --- a/packages/graphics/bcm2835-driver/package.mk +++ b/packages/graphics/bcm2835-driver/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="bcm2835-driver" -PKG_VERSION="9cd62e6" +PKG_VERSION="390f53e" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="nonfree" diff --git a/packages/tools/bcm2835-bootloader/package.mk b/packages/tools/bcm2835-bootloader/package.mk index 257ecb0cd5..6c906f0d74 100644 --- a/packages/tools/bcm2835-bootloader/package.mk +++ b/packages/tools/bcm2835-bootloader/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="bcm2835-bootloader" -PKG_VERSION="9cd62e6" +PKG_VERSION="390f53e" PKG_REV="1" PKG_ARCH="arm" PKG_LICENSE="nonfree" From f0c7b02e37624a193b93e6d76e349e7431557a6c Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 21 Jun 2016 19:45:18 +0100 Subject: [PATCH 2/4] tools: Update rebase script with additional rtl8192cu commits we need to drop --- tools/RPi/gen-rpi-linux-patch.sh | 3 +++ tools/RPi/rpi-linux-rebase.sh | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/tools/RPi/gen-rpi-linux-patch.sh b/tools/RPi/gen-rpi-linux-patch.sh index 94b095455b..07288b61b8 100755 --- a/tools/RPi/gen-rpi-linux-patch.sh +++ b/tools/RPi/gen-rpi-linux-patch.sh @@ -55,6 +55,9 @@ if [ -z "${KERNEL}" ]; then git remote add -t linux-${BRANCH}.y linux-stable https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git fi +# Apply the following config change to reduce chance of duplicate hashes +git config --local core.abbrev 40 + git fetch --all --depth=${DEPTH} git reset --hard origin/rpi-${BRANCH}.y${REBASE} diff --git a/tools/RPi/rpi-linux-rebase.sh b/tools/RPi/rpi-linux-rebase.sh index 51ace90198..6f60186ebb 100755 --- a/tools/RPi/rpi-linux-rebase.sh +++ b/tools/RPi/rpi-linux-rebase.sh @@ -3,6 +3,7 @@ # Setup: # git clone -b rpi-4.4.y --depth=1000 --single-branch git@github.com:raspberrypi/linux.git raspberrypi-linux # git remote add -t linux-4.4.y linux-stable git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git +# git config --local core.abbrev 40 # Update: # git fetch --all --depth=1000 # git reset --hard origin/rpi-4.4.y @@ -19,6 +20,17 @@ rtl8192cu\: Add PID for D-Link DWA 131 Added Device IDs for August DVB-T 205 net\: Add non-mainline source for rtl8192cu wlan net\: Fix rtl8192cu build errors on other platforms +Enable cfg80211 support +suppress spurious messages +Add #if for 3\.14 kernel change \(#87\) +Set dev_type to wlan +Tentatively added support for more 8188CUS based devices\. +Add support for more 8188CUS and 8192CUS devices +Add ProductId for the Netgear N150 - WNA1000M +Fixes CONFIG_CONCURRENT_MODE CONFIG_MULTI_VIR_IFACES +Fixes compatibility with 3\.13 +Enables warning in the compiler and fixes some issues, reference => https\:\/\/github\.com\/diederikdehaas\/rtl8812AU +Starts device in station mode instead of monitor, fixes NetworkManager issues " IFS=$'\n' From 2d10584da00bc3cec7454ea4cee04f109c5bbb63 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 21 Jun 2016 19:46:22 +0100 Subject: [PATCH 3/4] RPi/RPi2: update linux support patches for linux 4.6.2 --- .../patches/linux/linux-01-RPi_support.patch | 4251 ++++++++++++++--- .../patches/linux/linux-01-RPi_support.patch | 4251 ++++++++++++++--- 2 files changed, 7116 insertions(+), 1386 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index e868fd5d79..5cfc23b7e3 100644 --- a/projects/RPi/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ From 4ea3d80111eaec2f84b553f771cdc3eaa53d81a3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 17:43:28 +0100 -Subject: [PATCH 001/112] Revert "SUNRPC: Make NFS swap work with multipath" +Subject: [PATCH 001/141] Revert "SUNRPC: Make NFS swap work with multipath" This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. --- @@ -9,7 +9,7 @@ This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c -index 7e0c9bf..0693685 100644 +index 7e0c9bf22df811475385496007cfac321e0422a5..06936855313fe14abac8af7929a7a35381886e9e 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -2683,39 +2683,57 @@ void rpc_show_tasks(struct net *net) @@ -98,7 +98,7 @@ index 7e0c9bf..0693685 100644 From ec83e1899f7401a737271704e13aef2360dc9bb8 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/112] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/141] 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. @@ -110,7 +110,7 @@ Signed-off-by: Steve Glendinning 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 2edc2bc..2ce8d2b 100644 +index 2edc2bc6d1b9fb3201a5f4d564dffed93e30bddc..2ce8d2b7d35b6784b7d4faf85e765b233d7a0081 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -75,6 +75,10 @@ static bool turbo_mode = true; @@ -148,14 +148,14 @@ index 2edc2bc..2ce8d2b 100644 From b0f55205237174555211736e3b6472ab9783bb02 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 003/112] smsc95xx: Disable turbo mode by default +Subject: [PATCH 003/141] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 2ce8d2b..35ebf75 100644 +index 2ce8d2b7d35b6784b7d4faf85e765b233d7a0081..35ebf75d9949d945b7833ac8cb3c19083045fbd9 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -71,7 +71,7 @@ struct smsc95xx_priv { @@ -171,7 +171,7 @@ index 2ce8d2b..35ebf75 100644 From d6e3695a49d2fb22c521adac2b24458414c1e508 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 004/112] add smsc95xx packetsize module_param +Subject: [PATCH 004/141] add smsc95xx packetsize module_param Signed-off-by: Sam Nazarko --- @@ -179,7 +179,7 @@ Signed-off-by: Sam Nazarko 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 35ebf75..3cac3c9 100644 +index 35ebf75d9949d945b7833ac8cb3c19083045fbd9..3cac3c9b276e4c76af92aa9b19451875769f7798 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -79,6 +79,10 @@ static bool truesize_mode = false; @@ -216,7 +216,7 @@ index 35ebf75..3cac3c9 100644 From 0fd771797e99ddec1f9336187344c6863b86d7f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 005/112] Allow mac address to be set in smsc95xx +Subject: [PATCH 005/141] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -224,7 +224,7 @@ Signed-off-by: popcornmix 1 file changed, 56 insertions(+) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 3cac3c9..d9bdc74 100644 +index 3cac3c9b276e4c76af92aa9b19451875769f7798..d9bdc74086f3d656a930375b6e0ea2c98fa635e6 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -60,6 +60,7 @@ @@ -315,7 +315,7 @@ index 3cac3c9..d9bdc74 100644 From 61022ce3ea95a14a2ad16b4a3e8f310e327e9600 Mon Sep 17 00:00:00 2001 From: Nicolas Boullis Date: Sun, 10 Apr 2016 13:23:05 +0200 -Subject: [PATCH 006/112] rtc: ds1307: ensure that any pending alarm is cleared +Subject: [PATCH 006/141] rtc: ds1307: ensure that any pending alarm is cleared before a new alarm is enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -341,7 +341,7 @@ Signed-off-by: Alexandre Belloni 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index ecb7dba..e94eb09 100644 +index ecb7dbae9be9daa0ee96ede34a446a78e8e7debd..e94eb0952286300ec9847cddaf317476ddd05423 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -538,12 +538,8 @@ static int ds1337_set_alarm(struct device *dev, struct rtc_wkalrm *t) @@ -376,7 +376,7 @@ index ecb7dba..e94eb09 100644 From 72c09cf49710f661332c34ad016d8a3768bd0ad6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 007/112] serial: Take care starting a hung-up tty's port +Subject: [PATCH 007/141] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -391,7 +391,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h -index cbfcf38..96bc15a 100644 +index cbfcf38e220def6070e3de57c56ce34f3536bd6c..96bc15aa5c2190287590dc32949d873289858e97 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -403,7 +403,7 @@ int uart_resume_port(struct uart_driver *reg, struct uart_port *port); @@ -407,7 +407,7 @@ index cbfcf38..96bc15a 100644 From 1ec14b21462e368076fe6dc5f37a80b69ddc1822 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Jun 2014 13:42:01 +0100 -Subject: [PATCH 008/112] vmstat: Workaround for issue where dirty page count +Subject: [PATCH 008/141] vmstat: Workaround for issue where dirty page count goes negative See: @@ -418,7 +418,7 @@ http://www.spinics.net/lists/linux-mm/msg72236.html 1 file changed, 4 insertions(+) diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h -index 73fae8c..5dd1278 100644 +index 73fae8c4a5fb50d94b72f12bed28f98d170f5787..5dd127883ad1dee89dd72be4cccb2ffb069d3521 100644 --- a/include/linux/vmstat.h +++ b/include/linux/vmstat.h @@ -220,7 +220,11 @@ static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item) @@ -437,7 +437,7 @@ index 73fae8c..5dd1278 100644 From 08a0e3f5f7317c8bd3abbd692f8deb75860b5f11 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 009/112] Protect __release_resource against resources without +Subject: [PATCH 009/141] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -448,7 +448,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+) diff --git a/kernel/resource.c b/kernel/resource.c -index 9b5f044..f8a9af6 100644 +index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b4010644bdc882 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -246,6 +246,12 @@ static int __release_resource(struct resource *old, bool release_child) @@ -468,7 +468,7 @@ index 9b5f044..f8a9af6 100644 From 28c2d214e5540706073521cd1e8503e8cfffdc85 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 010/112] mm: Remove the PFN busy warning +Subject: [PATCH 010/141] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -480,7 +480,7 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 898fe3f..5a578b1 100644 +index 898fe3f909f91df712b34d52797e5aca384e418b..5a578b1e37f0e566f9ff930bdf13a4647085c514 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7101,8 +7101,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, @@ -496,7 +496,7 @@ index 898fe3f..5a578b1 100644 From 143a9f1fe93904316f26a0a23917f5b827cdcc95 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 011/112] BCM2835_DT: Fix I2S register map +Subject: [PATCH 011/141] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -504,7 +504,7 @@ Subject: [PATCH 011/112] BCM2835_DT: Fix I2S register map 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt -index 1396078..2db8294 100644 +index 1396078d15ac625e737487bb242f79b330796951..2db8294474db47d8c199796d4d50a3a0a8a3cac5 100644 --- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt @@ -48,8 +48,8 @@ Example: @@ -519,7 +519,7 @@ index 1396078..2db8294 100644 dmas = <&dma 2>, <&dma 3>; diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt -index 65783de..a89fe42 100644 +index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554427118a2 100644 --- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt @@ -16,8 +16,8 @@ Example: @@ -537,7 +537,7 @@ index 65783de..a89fe42 100644 From f54d56eaa7981101f815282191a0995f5ef0160e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 012/112] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 012/141] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -552,7 +552,7 @@ though, so trap them early. 1 file changed, 1 insertion(+) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index b6e950d..bbb92c2 100644 +index b6e950d4782a1e020acddb50705efb180fe758b3..bbb92c290448fcabcb468302dfa5762b44b60d4a 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -175,6 +175,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs) @@ -567,7 +567,7 @@ index b6e950d..bbb92c2 100644 From 97af81452eaa1804af8e8af3591aff4a9dc83988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 013/112] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 013/141] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -585,7 +585,7 @@ Acked-by: Stephen Warren 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 7ef1214..b1a5a7b 100644 +index 7ef121472cdd4761d059ae9f3eaf26b04ac141a2..b1a5a7b68158c55317418ee87e1df0325f8e4482 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -143,6 +143,7 @@ config ARCH_BCM2835 @@ -597,7 +597,7 @@ index 7ef1214..b1a5a7b 100644 select PINCTRL_BCM2835 help diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index bf9cc5f..3f601f9 100644 +index bf9cc5f2e839e845fe1ce65caa672b6212d3ffbc..3f601f98aa884b941fbb84edb349f6c469b940b1 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -55,7 +55,7 @@ @@ -699,7 +699,7 @@ index bf9cc5f..3f601f9 100644 From 57f8362b1afdc00d082a6793ce374555ab6b948e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 014/112] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 014/141] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -710,7 +710,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 3f601f9..20deb28 100644 +index 3f601f98aa884b941fbb84edb349f6c469b940b1..20deb282286834b1f234a65e614b8584688a25d7 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -50,6 +50,8 @@ @@ -798,7 +798,7 @@ index 3f601f9..20deb28 100644 From fbe0188b2994a519faac03ee98b62234b5239639 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 015/112] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 015/141] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -807,7 +807,7 @@ See: https://github.com/raspberrypi/linux/issues/1054 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index e3c19f3..f4963e3 100644 +index e3c19f30f591115a823467033702ff1b232c5ebc..f4963e3c1dbcd13edb9b97e9dad65438214ec9d3 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -695,6 +695,7 @@ static struct class *spidev_class; @@ -822,14 +822,14 @@ index e3c19f3..f4963e3 100644 From 3c33af8ff64e72175cf48b44a6daa0d1719f9905 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 016/112] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 016/141] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c -index 2f4f5ee..edc1355 100644 +index 2f4f5ee651db63c040255347b56d0ac385e36415..edc1355f6381410fb79f48e17a2d2f47da66d841 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -509,6 +509,8 @@ static void __init serial8250_isa_init_ports(void) @@ -845,7 +845,7 @@ index 2f4f5ee..edc1355 100644 From a5ae9d0c48cb9844944e7d7576b697471bd36a4c Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 017/112] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 017/141] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -854,7 +854,7 @@ Signed-off-by: Noralf Tronnes 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 08b1d93..0a23c81 100644 +index 08b1d93da9fedb36e1ae6ed3450221271f25998f..0a23c813397f14e503beb795b1f448124db74b9a 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -373,7 +373,7 @@ static struct gpio_chip bcm2835_gpio_chip = { @@ -870,7 +870,7 @@ index 08b1d93..0a23c81 100644 From 6c19fef04e584bcc5bb5fe5e98f5082cf6478be6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 018/112] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 018/141] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -891,7 +891,7 @@ the pins are often used for I2S instead. 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 0a23c81..b793bbd 100644 +index 0a23c813397f14e503beb795b1f448124db74b9a..b793bbdb12dca12722a7f0d07a29fe238c7f09cf 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -47,6 +47,7 @@ @@ -1019,7 +1019,7 @@ index 0a23c81..b793bbd 100644 From 6d508dd5ec01abf12aa444d70991d7b780e53f75 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 019/112] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 019/141] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -1033,7 +1033,7 @@ interface, is unlikely to be a problem. 1 file changed, 2 insertions(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index b793bbd..8683a1b 100644 +index b793bbdb12dca12722a7f0d07a29fe238c7f09cf..8683a1be5ecc45e1e664d5e078f25e6ff0ebe282 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -1029,6 +1029,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) @@ -1049,7 +1049,7 @@ index b793bbd..8683a1b 100644 From 70a973e06f8d27093536bd00e87b74621de0ac02 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 020/112] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 020/141] pinctrl-bcm2835: Return pins to inputs when freed When dynamically unloading overlays, it is important that freed pins are restored to being inputs to prevent functions from being enabled in @@ -1061,7 +1061,7 @@ Signed-off-by: Phil Elwell 1 file changed, 11 insertions(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 8683a1b..6327122 100644 +index 8683a1be5ecc45e1e664d5e078f25e6ff0ebe282..6327122cb13b2a0229be4de7c3409b54afdd2847 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -831,6 +831,16 @@ static const struct pinctrl_ops bcm2835_pctl_ops = { @@ -1093,7 +1093,7 @@ index 8683a1b..6327122 100644 From f2d2360f3b75dd50b9e62f02e21b0c6be7a9c1e8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 021/112] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 021/141] spi-bcm2835: Support pin groups other than 7-11 The spi-bcm2835 driver automatically uses GPIO chip-selects due to some unreliability of the native ones. In doing so it chooses the @@ -1110,7 +1110,7 @@ Signed-off-by: Phil Elwell 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c -index f35cc10..5dfe20f 100644 +index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175a29705b6 100644 --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c @@ -688,6 +688,8 @@ static int bcm2835_spi_setup(struct spi_device *spi) @@ -1177,7 +1177,7 @@ index f35cc10..5dfe20f 100644 From e18b7eb8c9563fb8d83a7edf8d2ebbaf798415c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 022/112] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 022/141] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1202,7 +1202,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 9 insertions(+) diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 834d676..3b68a8d 100644 +index 834d67684e205a185971c13ebc6620434eeac788..3b68a8d3501a5dcb1b4790c35d921cf5fa641ec7 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -17,12 +17,16 @@ @@ -1238,7 +1238,7 @@ index 834d676..3b68a8d 100644 From 79b0ba4e2932f0f13035581c36bb3bd4a515f8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 9 Apr 2015 12:34:11 +0200 -Subject: [PATCH 023/112] dmaengine: bcm2835: Add slave dma support +Subject: [PATCH 023/141] dmaengine: bcm2835: Add slave dma support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1255,7 +1255,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 192 insertions(+), 14 deletions(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 996c4b0..b278c66 100644 +index 996c4b00d323ed5c2dd6455f80eb36ed8e9a8b23..b278c663e3b31a7c906dd32d53db5e670f6bbc10 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -1,11 +1,10 @@ @@ -1561,7 +1561,7 @@ index 996c4b0..b278c66 100644 From edef61f03f6ad3e6bdba78ea074ba0d1514a7a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 15:58:59 +0200 -Subject: [PATCH 024/112] dmaengine: bcm2835: set residue_granularity field +Subject: [PATCH 024/141] dmaengine: bcm2835: set residue_granularity field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1578,7 +1578,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 1 insertion(+) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index b278c66..696fb30 100644 +index b278c663e3b31a7c906dd32d53db5e670f6bbc10..696fb30b4f5a01cda9b98038b8e548368cea05f4 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -802,6 +802,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev) @@ -1593,7 +1593,7 @@ index b278c66..696fb30 100644 From 7225bfaf5d36f4e320f96e6f2433f9fd4a6e2cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 025/112] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 025/141] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1611,7 +1611,7 @@ Signed-off-by: Noralf Trønnes 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index d96d87c..4d0425c 100644 +index d96d87c56f2e13a6c85a815626f67b67c9940116..4d0425c820d476fc7e5d5acf12a32de074c91b1d 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -108,7 +108,7 @@ config COH901318 @@ -1624,7 +1624,7 @@ index d96d87c..4d0425c 100644 select DMA_VIRTUAL_CHANNELS diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 696fb30..5db0a95 100644 +index 696fb30b4f5a01cda9b98038b8e548368cea05f4..5db0a95985b20a2086c65762ea8f125511f67471 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -36,6 +36,7 @@ @@ -1696,7 +1696,7 @@ index 696fb30..5db0a95 100644 From 35af6481c2b4f5ab8316f5531e911dc239d37267 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 12:28:30 +0200 -Subject: [PATCH 026/112] bcm2835-dma: Limit cyclic transfers on lite channels +Subject: [PATCH 026/141] bcm2835-dma: Limit cyclic transfers on lite channels to 32k Transfers larger than 32k cause repeated clicking with I2S soundcards. @@ -1707,7 +1707,7 @@ did as an intermediate fix. 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 5db0a95..6b87ce2 100644 +index 5db0a95985b20a2086c65762ea8f125511f67471..6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -144,6 +144,12 @@ struct bcm2835_desc { @@ -1736,14 +1736,14 @@ index 5db0a95..6b87ce2 100644 From fae40bf186c307fb98d4cfa8705c2b6a5a785a75 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 16 Nov 2015 14:05:35 +0000 -Subject: [PATCH 027/112] bcm2835-dma: Fix up convert to DMA pool +Subject: [PATCH 027/141] bcm2835-dma: Fix up convert to DMA pool --- drivers/dma/bcm2835-dma.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 6b87ce2..d26b6bd 100644 +index 6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9..d26b6bdbcf1ab33ab92937b889a37e505c925311 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -488,6 +488,17 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( @@ -1824,7 +1824,7 @@ index 6b87ce2..d26b6bd 100644 From 045c252001479259dc420de9112db61f255ca851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 028/112] bcm2835: Add support for uart1 +Subject: [PATCH 028/141] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1838,7 +1838,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 25 insertions(+) diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 3b68a8d..e72e522 100644 +index 3b68a8d3501a5dcb1b4790c35d921cf5fa641ec7..e72e522fbc840c36a39cb6550850b3c663bcff2e 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -22,6 +22,29 @@ @@ -1884,14 +1884,14 @@ index 3b68a8d..e72e522 100644 From 1cadf2793639c7b319413826cd5e27056de89747 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 029/112] firmware: Updated mailbox header +Subject: [PATCH 029/141] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 3fb3571..227a107 100644 +index 3fb357193f09914fe21f8555a4b8613f74f22bc3..227a107214a02deadcca3db202da265eba1fdd21 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h @@ -63,6 +63,7 @@ enum rpi_firmware_property_tag { @@ -1950,7 +1950,7 @@ index 3fb3571..227a107 100644 From c65d61684a0f31137cf35dad86e2f8c5b50e9d70 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 030/112] Main bcm2708/bcm2709 linux port +Subject: [PATCH 030/141] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2022,7 +2022,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 arch/arm/mach-bcm2709/vc_mem.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index cdfa6c2..aad7157 100644 +index cdfa6c2b7626f3a761364ac072fc359b5f02592a..aad71574d78fbf13ddb5616d5f9fdd742bfa6487 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -322,6 +322,52 @@ choice @@ -2089,7 +2089,7 @@ index cdfa6c2..aad7157 100644 source "arch/arm/mach-alpine/Kconfig" diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index 1098e91..e119675 100644 +index 1098e91d6d3f34ff5ca9abd4784dd1793897115c..e11967517b52614b4babf9e8cbafd0f920aaf208 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -1302,6 +1302,14 @@ choice @@ -2108,7 +2108,7 @@ index 1098e91..e119675 100644 config DEBUG_EXYNOS_UART diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 8c3ce2a..c4d7d10 100644 +index 8c3ce2ac44c4a675e091e8b107f1dd04f5f0b299..c4d7d102840699013aca416a1e7b8d14110be166 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -153,6 +153,8 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 @@ -2121,7 +2121,7 @@ index 8c3ce2a..c4d7d10 100644 machine-$(CONFIG_ARCH_ARTPEC) += artpec machine-$(CONFIG_ARCH_AT91) += at91 diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S -index 04286fd..ed82628 100644 +index 04286fd9e09ce7a27259c4d375a05a965e3be0ea..ed826280e744828ebb1c5ae6b7a62d70f28c1429 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -700,6 +700,14 @@ ARM_BE8(rev16 ip, ip) @@ -2140,7 +2140,7 @@ index 04286fd..ed82628 100644 ENDPROC(__fixup_a_pv_table) diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c -index 4adfb46..69aad0e 100644 +index 4adfb46e3ee93276ea506b723eb11e33c57459f4..69aad0ebc902b82a83afd24938cafdfe1686136d 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -91,6 +91,16 @@ void arch_cpu_idle_exit(void) @@ -2162,7 +2162,7 @@ index 4adfb46..69aad0e 100644 unsigned long flags; diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig new file mode 100644 -index 0000000..6eabe84 +index 0000000000000000000000000000000000000000..6eabe844767f7fa9bdc09a897bab83e5149fc0dd --- /dev/null +++ b/arch/arm/mach-bcm2708/Kconfig @@ -0,0 +1,23 @@ @@ -2191,7 +2191,7 @@ index 0000000..6eabe84 +endmenu diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile new file mode 100644 -index 0000000..3da1a1b +index 0000000000000000000000000000000000000000..3da1a1b4ea1fb04ae0b535b2915ea9f386f5701c --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile @@ -0,0 +1,5 @@ @@ -2202,7 +2202,7 @@ index 0000000..3da1a1b +obj-$(CONFIG_MACH_BCM2708) += bcm2708.o diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot new file mode 100644 -index 0000000..67039c3 +index 0000000000000000000000000000000000000000..67039c3e0c48fa6b94f1147b3316f74afcecba9e --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile.boot @@ -0,0 +1,3 @@ @@ -2211,7 +2211,7 @@ index 0000000..67039c3 +initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c new file mode 100644 -index 0000000..280628b +index 0000000000000000000000000000000000000000..280628ba8907d2a4323fc86dfc6db7fc684aeabc --- /dev/null +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -0,0 +1,231 @@ @@ -2448,7 +2448,7 @@ index 0000000..280628b +module_param(reboot_part, uint, 0644); diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S new file mode 100644 -index 0000000..b24304a +index 0000000000000000000000000000000000000000..b24304a6755e965b8a28eb048b7f4e2d868820f9 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S @@ -0,0 +1,22 @@ @@ -2476,7 +2476,7 @@ index 0000000..b24304a +#include diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h new file mode 100644 -index 0000000..e6eb84d +index 0000000000000000000000000000000000000000..e6eb84d71006db417dbd0afc4d08d3b19b09a619 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/io.h @@ -0,0 +1,27 @@ @@ -2509,7 +2509,7 @@ index 0000000..e6eb84d +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h new file mode 100644 -index 0000000..7548a52 +index 0000000000000000000000000000000000000000..7548a52dcf84affa4d1b0667e5e2f89f591891b8 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/memory.h @@ -0,0 +1,57 @@ @@ -2572,7 +2572,7 @@ index 0000000..7548a52 +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h new file mode 100644 -index 0000000..4fb43cf +index 0000000000000000000000000000000000000000..4fb43cf391e50e702d0a0588ceff397c79c501d7 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -0,0 +1,112 @@ @@ -2690,7 +2690,7 @@ index 0000000..4fb43cf +/* END */ diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h new file mode 100644 -index 0000000..c9a9c9a +index 0000000000000000000000000000000000000000..c9a9c9a881102c5354971d15203a746906761a70 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/system.h @@ -0,0 +1,37 @@ @@ -2733,7 +2733,7 @@ index 0000000..c9a9c9a +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h new file mode 100644 -index 0000000..de7504b +index 0000000000000000000000000000000000000000..de7504bfc20ba24be8707861b8389783860adb77 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h @@ -0,0 +1,84 @@ @@ -2823,7 +2823,7 @@ index 0000000..de7504b +#define arch_decomp_wdog() diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h new file mode 100644 -index 0000000..502c617 +index 0000000000000000000000000000000000000000..502c6178101be60b10c9eb31afec938b5534c33f --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h @@ -0,0 +1,20 @@ @@ -2849,7 +2849,7 @@ index 0000000..502c617 +#define VMALLOC_END (0xe8000000) diff --git a/arch/arm/mach-bcm2709/Kconfig b/arch/arm/mach-bcm2709/Kconfig new file mode 100644 -index 0000000..643b4b9 +index 0000000000000000000000000000000000000000..643b4b984512a5f2ae33cee9beffa70a53e005ff --- /dev/null +++ b/arch/arm/mach-bcm2709/Kconfig @@ -0,0 +1,16 @@ @@ -2871,7 +2871,7 @@ index 0000000..643b4b9 +endmenu diff --git a/arch/arm/mach-bcm2709/Makefile b/arch/arm/mach-bcm2709/Makefile new file mode 100644 -index 0000000..26cd67d +index 0000000000000000000000000000000000000000..26cd67d3dc343dbd250fa97855a82c28bbd95af0 --- /dev/null +++ b/arch/arm/mach-bcm2709/Makefile @@ -0,0 +1,5 @@ @@ -2882,7 +2882,7 @@ index 0000000..26cd67d +obj-$(CONFIG_MACH_BCM2709) += bcm2709.o diff --git a/arch/arm/mach-bcm2709/Makefile.boot b/arch/arm/mach-bcm2709/Makefile.boot new file mode 100644 -index 0000000..67039c3 +index 0000000000000000000000000000000000000000..67039c3e0c48fa6b94f1147b3316f74afcecba9e --- /dev/null +++ b/arch/arm/mach-bcm2709/Makefile.boot @@ -0,0 +1,3 @@ @@ -2891,7 +2891,7 @@ index 0000000..67039c3 +initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c new file mode 100644 -index 0000000..90773a3 +index 0000000000000000000000000000000000000000..90773a30b87abbfda1615326c6faf59b9db6d68e --- /dev/null +++ b/arch/arm/mach-bcm2709/bcm2709.c @@ -0,0 +1,380 @@ @@ -3277,7 +3277,7 @@ index 0000000..90773a3 +module_param(reboot_part, uint, 0644); diff --git a/arch/arm/mach-bcm2709/include/mach/debug-macro.S b/arch/arm/mach-bcm2709/include/mach/debug-macro.S new file mode 100644 -index 0000000..b24304a +index 0000000000000000000000000000000000000000..b24304a6755e965b8a28eb048b7f4e2d868820f9 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/debug-macro.S @@ -0,0 +1,22 @@ @@ -3305,7 +3305,7 @@ index 0000000..b24304a +#include diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S new file mode 100644 -index 0000000..d08591b +index 0000000000000000000000000000000000000000..d08591b63c1a1710c40350d343d3eddc97ae74c1 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S @@ -0,0 +1,123 @@ @@ -3434,7 +3434,7 @@ index 0000000..d08591b + .endm diff --git a/arch/arm/mach-bcm2709/include/mach/io.h b/arch/arm/mach-bcm2709/include/mach/io.h new file mode 100644 -index 0000000..e6eb84d +index 0000000000000000000000000000000000000000..e6eb84d71006db417dbd0afc4d08d3b19b09a619 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/io.h @@ -0,0 +1,27 @@ @@ -3467,7 +3467,7 @@ index 0000000..e6eb84d +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/memory.h b/arch/arm/mach-bcm2709/include/mach/memory.h new file mode 100644 -index 0000000..7548a52 +index 0000000000000000000000000000000000000000..7548a52dcf84affa4d1b0667e5e2f89f591891b8 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/memory.h @@ -0,0 +1,57 @@ @@ -3530,7 +3530,7 @@ index 0000000..7548a52 +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h new file mode 100644 -index 0000000..311b9f2 +index 0000000000000000000000000000000000000000..311b9f26fab7dd770bdcd684c7691442b0872d55 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/platform.h @@ -0,0 +1,188 @@ @@ -3724,7 +3724,7 @@ index 0000000..311b9f2 +/* END */ diff --git a/arch/arm/mach-bcm2709/include/mach/system.h b/arch/arm/mach-bcm2709/include/mach/system.h new file mode 100644 -index 0000000..c9a9c9a +index 0000000000000000000000000000000000000000..c9a9c9a881102c5354971d15203a746906761a70 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/system.h @@ -0,0 +1,37 @@ @@ -3767,7 +3767,7 @@ index 0000000..c9a9c9a +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/uncompress.h b/arch/arm/mach-bcm2709/include/mach/uncompress.h new file mode 100644 -index 0000000..de7504b +index 0000000000000000000000000000000000000000..de7504bfc20ba24be8707861b8389783860adb77 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/uncompress.h @@ -0,0 +1,84 @@ @@ -3857,7 +3857,7 @@ index 0000000..de7504b +#define arch_decomp_wdog() diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h new file mode 100644 -index 0000000..4a4a338 +index 0000000000000000000000000000000000000000..4a4a33845cbc02f0e0d5368fed3609f6ba9ff92b --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/vc_mem.h @@ -0,0 +1,35 @@ @@ -3898,7 +3898,7 @@ index 0000000..4a4a338 +#endif /* VC_MEM_H */ diff --git a/arch/arm/mach-bcm2709/include/mach/vmalloc.h b/arch/arm/mach-bcm2709/include/mach/vmalloc.h new file mode 100644 -index 0000000..6aa6826 +index 0000000000000000000000000000000000000000..6aa68260dd866c83527dffece8de483913231fb3 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/vmalloc.h @@ -0,0 +1,20 @@ @@ -3924,7 +3924,7 @@ index 0000000..6aa6826 +#define VMALLOC_END (0xff000000) diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c new file mode 100644 -index 0000000..d2adfd1 +index 0000000000000000000000000000000000000000..d2adfd1db2421984ea8ab8fb809d1adb0765714e --- /dev/null +++ b/arch/arm/mach-bcm2709/vc_mem.c @@ -0,0 +1,431 @@ @@ -4360,7 +4360,7 @@ index 0000000..d2adfd1 +module_param(mem_size, uint, 0644); +module_param(mem_base, uint, 0644); diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S -index 06d890a..30d96e8 100644 +index 06d890a2342b1600e2eae6e350994ad59f5c3a08..30d96e81c0e052c725bdb00bb3df56194023ab9f 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset) @@ -4387,7 +4387,7 @@ index 06d890a..30d96e8 100644 ENTRY(cpu_v6_dcache_clean_area) diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types -index 2ed1b8a..b52d949 100644 +index 2ed1b8a922ed02b9e3545991873af77b4c1bf871..b52d949ee91d96eb7672fbbb4969bfa1e7afc376 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -522,6 +522,8 @@ torbreck MACH_TORBRECK TORBRECK 3090 @@ -4400,7 +4400,7 @@ index 2ed1b8a..b52d949 100644 ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile -index dc2b899..c38fb1a 100644 +index dc2b8997f6e637c0ae83f09b4b6bd4b92bffbf8d..c38fb1af8210f0a494ba58c3b6f1f99e54b88c1e 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -19,7 +19,7 @@ obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o @@ -4413,7 +4413,7 @@ index dc2b899..c38fb1a 100644 obj-$(CONFIG_ARCH_ATLAS7) += timer-atlas7.o obj-$(CONFIG_ARCH_MOXART) += moxart_timer.o diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile -index b03cfcb..70cad6b 100644 +index b03cfcbbac6b949b69c8b2f96ac7d307dd5b54e8..70cad6bd86fa78accb3bb39756442042aa4f2ee0 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -5,6 +5,9 @@ obj-$(CONFIG_ATH79) += irq-ath79-cpu.o @@ -4427,7 +4427,7 @@ index b03cfcb..70cad6b 100644 obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o obj-$(CONFIG_ARCH_MMP) += irq-mmp.o diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 20deb28..c02bf8a 100644 +index 20deb282286834b1f234a65e614b8584688a25d7..c02bf8a9f9970401dc98c4f656c20c35d8070123 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -82,6 +82,7 @@ @@ -4448,7 +4448,7 @@ index 20deb28..c02bf8a 100644 } init_FIQ(FIQ_START); diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h -index 8dd4d29..f7fe8bd 100644 +index 8dd4d290ab0d8608b9596c18da8db1096715badb..f7fe8bd8ac26e68b51359b868a1e1eff3e344bdf 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -291,6 +291,7 @@ struct mmc_host { @@ -4463,7 +4463,7 @@ index 8dd4d29..f7fe8bd 100644 From dbe38bc6b0b6a93f0c7f3d58c18b79ec71371967 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 031/112] reboot: Use power off rather than busy spinning when +Subject: [PATCH 031/141] reboot: Use power off rather than busy spinning when halt is requested --- @@ -4471,7 +4471,7 @@ Subject: [PATCH 031/112] reboot: Use power off rather than busy spinning when 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c -index 71a2ff9..812c15e 100644 +index 71a2ff9ec4900c58677f12114c85c82e8cfaa575..812c15ee02742f4d1578895ac13e1e983a9ce3da 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -102,11 +102,7 @@ void machine_shutdown(void) @@ -4491,7 +4491,7 @@ index 71a2ff9..812c15e 100644 From cd74d63be82b161857e9c1abf8e0b18eb618f386 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 032/112] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 032/141] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4506,7 +4506,7 @@ Subject: [PATCH 032/112] squash: include ARCH_BCM2708 / ARCH_BCM2709 9 files changed, 26 insertions(+), 11 deletions(-) diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 67ee8b0..b3ca2ee 100644 +index 67ee8b08ab5318dca13054e6e1e65da9dcd1c000..b3ca2ee0a8f413151d70db1612ebb07e25416748 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -90,7 +90,7 @@ config HW_RANDOM_BCM63XX @@ -4519,7 +4519,7 @@ index 67ee8b0..b3ca2ee 100644 ---help--- This driver provides kernel-side support for the Random Number diff --git a/drivers/clk/bcm/Makefile b/drivers/clk/bcm/Makefile -index 1d79bd2..fcf1bb5 100644 +index 1d79bd2c36f004669d1dcf78fa681025c3f074e2..fcf1bb5d792111a31226c33dec6b1da309a36e0d 100644 --- a/drivers/clk/bcm/Makefile +++ b/drivers/clk/bcm/Makefile @@ -4,8 +4,8 @@ obj-$(CONFIG_CLK_BCM_KONA) += clk-kona-setup.o @@ -4534,7 +4534,7 @@ index 1d79bd2..fcf1bb5 100644 obj-$(CONFIG_ARCH_BCM_CYGNUS) += clk-cygnus.o obj-$(CONFIG_ARCH_BCM_NSP) += clk-nsp.o diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig -index 5305923..3de0dcb 100644 +index 5305923752d283d31a6c2a0435cf7e68dbf200b7..3de0dcbace67415412405903b720db495ebf76a7 100644 --- a/drivers/mailbox/Kconfig +++ b/drivers/mailbox/Kconfig @@ -74,7 +74,7 @@ config ALTERA_MBOX @@ -4547,7 +4547,7 @@ index 5305923..3de0dcb 100644 An implementation of the BCM2385 Mailbox. It is used to invoke the services of the Videocore. Say Y here if you want to use the diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c -index cfb4b44..d9c6c21 100644 +index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f27006f4edd15 100644 --- a/drivers/mailbox/bcm2835-mailbox.c +++ b/drivers/mailbox/bcm2835-mailbox.c @@ -51,12 +51,15 @@ @@ -4596,7 +4596,7 @@ index cfb4b44..d9c6c21 100644 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile -index e4bc115..d996fe7 100644 +index e4bc1151e04f3c2d7ed0eac8b659ae27244432ba..d996fe7f5b733864f26739aa0988b2466842dc19 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile @@ -35,6 +35,7 @@ obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o @@ -4608,7 +4608,7 @@ index e4bc115..d996fe7 100644 obj-$(CONFIG_PINCTRL_BERLIN) += berlin/ obj-y += freescale/ diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig -index c182efc..fe0f845 100644 +index c182efc62c7bc3ffe31d81a539c88c35f55abac9..fe0f845fa21e1a2fa129814358f172ad3cd4627b 100644 --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig @@ -85,7 +85,7 @@ config PWM_BCM_KONA @@ -4621,7 +4621,7 @@ index c182efc..fe0f845 100644 PWM framework driver for BCM2835 controller (Raspberry Pi) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 9d8c84b..2a27a37 100644 +index 9d8c84bb15446a75153d64f94a5900ab165193ac..2a27a37c54d8cf7c28620744147f7dc97771c3e5 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -94,7 +94,7 @@ config SPI_AXI_SPI_ENGINE @@ -4643,7 +4643,7 @@ index 9d8c84b..2a27a37 100644 This selects a driver for the Broadcom BCM2835 SPI aux master. diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index fb94765..8b2de7f 100644 +index fb947655badd02de231dd0777e88499c8a552044..8b2de7fb47f34888dd81262e793020afdc2dd44d 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -1401,7 +1401,7 @@ config BCM63XX_WDT @@ -4656,7 +4656,7 @@ index fb94765..8b2de7f 100644 help Watchdog driver for the built in watchdog hardware in Broadcom diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 6a834e1..c5070ae 100644 +index 6a834e109f1de47e533d17e87cdc73d8ee86fc4d..c5070aec5996aafb2d9daaf75163e16a29bc6892 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -1,6 +1,6 @@ @@ -4671,7 +4671,7 @@ index 6a834e1..c5070ae 100644 From 857a46fb8b937d7271b576702ee121cccdf355d9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 033/112] Add dwc_otg driver +Subject: [PATCH 033/141] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -5298,7 +5298,7 @@ Signed-off-by: popcornmix create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h -index e6b70d9..a48ccf7 100644 +index e6b70d9d084ea5d369c237f9a3f81c92e331a429..a48ccf7c73d873eb236b61e25a9e1cbde93b60e7 100644 --- a/arch/arm/include/asm/irqflags.h +++ b/arch/arm/include/asm/irqflags.h @@ -162,13 +162,23 @@ static inline unsigned long arch_local_save_flags(void) @@ -5329,7 +5329,7 @@ index e6b70d9..a48ccf7 100644 : "r" (flags) : "memory", "cc"); diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S -index 8dd26e1..eef4847 100644 +index 8dd26e1a9bd69051a1548d99c157cad2e65ba81b..eef484756af2179be8acd76b9ddbd3e983605990 100644 --- a/arch/arm/kernel/fiqasm.S +++ b/arch/arm/kernel/fiqasm.S @@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs) @@ -5341,7 +5341,7 @@ index 8dd26e1..eef4847 100644 + mov pc, r8 +ENDPROC(__FIQ_Branch) diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile -index dca7856..5c467de 100644 +index dca78565eb5500263051e9e1c889d84d6afd8fd9..5c467de6914e742b2ba25eb16e0c08b2e363532c 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -7,6 +7,7 @@ @@ -5353,7 +5353,7 @@ index dca7856..5c467de 100644 obj-$(CONFIG_USB_DWC2) += dwc2/ obj-$(CONFIG_USB_ISP1760) += isp1760/ diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c -index 358ca8d..abaac7c 100644 +index 358ca8dd784fe43700ae070764fa783500a792fe..abaac7c7142d8887c1516957fc52162c0e1683f7 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c @@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_device *udev) @@ -5365,7 +5365,7 @@ index 358ca8d..abaac7c 100644 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ab42bf..292a26c 100644 +index 1ab42bfbecaf6cf7780c87f2ae32a5948e48486e..292a26cefbbc2eee58433d792385f60f88c6a424 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5044,7 +5044,7 @@ static void port_event(struct usb_hub *hub, int port1) @@ -5378,7 +5378,7 @@ index 1ab42bf..292a26c 100644 USB_PORT_FEAT_C_OVER_CURRENT); msleep(100); /* Cool down */ diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 8e641b5..de3ed7d 100644 +index 8e641b5893edb7a6195c34e43248540fbff39aa6..de3ed7d5d3dd3e9b2d20025e0c35a728248f4026 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1909,6 +1909,85 @@ free_interfaces: @@ -5468,7 +5468,7 @@ index 8e641b5..de3ed7d 100644 /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h -index a95b0c9..17b605f 100644 +index a95b0c989c216eca774abd0709451096fda19792..17b605f5e1a3219b2c878e2aeeb45cec8e56ff3a 100644 --- a/drivers/usb/core/otg_whitelist.h +++ b/drivers/usb/core/otg_whitelist.h @@ -19,33 +19,82 @@ @@ -5626,7 +5626,7 @@ index a95b0c9..17b605f 100644 diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c new file mode 100644 -index 0000000..a896d73 +index 0000000000000000000000000000000000000000..a896d73f7a9336f5a34015c44ea5a6b04ce34f10 --- /dev/null +++ b/drivers/usb/gadget/file_storage.c @@ -0,0 +1,3676 @@ @@ -9307,7 +9307,7 @@ index 0000000..a896d73 +} +module_exit(fsg_cleanup); diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index e9d4dde..867dc98 100644 +index e9d4dde3e9b3dac1990d5dc58c8e6c2e196771a5..867dc98d83eb3cf38b50b52a922d5c543aa70a33 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -753,6 +753,19 @@ config USB_HWA_HCD @@ -9331,7 +9331,7 @@ index e9d4dde..867dc98 100644 tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index a9ddd3c..11d7761 100644 +index a9ddd3c9ec9499b556789844eaaad5574a01d887..11d7761c61f59f08289a9b9ab78666cb069ba445 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -73,6 +73,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o @@ -9345,7 +9345,7 @@ index a9ddd3c..11d7761 100644 obj-$(CONFIG_USB_EHCI_FSL) += fsl-mph-dr-of.o diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile new file mode 100644 -index 0000000..f10d466 +index 0000000000000000000000000000000000000000..f10d466d1aea8696fb394aebebb9945e6b79a991 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile @@ -0,0 +1,58 @@ @@ -9409,7 +9409,7 @@ index 0000000..f10d466 + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd new file mode 100644 -index 0000000..45db991 +index 0000000000000000000000000000000000000000..45db9915b9d31f39dd9aaf97772b3c31234c4ce6 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd @@ -0,0 +1,17 @@ @@ -9432,7 +9432,7 @@ index 0000000..45db991 +.include diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux new file mode 100644 -index 0000000..0cef7b4 +index 0000000000000000000000000000000000000000..0cef7b461bd5084f261b28ebd05d62418956956e --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.linux @@ -0,0 +1,49 @@ @@ -9487,7 +9487,7 @@ index 0000000..0cef7b4 + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt new file mode 100644 -index 0000000..f6839f9 +index 0000000000000000000000000000000000000000..f6839f92c2760d8dc29e514a1f6833d356cfd217 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/changes.txt @@ -0,0 +1,174 @@ @@ -9667,7 +9667,7 @@ index 0000000..f6839f9 +library code directly into a driver module, instead of as a standalone module. diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg new file mode 100644 -index 0000000..89aa887 +index 0000000000000000000000000000000000000000..89aa887af29dfc3a71580acec4f10dc7cf00185d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg @@ -0,0 +1,270 @@ @@ -9943,7 +9943,7 @@ index 0000000..89aa887 +SEARCHENGINE = NO diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c new file mode 100644 -index 0000000..5ec2ae2 +index 0000000000000000000000000000000000000000..5ec2ae28698c15d1c441d3104706b04e9f1dde27 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c @@ -0,0 +1,532 @@ @@ -10481,7 +10481,7 @@ index 0000000..5ec2ae2 +#endif /* DWC_CCLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h new file mode 100644 -index 0000000..f86e6f2 +index 0000000000000000000000000000000000000000..f86e6f21792b9961bda7d569f4d35f7076947546 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h @@ -0,0 +1,224 @@ @@ -10711,7 +10711,7 @@ index 0000000..f86e6f2 +#endif /* _DWC_CC_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c new file mode 100644 -index 0000000..6dd04b5 +index 0000000000000000000000000000000000000000..6dd04b58f8f6c6d5ddad3b0b0148ff5dd936ac28 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c @@ -0,0 +1,1308 @@ @@ -12025,7 +12025,7 @@ index 0000000..6dd04b5 +} diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c new file mode 100644 -index 0000000..4664684 +index 0000000000000000000000000000000000000000..46646841dda96fb2bed01152de552ccac5f0e5e4 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c @@ -0,0 +1,1433 @@ @@ -13464,7 +13464,7 @@ index 0000000..4664684 +#endif /* DWC_LIBMODULE */ diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c new file mode 100644 -index 0000000..49b07e1 +index 0000000000000000000000000000000000000000..49b07e1722645105e0433dceaec91add3412523f --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c @@ -0,0 +1,1275 @@ @@ -14745,7 +14745,7 @@ index 0000000..49b07e1 +} diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c new file mode 100644 -index 0000000..3b03532 +index 0000000000000000000000000000000000000000..3b0353296148f6297b5bdc2f45e9fe92a17c680d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c @@ -0,0 +1,308 @@ @@ -15059,7 +15059,7 @@ index 0000000..3b03532 +#endif /* DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h new file mode 100644 -index 0000000..26fcddc +index 0000000000000000000000000000000000000000..26fcddcfe9ba4b83c921cd2ef8498021176a287f --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h @@ -0,0 +1,111 @@ @@ -15176,7 +15176,7 @@ index 0000000..26fcddc +#endif /* _DWC_CRYPTO_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c new file mode 100644 -index 0000000..2b429a3 +index 0000000000000000000000000000000000000000..2b429a32aaf0903c2b73e9aa30ef78ba280393ee --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c @@ -0,0 +1,291 @@ @@ -15473,7 +15473,7 @@ index 0000000..2b429a3 +#endif /* DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h new file mode 100644 -index 0000000..25c1cc0 +index 0000000000000000000000000000000000000000..25c1cc0d588a44b7c3594c21031e32daca2d38cc --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h @@ -0,0 +1,106 @@ @@ -15585,7 +15585,7 @@ index 0000000..25c1cc0 +#endif /* _DWC_DH_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h new file mode 100644 -index 0000000..4ce560d +index 0000000000000000000000000000000000000000..4ce560df0cae63c7adea9af95daf4e087870346d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_list.h @@ -0,0 +1,594 @@ @@ -16185,7 +16185,7 @@ index 0000000..4ce560d +#endif /* _DWC_LIST_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c new file mode 100644 -index 0000000..ad645ff +index 0000000000000000000000000000000000000000..ad645ff1ba7e06c852440396767e69279b3b31db --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c @@ -0,0 +1,245 @@ @@ -16436,7 +16436,7 @@ index 0000000..ad645ff +#endif /* DWC_DEBUG_MEMORY */ diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c new file mode 100644 -index 0000000..2004538 +index 0000000000000000000000000000000000000000..20045381208a31d5dfb420318b0a4fbb1eca51a1 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c @@ -0,0 +1,636 @@ @@ -17078,7 +17078,7 @@ index 0000000..2004538 +#endif /*DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h new file mode 100644 -index 0000000..64f00c2 +index 0000000000000000000000000000000000000000..64f00c276e71bf2e1d58bc9e02ff64c13489dbd4 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h @@ -0,0 +1,34 @@ @@ -17118,7 +17118,7 @@ index 0000000..64f00c2 +#endif /* _LINUX_BIGNUM_H */ diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c new file mode 100644 -index 0000000..8b3772a +index 0000000000000000000000000000000000000000..8b3772afe11d1d81bdb7cabe335f0f3bc834fb7a --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c @@ -0,0 +1,319 @@ @@ -17443,7 +17443,7 @@ index 0000000..8b3772a +#endif /* DWC_NOTIFYLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h new file mode 100644 -index 0000000..4a8cdfe +index 0000000000000000000000000000000000000000..4a8cdfe565b1fcefb400706dc7bc13cf69a9d3b2 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h @@ -0,0 +1,122 @@ @@ -17571,7 +17571,7 @@ index 0000000..4a8cdfe +#endif /* __DWC_NOTIFIER_H__ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h new file mode 100644 -index 0000000..a2bbe23 +index 0000000000000000000000000000000000000000..a2bbe232ffc3b58001d026864c3019792cdf5efa --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_os.h @@ -0,0 +1,1276 @@ @@ -18853,7 +18853,7 @@ index 0000000..a2bbe23 +#endif /* _DWC_OS_H_ */ diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h new file mode 100644 -index 0000000..27bda82 +index 0000000000000000000000000000000000000000..27bda82dac2eb27923120c43aac3610974610221 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/usb.h @@ -0,0 +1,946 @@ @@ -19805,7 +19805,7 @@ index 0000000..27bda82 +#endif /* _USB_H_ */ diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile new file mode 100644 -index 0000000..e7bdd12 +index 0000000000000000000000000000000000000000..e7bdd12015fee1727a7956ae3e3b2786e88892c1 --- /dev/null +++ b/drivers/usb/host/dwc_otg/Makefile @@ -0,0 +1,82 @@ @@ -19893,7 +19893,7 @@ index 0000000..e7bdd12 +endif diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg new file mode 100644 -index 0000000..712b057 +index 0000000000000000000000000000000000000000..712b057ef7c293e8ddfa95d89e2471fb96a38006 --- /dev/null +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg @@ -0,0 +1,224 @@ @@ -20123,7 +20123,7 @@ index 0000000..712b057 +SEARCHENGINE = NO diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c new file mode 100644 -index 0000000..225decf +index 0000000000000000000000000000000000000000..225decf765ce825b896ba98771ccb19c20d99404 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dummy_audio.c @@ -0,0 +1,1575 @@ @@ -21704,7 +21704,7 @@ index 0000000..225decf +module_exit (cleanup); diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h new file mode 100644 -index 0000000..7770e20 +index 0000000000000000000000000000000000000000..7770e201ad3bd877f1bb613284091301d084ade9 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h @@ -0,0 +1,142 @@ @@ -21852,7 +21852,7 @@ index 0000000..7770e20 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c new file mode 100644 -index 0000000..ce0618d +index 0000000000000000000000000000000000000000..ce0618dd3f4a6b2b2e7e65ba75f1214faca7c6f0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c @@ -0,0 +1,854 @@ @@ -22712,7 +22712,7 @@ index 0000000..ce0618d +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h new file mode 100644 -index 0000000..4110b25 +index 0000000000000000000000000000000000000000..4110b25d2002ed64a760cf41bbf81c903b5bc572 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h @@ -0,0 +1,80 @@ @@ -22798,7 +22798,7 @@ index 0000000..4110b25 +#endif //__DWC_OTG_ADP_H__ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c new file mode 100644 -index 0000000..9da0c92 +index 0000000000000000000000000000000000000000..9da0c92aaeca2fc393016442cc6578cb4a52c978 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c @@ -0,0 +1,1210 @@ @@ -24014,7 +24014,7 @@ index 0000000..9da0c92 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h new file mode 100644 -index 0000000..e10b67f +index 0000000000000000000000000000000000000000..e10b67f97c522094b553b7675741ba1b3cae293d --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h @@ -0,0 +1,89 @@ @@ -24109,7 +24109,7 @@ index 0000000..e10b67f +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c new file mode 100644 -index 0000000..bbb3d32 +index 0000000000000000000000000000000000000000..bbb3d32093d029e93f903bd76f45a3f715e55afd --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c @@ -0,0 +1,1876 @@ @@ -25991,7 +25991,7 @@ index 0000000..bbb3d32 +#endif //DWC_UTE_CFI diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h new file mode 100644 -index 0000000..55fd337 +index 0000000000000000000000000000000000000000..55fd337a283c39512eb1409dfc1183c56dfd7680 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h @@ -0,0 +1,320 @@ @@ -26317,7 +26317,7 @@ index 0000000..55fd337 +#endif /* (__DWC_OTG_CFI_H__) */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c new file mode 100644 -index 0000000..38abd0b +index 0000000000000000000000000000000000000000..38abd0b1f0341b50a2d7ad7493e2d09b6b8a55a9 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c @@ -0,0 +1,7141 @@ @@ -33464,7 +33464,7 @@ index 0000000..38abd0b +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h new file mode 100644 -index 0000000..79dbf83 +index 0000000000000000000000000000000000000000..79dbf8374f023e262e3bfb755ff0f67604a456cb --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h @@ -0,0 +1,1464 @@ @@ -34934,7 +34934,7 @@ index 0000000..79dbf83 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c new file mode 100644 -index 0000000..96c76e3 +index 0000000000000000000000000000000000000000..96c76e38cd372b8ca8c375ae8d8653f32a3faf80 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -0,0 +1,1594 @@ @@ -36534,7 +36534,7 @@ index 0000000..96c76e3 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h new file mode 100644 -index 0000000..4138fd1 +index 0000000000000000000000000000000000000000..4138fd173337dd566d402d5b924d4dc121e32428 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h @@ -0,0 +1,705 @@ @@ -37245,7 +37245,7 @@ index 0000000..4138fd1 +#endif /* __DWC_CORE_IF_H__ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h new file mode 100644 -index 0000000..ccc24e0 +index 0000000000000000000000000000000000000000..ccc24e010e449cbda488050d901e9a3995236e33 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h @@ -0,0 +1,117 @@ @@ -37368,7 +37368,7 @@ index 0000000..ccc24e0 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c new file mode 100644 -index 0000000..cb060a7 +index 0000000000000000000000000000000000000000..cb060a7179a3eec791506ed2779b553cad9841b0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -0,0 +1,1757 @@ @@ -39131,7 +39131,7 @@ index 0000000..cb060a7 +*/ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h new file mode 100644 -index 0000000..6a8be63 +index 0000000000000000000000000000000000000000..6a8be63a0ab20f4e1c56251b85648aa2a1d66383 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h @@ -0,0 +1,86 @@ @@ -39223,7 +39223,7 @@ index 0000000..6a8be63 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c new file mode 100644 -index 0000000..85d82f3 +index 0000000000000000000000000000000000000000..85d82f31cb49631f03b23631882d2b6c063b33db --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c @@ -0,0 +1,1355 @@ @@ -40584,7 +40584,7 @@ index 0000000..85d82f3 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h new file mode 100644 -index 0000000..f9fddfb +index 0000000000000000000000000000000000000000..f9fddfbcffb37f32c808fd78f222b676378398b1 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h @@ -0,0 +1,370 @@ @@ -40960,7 +40960,7 @@ index 0000000..f9fddfb +#endif /* DWC_OTG_FIQ_FSM_H_ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S new file mode 100644 -index 0000000..ffa8d21 +index 0000000000000000000000000000000000000000..ffa8d21bc61e893fee86ba04955587e7661d3ff2 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S @@ -0,0 +1,80 @@ @@ -41046,7 +41046,7 @@ index 0000000..ffa8d21 +END(_dwc_otg_fiq_stub) diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c new file mode 100644 -index 0000000..135b611 +index 0000000000000000000000000000000000000000..135b611abe08e141c937612ab7baada6b13113fc --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -0,0 +1,4257 @@ @@ -45309,7 +45309,7 @@ index 0000000..135b611 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h new file mode 100644 -index 0000000..43dbed9 +index 0000000000000000000000000000000000000000..43dbed9fddbf5491bab33cc6e551b99ca8dce7dc --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -0,0 +1,862 @@ @@ -46177,7 +46177,7 @@ index 0000000..43dbed9 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c new file mode 100644 -index 0000000..ee920c4 +index 0000000000000000000000000000000000000000..ee920c4d8f4a2980e4406cb878b81d809fec4e70 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c @@ -0,0 +1,1132 @@ @@ -47315,7 +47315,7 @@ index 0000000..ee920c4 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h new file mode 100644 -index 0000000..fb57db0 +index 0000000000000000000000000000000000000000..fb57db09378f4ab95d57cb58aa570a915ccb61c3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h @@ -0,0 +1,417 @@ @@ -47738,7 +47738,7 @@ index 0000000..fb57db0 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c new file mode 100644 -index 0000000..e6b38ac +index 0000000000000000000000000000000000000000..e6b38ac330b72152204c2a6879c20f0ce02ac2e5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -0,0 +1,2727 @@ @@ -50471,7 +50471,7 @@ index 0000000..e6b38ac +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c new file mode 100644 -index 0000000..2ceed42 +index 0000000000000000000000000000000000000000..2ceed4212980f04ad082e78851c6a7e83aee1443 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -0,0 +1,1005 @@ @@ -51482,7 +51482,7 @@ index 0000000..2ceed42 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c new file mode 100644 -index 0000000..3b2a607 +index 0000000000000000000000000000000000000000..3b2a60763b92fb2e9261a8ade3d4b33e3896cd62 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -0,0 +1,962 @@ @@ -52450,7 +52450,7 @@ index 0000000..3b2a607 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h new file mode 100644 -index 0000000..6b2c7d0 +index 0000000000000000000000000000000000000000..6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h @@ -0,0 +1,188 @@ @@ -52644,7 +52644,7 @@ index 0000000..6b2c7d0 +#endif /* _DWC_OS_DEP_H_ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c new file mode 100644 -index 0000000..ae0c72d +index 0000000000000000000000000000000000000000..ae0c72d02d007d5e7ce0f2dfb79b35d3d7ef86b8 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c @@ -0,0 +1,2712 @@ @@ -55362,7 +55362,7 @@ index 0000000..ae0c72d +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h new file mode 100644 -index 0000000..8ef7ba6 +index 0000000000000000000000000000000000000000..8ef7ba648ad92b9b7e141f22db2a0c2837ddcfa8 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h @@ -0,0 +1,266 @@ @@ -55634,7 +55634,7 @@ index 0000000..8ef7ba6 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h new file mode 100644 -index 0000000..c8d2e0e +index 0000000000000000000000000000000000000000..c8d2e0e0c99486558a4964a8c82de80c64b496b4 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h @@ -0,0 +1,360 @@ @@ -56000,7 +56000,7 @@ index 0000000..c8d2e0e +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c new file mode 100644 -index 0000000..c8590b5 +index 0000000000000000000000000000000000000000..c8590b527110753b8064d35fab4c34226d094f84 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c @@ -0,0 +1,5147 @@ @@ -61153,7 +61153,7 @@ index 0000000..c8590b5 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c new file mode 100644 -index 0000000..0eb0f35 +index 0000000000000000000000000000000000000000..0eb0f3572d1230fdd23966c47ba9370d22bb8cb5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c @@ -0,0 +1,1280 @@ @@ -62439,7 +62439,7 @@ index 0000000..0eb0f35 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h new file mode 100644 -index 0000000..8e0e7b5 +index 0000000000000000000000000000000000000000..8e0e7b569f1ac00fdbf3cdd2e22102cf195c74b7 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h @@ -0,0 +1,2550 @@ @@ -64995,7 +64995,7 @@ index 0000000..8e0e7b5 +#endif diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile new file mode 100644 -index 0000000..fc45375 +index 0000000000000000000000000000000000000000..fc453759dea3e88b8f79a1a151bbcaab7e242899 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/Makefile @@ -0,0 +1,16 @@ @@ -65017,7 +65017,7 @@ index 0000000..fc45375 + done diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm new file mode 100644 -index 0000000..85e55fd +index 0000000000000000000000000000000000000000..85e55fd6ddbc78051d65a11125d4265aea6c24e3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm @@ -0,0 +1,337 @@ @@ -65360,7 +65360,7 @@ index 0000000..85e55fd +1; diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl new file mode 100644 -index 0000000..dc3820d +index 0000000000000000000000000000000000000000..dc3820df577bae2c51bc2b1cef57ac9c4fdfc6e5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl @@ -0,0 +1,133 @@ @@ -65499,7 +65499,7 @@ index 0000000..dc3820d +0; diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl new file mode 100644 -index 0000000..cdc9963 +index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c578d7130a --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl @@ -0,0 +1,193 @@ @@ -65700,7 +65700,7 @@ index 0000000..cdc9963 From 9c0052e0a433612ee04fc7fbfbc5a23787f1ab14 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 034/112] bcm2708 framebuffer driver +Subject: [PATCH 034/141] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65782,7 +65782,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/video/fbdev/bcm2708_fb.c diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 983280e..ee72c3a 100644 +index 983280e8d93f3df4030c737978402ada4deaed10..ee72c3a2866f716cd68c646b7c501589a05b48f5 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -228,6 +228,20 @@ config FB_TILEBLITTING @@ -65807,7 +65807,7 @@ index 983280e..ee72c3a 100644 tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index 65fb150..df473d8 100644 +index 65fb15075c8f7f150febb09966766287c3aa0e07..df473d825c2e2481a871d794317e56b8d643370f 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o @@ -65820,7 +65820,7 @@ index 65fb150..df473d8 100644 obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c new file mode 100644 -index 0000000..cae5aab +index 0000000000000000000000000000000000000000..cae5aab6848d1c6e82993f8b809dc937babeba30 --- /dev/null +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -0,0 +1,844 @@ @@ -66669,7 +66669,7 @@ index 0000000..cae5aab +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer"); +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes"); diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm -index 3c14e43..7626beb 100644 +index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f66ae85d0 100644 --- a/drivers/video/logo/logo_linux_clut224.ppm +++ b/drivers/video/logo/logo_linux_clut224.ppm @@ -1,1604 +1,883 @@ @@ -69162,7 +69162,7 @@ index 3c14e43..7626beb 100644 From eff8e2e15b825e912a7e72e8c7eb3130a2d0699f Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 035/112] dmaengine: Add support for BCM2708 +Subject: [PATCH 035/141] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69319,7 +69319,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/platform_data/dma-bcm2708.h diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 4d0425c..b7863f0 100644 +index 4d0425c820d476fc7e5d5acf12a32de074c91b1d..b7863f0cf95ca656859a355098aa334e20d121c3 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -474,6 +474,10 @@ config TIMB_DMA @@ -69334,7 +69334,7 @@ index 4d0425c..b7863f0 100644 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index 6084127..8188c36 100644 +index 6084127c14866ced0bef9865c8e5d9ffb13c16b6..8188c368a85f12950220942c28791bdc952c8848 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o @@ -69347,7 +69347,7 @@ index 6084127..8188c36 100644 obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c new file mode 100644 -index 0000000..56f18dc +index 0000000000000000000000000000000000000000..56f18dc4aa5627625e9620daa9d6482e0098af7e --- /dev/null +++ b/drivers/dma/bcm2708-dmaengine.c @@ -0,0 +1,281 @@ @@ -69634,7 +69634,7 @@ index 0000000..56f18dc +MODULE_LICENSE("GPL"); diff --git a/include/linux/platform_data/dma-bcm2708.h b/include/linux/platform_data/dma-bcm2708.h new file mode 100644 -index 0000000..99cc7fd +index 0000000000000000000000000000000000000000..99cc7fdbf543207208bf3638a0d4dbb6ec4ea8c2 --- /dev/null +++ b/include/linux/platform_data/dma-bcm2708.h @@ -0,0 +1,143 @@ @@ -69785,7 +69785,7 @@ index 0000000..99cc7fd From 2cc7ab14c498858876361c2fce89d979d0cc3839 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 036/112] MMC: added alternative MMC driver +Subject: [PATCH 036/141] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69876,7 +69876,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-mmc.c diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c -index fad660b..b79fe14 100644 +index fad660b95809224e3a06abde0709be3d50acf307..b79fe14c18f1fe521fadf8adfc136de62140c8b9 100644 --- a/drivers/mmc/core/quirks.c +++ b/drivers/mmc/core/quirks.c @@ -53,6 +53,9 @@ static const struct mmc_fixup mmc_fixup_methods[] = { @@ -69903,7 +69903,7 @@ index fad660b..b79fe14 100644 } EXPORT_SYMBOL(mmc_fixup_device); diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index e657af0..0476061 100644 +index e657af0e95fafce5bf65e0127540339dfbbb2ba5..04760616f94ce470a73d7ac99f27631db80849b5 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -4,6 +4,35 @@ @@ -69943,7 +69943,7 @@ index e657af0..0476061 100644 tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index af918d2..3ba94f0 100644 +index af918d261ff9625d1d42146da1173031cd9917dd..3ba94f0af9b1793aa66d95d8fbd9bb661ca82778 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -69956,7 +69956,7 @@ index af918d2..3ba94f0 100644 obj-$(CONFIG_MMC_MTK) += mtk-sd.o diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c new file mode 100644 -index 0000000..ceb3793 +index 0000000000000000000000000000000000000000..ceb37930e167f47c9c848e8de757ad098eec9a19 --- /dev/null +++ b/drivers/mmc/host/bcm2835-mmc.c @@ -0,0 +1,1571 @@ @@ -71535,7 +71535,7 @@ index 0000000..ceb3793 From 1dba91fa3b6ad00a2d1cb90effab5772d73e07df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 037/112] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 037/141] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71687,7 +71687,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-sdhost.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 0476061..2595474 100644 +index 04760616f94ce470a73d7ac99f27631db80849b5..259547484f859ae69c65af13bcbb1d06b53e29ac 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -33,6 +33,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER @@ -71708,7 +71708,7 @@ index 0476061..2595474 100644 tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 3ba94f0..8daaa94 100644 +index 3ba94f0af9b1793aa66d95d8fbd9bb661ca82778..8daaa94ab268495bbbf335ccad5a35e2d37b6fe5 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -71721,7 +71721,7 @@ index 3ba94f0..8daaa94 100644 obj-$(CONFIG_MMC_AU1X) += au1xmmc.o diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c new file mode 100644 -index 0000000..a57faed +index 0000000000000000000000000000000000000000..a57faedd8ba71a38d057664f3b7e599026d43785 --- /dev/null +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -0,0 +1,2158 @@ @@ -73887,7 +73887,7 @@ index 0000000..a57faed From 268751484e188e6aade41856b663578dc29304ce Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 038/112] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 038/141] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -73916,7 +73916,7 @@ Signed-off-by: Phil Elwell 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c -index b0a2741..9ce8676 100644 +index b0a27413cb1348052d68e783ce307d545f789e42..9ce8676ff613f5e63503f8280afd6d73ce9dca60 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -132,6 +132,13 @@ enum { @@ -73995,7 +73995,7 @@ index b0a2741..9ce8676 100644 if (mmc_blk_alloc_parts(card, md)) goto out; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 9eba56c..4b1ff84 100644 +index 9eba56c68ca134f02a8328fe6bcd4ea0bcc7a45f..4b1ff84e016f6ba2a9387c54d999205696f056f7 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2253,7 +2253,8 @@ EXPORT_SYMBOL(mmc_erase); @@ -74009,7 +74009,7 @@ index 9eba56c..4b1ff84 100644 return 0; } diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h -index eb0151b..fa4e645 100644 +index eb0151bac50c1fd796f479d017bc3c3d7017c9e9..fa4e6454456747f02a10621f4f4da3ac1a5be2c1 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -281,6 +281,9 @@ struct mmc_card { @@ -74026,7 +74026,7 @@ index eb0151b..fa4e645 100644 From 284795b2743ddf50b68885221b6d20bc2b3d57c2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 039/112] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 039/141] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74058,7 +74058,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/broadcom/vc_cma.h diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 3ec0766..aec9337 100644 +index 3ec0766ed5e97a80390f3e8dcbe009c4414c9cf2..aec9337379b730de016972fb523bebb7a7c6aff7 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -4,6 +4,8 @@ @@ -74071,7 +74071,7 @@ index 3ec0766..aec9337 100644 config DEVMEM diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index d8a7579..9d8662e 100644 +index d8a7579300d2df1112446c3a69a29713fd2af163..9d8662e2ccc637cabb56e31c936ca23bcc15e120 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -60,3 +60,4 @@ js-rtc-y = rtc.o @@ -74081,7 +74081,7 @@ index d8a7579..9d8662e 100644 +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/ diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig new file mode 100644 -index 0000000..2d8bd6e +index 0000000000000000000000000000000000000000..2d8bd6e5016aab7340636c1f5dc4dd0cbacae6c0 --- /dev/null +++ b/drivers/char/broadcom/Kconfig @@ -0,0 +1,15 @@ @@ -74102,14 +74102,14 @@ index 0000000..2d8bd6e + Helper for videocore CMA access. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile new file mode 100644 -index 0000000..13c5bca +index 0000000000000000000000000000000000000000..13c5bca291ccc0df090c4e61169ace8f18ba60fe --- /dev/null +++ b/drivers/char/broadcom/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_BCM_VC_CMA) += vc_cma/ diff --git a/drivers/char/broadcom/vc_cma/Makefile b/drivers/char/broadcom/vc_cma/Makefile new file mode 100644 -index 0000000..6a94de4 +index 0000000000000000000000000000000000000000..6a94de4a7576f7c608f5bd01eb9f21a1a852120f --- /dev/null +++ b/drivers/char/broadcom/vc_cma/Makefile @@ -0,0 +1,14 @@ @@ -74129,7 +74129,7 @@ index 0000000..6a94de4 +vc-cma-objs := vc_cma.o diff --git a/drivers/char/broadcom/vc_cma/vc_cma.c b/drivers/char/broadcom/vc_cma/vc_cma.c new file mode 100644 -index 0000000..85f6e9d +index 0000000000000000000000000000000000000000..85f6e9da9e5baa0abfba618a171881c078f38496 --- /dev/null +++ b/drivers/char/broadcom/vc_cma/vc_cma.c @@ -0,0 +1,1193 @@ @@ -75328,7 +75328,7 @@ index 0000000..85f6e9d +MODULE_AUTHOR("Broadcom Corporation"); diff --git a/include/linux/broadcom/vc_cma.h b/include/linux/broadcom/vc_cma.h new file mode 100644 -index 0000000..be2819d +index 0000000000000000000000000000000000000000..be2819d5d41f9d5ed65daf8eedb94c9e9a4c2f1a --- /dev/null +++ b/include/linux/broadcom/vc_cma.h @@ -0,0 +1,36 @@ @@ -75372,7 +75372,7 @@ index 0000000..be2819d From 869fdce5e879e33da9112158f3d1aab158691c7e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 040/112] bcm2708: alsa sound driver +Subject: [PATCH 040/141] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -75435,7 +75435,7 @@ probably always be called under our own audio lock. create mode 100644 sound/arm/vc_vchi_audioserv_defs.h diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig -index e040621..7746e5d2 100644 +index e0406211716b003daae37efbc8cdfd73213b31f3..7746e5d28d49f2ea9161546b35ae278a718101b5 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -40,5 +40,13 @@ config SND_PXA2XX_AC97 @@ -75453,7 +75453,7 @@ index e040621..7746e5d2 100644 endif # SND_ARM diff --git a/sound/arm/Makefile b/sound/arm/Makefile -index 8c0c851..6796d7f 100644 +index 8c0c851d464109819beb296c2624bbec7af131e9..6796d7f5c7803ccfdaadbe56b2520c5454678686 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile @@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97) += pxa2xx-ac97-lib.o @@ -75467,7 +75467,7 @@ index 8c0c851..6796d7f 100644 +ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c new file mode 100755 -index 0000000..75dc322 +index 0000000000000000000000000000000000000000..75dc3224be7ce8353378e9676ad2c6847dd0750b --- /dev/null +++ b/sound/arm/bcm2835-ctl.c @@ -0,0 +1,350 @@ @@ -75823,7 +75823,7 @@ index 0000000..75dc322 +} diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c new file mode 100755 -index 0000000..d2de13c +index 0000000000000000000000000000000000000000..d2de13cbd76ed16634f27c0843474825671a28eb --- /dev/null +++ b/sound/arm/bcm2835-pcm.c @@ -0,0 +1,561 @@ @@ -76390,7 +76390,7 @@ index 0000000..d2de13c +} diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c new file mode 100755 -index 0000000..3de3094 +index 0000000000000000000000000000000000000000..3de30945d8155b90d244734881a7caa81930fa7c --- /dev/null +++ b/sound/arm/bcm2835-vchiq.c @@ -0,0 +1,902 @@ @@ -77298,7 +77298,7 @@ index 0000000..3de3094 +MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio"); diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c new file mode 100644 -index 0000000..7a2ed78 +index 0000000000000000000000000000000000000000..7a2ed78ba19912aad37d46430c7ab36899880581 --- /dev/null +++ b/sound/arm/bcm2835.c @@ -0,0 +1,511 @@ @@ -77815,7 +77815,7 @@ index 0000000..7a2ed78 +MODULE_ALIAS("platform:bcm2835_alsa"); diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h new file mode 100755 -index 0000000..0f71c5d +index 0000000000000000000000000000000000000000..0f71c5def314a63252fa4fe18ae2ba5a339f2cfb --- /dev/null +++ b/sound/arm/bcm2835.h @@ -0,0 +1,167 @@ @@ -77988,7 +77988,7 @@ index 0000000..0f71c5d +#endif /* __SOUND_ARM_BCM2835_H */ diff --git a/sound/arm/vc_vchi_audioserv_defs.h b/sound/arm/vc_vchi_audioserv_defs.h new file mode 100644 -index 0000000..af3e6eb +index 0000000000000000000000000000000000000000..af3e6eb690113fc32ce9e06bd2f0f294da7a7f00 --- /dev/null +++ b/sound/arm/vc_vchi_audioserv_defs.h @@ -0,0 +1,116 @@ @@ -78112,7 +78112,7 @@ index 0000000..af3e6eb From ffa8b498a24627e17d91222019995ffcbd8987c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 041/112] bcm2708 vchiq driver +Subject: [PATCH 041/141] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -78399,7 +78399,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index 4fb43cf..e98ec5a 100644 +index 4fb43cf391e50e702d0a0588ceff397c79c501d7..e98ec5acc70ba9eb2bc7ff560ed3c92e21518b73 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -78,6 +78,8 @@ @@ -78412,7 +78412,7 @@ index 4fb43cf..e98ec5a 100644 /* * Watchdog diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h -index 311b9f2..9a638f5 100644 +index 311b9f26fab7dd770bdcd684c7691442b0872d55..9a638f528fcebc9206419a2cc68f3c9856dda3c3 100644 --- a/arch/arm/mach-bcm2709/include/mach/platform.h +++ b/arch/arm/mach-bcm2709/include/mach/platform.h @@ -78,6 +78,8 @@ @@ -78425,7 +78425,7 @@ index 311b9f2..9a638f5 100644 /* * Watchdog diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index a216b46..90af750 100644 +index a216b46677429402168c587c638cc1d710632960..90af750e589982a5dcd854f54e8270d935ea6768 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -812,6 +812,7 @@ source "drivers/misc/lis3lv02d/Kconfig" @@ -78437,7 +78437,7 @@ index a216b46..90af750 100644 source "drivers/misc/genwqe/Kconfig" source "drivers/misc/echo/Kconfig" diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index b2fb6dbf..1a58cf7 100644 +index b2fb6dbffcef0c4999439287b3e1c1a10bdcf264..1a58cf720b9a162ac654b7a8dc21855363f34136 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -51,6 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/ @@ -78450,7 +78450,7 @@ index b2fb6dbf..1a58cf7 100644 obj-$(CONFIG_ECHO) += echo/ diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig new file mode 100644 -index 0000000..db8e1be +index 0000000000000000000000000000000000000000..db8e1beb89f9f8c48ea5964016c8285ea82497d8 --- /dev/null +++ b/drivers/misc/vc04_services/Kconfig @@ -0,0 +1,9 @@ @@ -78465,7 +78465,7 @@ index 0000000..db8e1be + are included in the build, N otherwise. diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile new file mode 100644 -index 0000000..8d038fe +index 0000000000000000000000000000000000000000..8d038feb42105cb2cad688690086ba69379b12e1 --- /dev/null +++ b/drivers/misc/vc04_services/Makefile @@ -0,0 +1,14 @@ @@ -78485,7 +78485,7 @@ index 0000000..8d038fe + diff --git a/drivers/misc/vc04_services/interface/vchi/connections/connection.h b/drivers/misc/vc04_services/interface/vchi/connections/connection.h new file mode 100644 -index 0000000..fef6ac3 +index 0000000000000000000000000000000000000000..fef6ac34c6d2c04dfdba66f33850e72c24c613c2 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h @@ -0,0 +1,328 @@ @@ -78819,7 +78819,7 @@ index 0000000..fef6ac3 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h new file mode 100644 -index 0000000..8b3f767 +index 0000000000000000000000000000000000000000..8b3f76735bd45ab09a12dc6e17e335241fd11755 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h @@ -0,0 +1,204 @@ @@ -79029,7 +79029,7 @@ index 0000000..8b3f767 +/****************************** End of file ***********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi.h b/drivers/misc/vc04_services/interface/vchi/vchi.h new file mode 100644 -index 0000000..1b17e98 +index 0000000000000000000000000000000000000000..1b17e98f737979eef19906609bc19ecd19455618 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi.h @@ -0,0 +1,378 @@ @@ -79413,7 +79413,7 @@ index 0000000..1b17e98 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h new file mode 100644 -index 0000000..26bc2d3 +index 0000000000000000000000000000000000000000..26bc2d38d725e3c4c24a4cb894da11e65d01625a --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h @@ -0,0 +1,224 @@ @@ -79643,7 +79643,7 @@ index 0000000..26bc2d3 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h new file mode 100644 -index 0000000..35dcba4 +index 0000000000000000000000000000000000000000..35dcba4837d492307f3b273acaefa752cdbd6478 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h @@ -0,0 +1,71 @@ @@ -79720,7 +79720,7 @@ index 0000000..35dcba4 +#endif /*VCHI_CFG_INTERNAL_H_*/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_common.h b/drivers/misc/vc04_services/interface/vchi/vchi_common.h new file mode 100644 -index 0000000..d535a72 +index 0000000000000000000000000000000000000000..d535a72970d3f1ee63d2038550db8f4e43589c72 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h @@ -0,0 +1,175 @@ @@ -79901,7 +79901,7 @@ index 0000000..d535a72 +#endif // VCHI_COMMON_H_ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_mh.h b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h new file mode 100644 -index 0000000..198bd07 +index 0000000000000000000000000000000000000000..198bd076b6668d729e0b6619a1f38eb927a2398b --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h @@ -0,0 +1,42 @@ @@ -79949,7 +79949,7 @@ index 0000000..198bd07 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h new file mode 100644 -index 0000000..ad398ba +index 0000000000000000000000000000000000000000..ad398bae6ee4c3d64fc1a37808398397a9a0fefe --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h @@ -0,0 +1,40 @@ @@ -79995,7 +79995,7 @@ index 0000000..ad398ba +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h new file mode 100644 -index 0000000..7ea5c64 +index 0000000000000000000000000000000000000000..7ea5c64d5343d43786903161518ef1ce0287e27d --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h @@ -0,0 +1,42 @@ @@ -80043,7 +80043,7 @@ index 0000000..7ea5c64 +#endif /* VCHIQ_2835_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c new file mode 100644 -index 0000000..4cb5bff +index 0000000000000000000000000000000000000000..4cb5bff237288a4ee80d80ba53a2efe96f2749f3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c @@ -0,0 +1,586 @@ @@ -80635,7 +80635,7 @@ index 0000000..4cb5bff +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c new file mode 100644 -index 0000000..51e6018 +index 0000000000000000000000000000000000000000..51e6018f413ca177146adfc4a2b947dbd860cf90 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -0,0 +1,2920 @@ @@ -83561,7 +83561,7 @@ index 0000000..51e6018 +MODULE_AUTHOR("Broadcom Corporation"); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h new file mode 100644 -index 0000000..9740e1a +index 0000000000000000000000000000000000000000..9740e1afbc9dc6223f2fea5106916062a3e783ce --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -0,0 +1,220 @@ @@ -83787,7 +83787,7 @@ index 0000000..9740e1a +#endif /* VCHIQ_ARM_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h new file mode 100644 -index 0000000..df64581 +index 0000000000000000000000000000000000000000..df645813bdaeb2cd6296154af434ebc1b0c5939a --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h @@ -0,0 +1,37 @@ @@ -83830,7 +83830,7 @@ index 0000000..df64581 +const char *vchiq_get_build_date(void); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h new file mode 100644 -index 0000000..d2797db +index 0000000000000000000000000000000000000000..d2797db702f9fd2e35beb3dd2d5ac9323ccedfc6 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h @@ -0,0 +1,69 @@ @@ -83905,7 +83905,7 @@ index 0000000..d2797db +#endif /* VCHIQ_CFG_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c new file mode 100644 -index 0000000..5efc62f +index 0000000000000000000000000000000000000000..5efc62ffb2f5e441cb307d0a575565338b407249 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c @@ -0,0 +1,120 @@ @@ -84031,7 +84031,7 @@ index 0000000..5efc62f +EXPORT_SYMBOL(vchiq_add_connected_callback); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h new file mode 100644 -index 0000000..863b3e3 +index 0000000000000000000000000000000000000000..863b3e335c1aa4bbe7f8652e0e6c3713ea1aed45 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h @@ -0,0 +1,50 @@ @@ -84087,7 +84087,7 @@ index 0000000..863b3e3 +#endif /* VCHIQ_CONNECTED_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c new file mode 100644 -index 0000000..160db24 +index 0000000000000000000000000000000000000000..160db24aeea33a8296923501009c1f02bc41e599 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -0,0 +1,3929 @@ @@ -88022,7 +88022,7 @@ index 0000000..160db24 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h new file mode 100644 -index 0000000..9be484c +index 0000000000000000000000000000000000000000..9be484c776d044a51bb3904c6a1e2cd11a852e35 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -0,0 +1,712 @@ @@ -88740,7 +88740,7 @@ index 0000000..9be484c +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c new file mode 100644 -index 0000000..7e03213 +index 0000000000000000000000000000000000000000..7e032130d967a69384926ddbe614e9af4be8f22e --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c @@ -0,0 +1,383 @@ @@ -89129,7 +89129,7 @@ index 0000000..7e03213 +#endif /* CONFIG_DEBUG_FS */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h new file mode 100644 -index 0000000..4d6a378 +index 0000000000000000000000000000000000000000..4d6a3788e9c508c9eb1379980c4f3a67791e428e --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h @@ -0,0 +1,52 @@ @@ -89187,7 +89187,7 @@ index 0000000..4d6a378 +#endif /* VCHIQ_DEBUGFS_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion new file mode 100644 -index 0000000..9f5b634 +index 0000000000000000000000000000000000000000..9f5b6344b9b77f72ebd4ff6621c90fd0ac47efb1 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion @@ -0,0 +1,87 @@ @@ -89280,7 +89280,7 @@ index 0000000..9f5b634 +EOF diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h new file mode 100644 -index 0000000..8067bbe +index 0000000000000000000000000000000000000000..8067bbe7ce8d70c41b2e6e0466d20a4612e39d93 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h @@ -0,0 +1,189 @@ @@ -89475,7 +89475,7 @@ index 0000000..8067bbe +#endif /* VCHIQ_IF_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h new file mode 100644 -index 0000000..6137ae9 +index 0000000000000000000000000000000000000000..6137ae9de1c19cb0ffc486dc60505061a10aea6c --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h @@ -0,0 +1,131 @@ @@ -89612,7 +89612,7 @@ index 0000000..6137ae9 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c new file mode 100644 -index 0000000..25e7011 +index 0000000000000000000000000000000000000000..25e7011edc5094372919d7e3be482f3bbd7b6155 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c @@ -0,0 +1,458 @@ @@ -90076,7 +90076,7 @@ index 0000000..25e7011 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h new file mode 100644 -index 0000000..335446e +index 0000000000000000000000000000000000000000..335446e05476c3dbb905a69e45b37a2702566bf6 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h @@ -0,0 +1,69 @@ @@ -90151,7 +90151,7 @@ index 0000000..335446e +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h new file mode 100644 -index 0000000..d02e776 +index 0000000000000000000000000000000000000000..d02e7764bd0d8721453d2e0a4900c26c12634c8b --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h @@ -0,0 +1,71 @@ @@ -90228,7 +90228,7 @@ index 0000000..d02e776 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h new file mode 100644 -index 0000000..54a3ece +index 0000000000000000000000000000000000000000..54a3ecec69ef6702c382a7af339d21b87ec8a346 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h @@ -0,0 +1,58 @@ @@ -90292,7 +90292,7 @@ index 0000000..54a3ece +#endif /* VCHIQ_PAGELIST_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c new file mode 100644 -index 0000000..8072ff6 +index 0000000000000000000000000000000000000000..8072ff613636121d50293693d0bd2aaf0b6e07b5 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c @@ -0,0 +1,860 @@ @@ -91158,7 +91158,7 @@ index 0000000..8072ff6 +EXPORT_SYMBOL(vchi_service_release); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c new file mode 100644 -index 0000000..384acb8 +index 0000000000000000000000000000000000000000..384acb8d2eae12eca8aa955c274467f120e8824f --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c @@ -0,0 +1,156 @@ @@ -91320,7 +91320,7 @@ index 0000000..384acb8 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h new file mode 100644 -index 0000000..4055d4b +index 0000000000000000000000000000000000000000..4055d4bf9f740ab9f10a7e44673b9795681981f7 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h @@ -0,0 +1,82 @@ @@ -91408,7 +91408,7 @@ index 0000000..4055d4b +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c new file mode 100644 -index 0000000..b6bfa21 +index 0000000000000000000000000000000000000000..b6bfa21155e431e93bfb2c149d32437184c2b6e3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c @@ -0,0 +1,59 @@ @@ -91475,7 +91475,7 @@ index 0000000..b6bfa21 From 15e17f63a0de9a7310a6be13ae66eafd88bf5c8a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 042/112] vc_mem: Add vc_mem driver +Subject: [PATCH 042/141] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91502,7 +91502,7 @@ Signed-off-by: Noralf Trønnes diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h deleted file mode 100644 -index 4a4a338..0000000 +index 4a4a33845cbc02f0e0d5368fed3609f6ba9ff92b..0000000000000000000000000000000000000000 --- a/arch/arm/mach-bcm2709/include/mach/vc_mem.h +++ /dev/null @@ -1,35 +0,0 @@ @@ -91543,7 +91543,7 @@ index 4a4a338..0000000 -#endif /* VC_MEM_H */ diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c deleted file mode 100644 -index d2adfd1..0000000 +index d2adfd1db2421984ea8ab8fb809d1adb0765714e..0000000000000000000000000000000000000000 --- a/arch/arm/mach-bcm2709/vc_mem.c +++ /dev/null @@ -1,431 +0,0 @@ @@ -91979,7 +91979,7 @@ index d2adfd1..0000000 -module_param(mem_size, uint, 0644); -module_param(mem_base, uint, 0644); diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 2d8bd6e..7037928 100644 +index 2d8bd6e5016aab7340636c1f5dc4dd0cbacae6c0..70379287f6261fd833202ac47de1bcca8b84959a 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -7,9 +7,19 @@ menuconfig BRCM_CHAR_DRIVERS @@ -92004,7 +92004,7 @@ index 2d8bd6e..7037928 100644 + +endif diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 13c5bca..fce918c 100644 +index 13c5bca291ccc0df090c4e61169ace8f18ba60fe..fce918c369f7a9430136fea3ab098350339f1b01 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1 +1,2 @@ @@ -92012,7 +92012,7 @@ index 13c5bca..fce918c 100644 +obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o diff --git a/drivers/char/broadcom/vc_mem.c b/drivers/char/broadcom/vc_mem.c new file mode 100644 -index 0000000..be64f23 +index 0000000000000000000000000000000000000000..be64f238ee0cc1e57f9401b0ee16c23e9fa238cc --- /dev/null +++ b/drivers/char/broadcom/vc_mem.c @@ -0,0 +1,422 @@ @@ -92440,7 +92440,7 @@ index 0000000..be64f23 +module_param(mem_base, uint, 0644); diff --git a/include/linux/broadcom/vc_mem.h b/include/linux/broadcom/vc_mem.h new file mode 100644 -index 0000000..20a4753 +index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35a58411b4 --- /dev/null +++ b/include/linux/broadcom/vc_mem.h @@ -0,0 +1,35 @@ @@ -92483,7 +92483,7 @@ index 0000000..20a4753 From 2cefc921e5b3d8dbed930ba64a31e2a218ff7a7a Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/112] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/141] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -92543,7 +92543,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/broadcom/vmcs_sm_ioctl.h diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 7037928..75fa1cb 100644 +index 70379287f6261fd833202ac47de1bcca8b84959a..75fa1cba764084160f7cb77e56058f25b5e9f0ce 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -23,3 +23,12 @@ config BCM2708_VCMEM @@ -92560,7 +92560,7 @@ index 7037928..75fa1cb 100644 + Support for the VC shared memory on the Broadcom reference + design. Uses the VCHIQ stack. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index fce918c..de8feb9 100644 +index fce918c369f7a9430136fea3ab098350339f1b01..de8feb98c63ff1e6437d80a6db85a8d30f433705 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,2 +1,3 @@ @@ -92569,7 +92569,7 @@ index fce918c..de8feb9 100644 +obj-$(CONFIG_BCM_VC_SM) += vc_sm/ diff --git a/drivers/char/broadcom/vc_sm/Makefile b/drivers/char/broadcom/vc_sm/Makefile new file mode 100644 -index 0000000..68fa2aa +index 0000000000000000000000000000000000000000..68fa2aa7f725d3587c47c22489efc3418e48dce8 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/Makefile @@ -0,0 +1,20 @@ @@ -92595,7 +92595,7 @@ index 0000000..68fa2aa + vc_vchi_sm.o diff --git a/drivers/char/broadcom/vc_sm/vc_sm_defs.h b/drivers/char/broadcom/vc_sm/vc_sm_defs.h new file mode 100644 -index 0000000..c4d5ff7 +index 0000000000000000000000000000000000000000..c4d5ff718a5ba9071ef87fa4c6cf632486c4d36f --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_defs.h @@ -0,0 +1,181 @@ @@ -92782,7 +92782,7 @@ index 0000000..c4d5ff7 +#endif /* __VC_SM_DEFS_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h new file mode 100644 -index 0000000..965f9a2 +index 0000000000000000000000000000000000000000..965f9a209a025202fea8065d3947c36f4fa43d0a --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h @@ -0,0 +1,55 @@ @@ -92843,7 +92843,7 @@ index 0000000..965f9a2 +#endif /* __VC_SM_KNL_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.c b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c new file mode 100644 -index 0000000..7c6ba1a +index 0000000000000000000000000000000000000000..7c6ba1a244a8aff8132e0177e02b2b2a6cd364e0 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c @@ -0,0 +1,492 @@ @@ -93341,7 +93341,7 @@ index 0000000..7c6ba1a +} diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.h b/drivers/char/broadcom/vc_sm/vc_vchi_sm.h new file mode 100644 -index 0000000..5e279f5 +index 0000000000000000000000000000000000000000..5e279f5a95fac7227cea15941bf0570ddc2b0886 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.h @@ -0,0 +1,82 @@ @@ -93429,7 +93429,7 @@ index 0000000..5e279f5 +#endif /* __VC_VCHI_SM_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c new file mode 100644 -index 0000000..1db6716 +index 0000000000000000000000000000000000000000..1db6716c2c0c8b2013203391501f92d09db258af --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c @@ -0,0 +1,3213 @@ @@ -96648,7 +96648,7 @@ index 0000000..1db6716 +MODULE_LICENSE("GPL v2"); diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h new file mode 100644 -index 0000000..334f36d +index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f38cf76564 --- /dev/null +++ b/include/linux/broadcom/vmcs_sm_ioctl.h @@ -0,0 +1,248 @@ @@ -96904,7 +96904,7 @@ index 0000000..334f36d From 3e4e79ceb14be9b9fb2a8135ee18865191eb00ba Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/112] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/141] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -96921,7 +96921,7 @@ See: https://github.com/raspberrypi/linux/issues/1154 create mode 100644 drivers/char/broadcom/bcm2835-gpiomem.c diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 75fa1cb..b75c9b2 100644 +index 75fa1cba764084160f7cb77e56058f25b5e9f0ce..b75c9b2639fb0e63dd2623ddc1dcaac5759c132b 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -32,3 +32,12 @@ config BCM_VC_SM @@ -96938,7 +96938,7 @@ index 75fa1cb..b75c9b2 100644 + register page to the user's pointer. + diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index de8feb9..1eb06e9 100644 +index de8feb98c63ff1e6437d80a6db85a8d30f433705..1eb06e9788663c3e75d201a559db55556cecfe2b 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,3 +1,6 @@ @@ -96950,7 +96950,7 @@ index de8feb9..1eb06e9 100644 + diff --git a/drivers/char/broadcom/bcm2835-gpiomem.c b/drivers/char/broadcom/bcm2835-gpiomem.c new file mode 100644 -index 0000000..911f5b7 +index 0000000000000000000000000000000000000000..911f5b7393ed48ceed8751f06967ae6463453f9c --- /dev/null +++ b/drivers/char/broadcom/bcm2835-gpiomem.c @@ -0,0 +1,260 @@ @@ -97218,7 +97218,7 @@ index 0000000..911f5b7 From 301848a2d27e09d2e39b263aab1a339ef96164d4 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/112] Add SMI driver +Subject: [PATCH 045/141] Add SMI driver Signed-off-by: Luke Wren --- @@ -97240,7 +97240,7 @@ Signed-off-by: Luke Wren diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt new file mode 100644 -index 0000000..68cc8eb +index 0000000000000000000000000000000000000000..68cc8ebc3392d45cbccac0dc0354514076d43398 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt @@ -0,0 +1,17 @@ @@ -97263,7 +97263,7 @@ index 0000000..68cc8eb + diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt new file mode 100644 -index 0000000..b76dc69 +index 0000000000000000000000000000000000000000..b76dc694f1ac0b8044000ae54d312c803b1ef6f7 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt @@ -0,0 +1,48 @@ @@ -97316,7 +97316,7 @@ index 0000000..b76dc69 +}; + diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index b75c9b2..2292ed2 100644 +index b75c9b2639fb0e63dd2623ddc1dcaac5759c132b..2292ed2ac9f457a7d491110e673666136faa5a5e 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -41,3 +41,11 @@ config BCM2835_DEVGPIOMEM @@ -97332,7 +97332,7 @@ index b75c9b2..2292ed2 100644 + Broadcom's Secondary Memory interface. The low-level functionality is provided + by the SMI driver itself. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 1eb06e9..667d33e 100644 +index 1eb06e9788663c3e75d201a559db55556cecfe2b..667d33ef38f3512b52818537c11d369798b6f1c0 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -3,4 +3,4 @@ obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o @@ -97343,7 +97343,7 @@ index 1eb06e9..667d33e 100644 +obj-$(CONFIG_BCM2835_SMI_DEV) += bcm2835_smi_dev.o diff --git a/drivers/char/broadcom/bcm2835_smi_dev.c b/drivers/char/broadcom/bcm2835_smi_dev.c new file mode 100644 -index 0000000..d6efd92 +index 0000000000000000000000000000000000000000..d6efd92fdfe46df5cfe219d2123e0dff23dc5ab7 --- /dev/null +++ b/drivers/char/broadcom/bcm2835_smi_dev.c @@ -0,0 +1,402 @@ @@ -97750,7 +97750,7 @@ index 0000000..d6efd92 + "Character device driver for BCM2835's secondary memory interface"); +MODULE_AUTHOR("Luke Wren "); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 90af750..7011b2d 100644 +index 90af750e589982a5dcd854f54e8270d935ea6768..7011b2daec3df832eebf9c7f40f6cb3bc6191595 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -10,6 +10,14 @@ config SENSORS_LIS3LV02D @@ -97769,7 +97769,7 @@ index 90af750..7011b2d 100644 tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 1a58cf7..28989fa 100644 +index 1a58cf720b9a162ac654b7a8dc21855363f34136..28989fae581bbfd0bc87f1542d7f6b83e8c3c5cc 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o @@ -97782,7 +97782,7 @@ index 1a58cf7..28989fa 100644 obj-$(CONFIG_BMP085_SPI) += bmp085-spi.o diff --git a/drivers/misc/bcm2835_smi.c b/drivers/misc/bcm2835_smi.c new file mode 100644 -index 0000000..63a4ea0 +index 0000000000000000000000000000000000000000..63a4ea08b9930a3a31a985f0a1d969b488ed49ec --- /dev/null +++ b/drivers/misc/bcm2835_smi.c @@ -0,0 +1,985 @@ @@ -98773,7 +98773,7 @@ index 0000000..63a4ea0 +MODULE_AUTHOR("Luke Wren "); diff --git a/include/linux/broadcom/bcm2835_smi.h b/include/linux/broadcom/bcm2835_smi.h new file mode 100644 -index 0000000..ee3a75e +index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10fd8543a3 --- /dev/null +++ b/include/linux/broadcom/bcm2835_smi.h @@ -0,0 +1,391 @@ @@ -99172,7 +99172,7 @@ index 0000000..ee3a75e From 12df7d0bcb543798517104d4390accefb14c62b5 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 046/112] Add SMI NAND driver +Subject: [PATCH 046/141] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -99186,7 +99186,7 @@ Signed-off-by: Luke Wren diff --git a/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt b/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt new file mode 100644 -index 0000000..159544d +index 0000000000000000000000000000000000000000..159544d6579070d376d146bd24a86653e7245707 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt @@ -0,0 +1,42 @@ @@ -99234,7 +99234,7 @@ index 0000000..159544d +}; \ No newline at end of file diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index f05e0e9..8c69541 100644 +index f05e0e9eb2f73e8b807d97fb30cf4638d07286d9..8c6954116637153776ab2e54ebabcba881ce88cf 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -41,6 +41,13 @@ config MTD_SM_COMMON @@ -99252,7 +99252,7 @@ index f05e0e9..8c69541 100644 tristate diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index f553353..ea8d647 100644 +index f55335373f7c5b755c4363574ed7abc211ec89c7..ea8d647d92ffb3b328e04a35a16430f62d534553 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_MTD_NAND_DENALI) += denali.o @@ -99265,7 +99265,7 @@ index f553353..ea8d647 100644 obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o diff --git a/drivers/mtd/nand/bcm2835_smi_nand.c b/drivers/mtd/nand/bcm2835_smi_nand.c new file mode 100644 -index 0000000..02adda6 +index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79de58bfdce --- /dev/null +++ b/drivers/mtd/nand/bcm2835_smi_nand.c @@ -0,0 +1,267 @@ @@ -99540,7 +99540,7 @@ index 0000000..02adda6 From 1e8bc98cc672fc3f2d4c3946cec95432fe2da916 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 047/112] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 047/141] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -99595,7 +99595,7 @@ lirc-rpi: Also support pinctrl-bcm2835 in non-DT mode create mode 100644 include/linux/platform_data/bcm2708.h diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig -index 6879c46..77c69f2 100644 +index 6879c4651b46c8b48460626cb346b8ee23fa6587..77c69f2d4158be625a5956095b988cd3774dbfae 100644 --- a/drivers/staging/media/lirc/Kconfig +++ b/drivers/staging/media/lirc/Kconfig @@ -32,6 +32,12 @@ config LIRC_PARALLEL @@ -99612,7 +99612,7 @@ index 6879c46..77c69f2 100644 tristate "Sasem USB IR Remote" depends on LIRC && USB diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile -index 5430adf..9e53cd0 100644 +index 5430adf0475ded5abe2ef4b4cf4e7f2c08297894..9e53cd0caf58ba28a939b780c876d4017a23ac2b 100644 --- a/drivers/staging/media/lirc/Makefile +++ b/drivers/staging/media/lirc/Makefile @@ -6,6 +6,7 @@ @@ -99625,7 +99625,7 @@ index 5430adf..9e53cd0 100644 obj-$(CONFIG_LIRC_SIR) += lirc_sir.o diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c new file mode 100644 -index 0000000..0624439 +index 0000000000000000000000000000000000000000..06244398e42b9a1501a48fb4693218e017e5a651 --- /dev/null +++ b/drivers/staging/media/lirc/lirc_rpi.c @@ -0,0 +1,730 @@ @@ -100361,7 +100361,7 @@ index 0000000..0624439 +MODULE_PARM_DESC(debug, "Enable debugging messages"); diff --git a/include/linux/platform_data/bcm2708.h b/include/linux/platform_data/bcm2708.h new file mode 100644 -index 0000000..fb69624 +index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b172de57ec --- /dev/null +++ b/include/linux/platform_data/bcm2708.h @@ -0,0 +1,23 @@ @@ -100392,7 +100392,7 @@ index 0000000..fb69624 From 0fe53c97d513cf0b7f2d04bf412c4aa0e44313b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 048/112] Add cpufreq driver +Subject: [PATCH 048/141] Add cpufreq driver Signed-off-by: popcornmix --- @@ -100403,7 +100403,7 @@ Signed-off-by: popcornmix create mode 100644 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm -index 14b1f93..c6e8bd5 100644 +index 14b1f9393b057e106d7b068883ce486ea70239ec..c6e8bd553878a81d41cbe110930fb2791d787cc2 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -229,6 +229,15 @@ config ARM_STI_CPUFREQ @@ -100423,7 +100423,7 @@ index 14b1f93..c6e8bd5 100644 bool "Tegra20 CPUFreq support" depends on ARCH_TEGRA diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile -index 9e63fb1..9e55083 100644 +index 9e63fb1b09f815fa70e1c4d908707ba39989f8fa..9e55083a9b247b86c2a29c9b268111918c10a7b9 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -74,6 +74,7 @@ obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o @@ -100436,7 +100436,7 @@ index 9e63fb1..9e55083 100644 obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ) += vexpress-spc-cpufreq.o diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c new file mode 100644 -index 0000000..3eb9e93 +index 0000000000000000000000000000000000000000..3eb9e9326231b08e6ee95ad486485245c71cf868 --- /dev/null +++ b/drivers/cpufreq/bcm2835-cpufreq.c @@ -0,0 +1,213 @@ @@ -100657,7 +100657,7 @@ index 0000000..3eb9e93 From f2689bfbe922ace29cdd1bb19566f3898b2903b6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 049/112] Added hwmon/thermal driver for reporting core +Subject: [PATCH 049/141] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100678,7 +100678,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/thermal/bcm2835-thermal.c diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig -index 3c3dc4a..6789340 100644 +index 3c3dc4a3d52cfb4685bdcbd2c62b55d33447804d..6789340aa1ce5d3711d23a87aafdd7e3c4793643 100644 --- a/drivers/thermal/Kconfig +++ b/drivers/thermal/Kconfig @@ -292,6 +292,13 @@ config INTEL_POWERCLAMP @@ -100696,7 +100696,7 @@ index 3c3dc4a..6789340 100644 tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile -index 8e9cbc3..497014c 100644 +index 8e9cbc3b5679ae221bcdd5d6bb82e91ebcfb3f1d..497014c0b271731daa831f7dbd5df0a6ca1ebe69 100644 --- a/drivers/thermal/Makefile +++ b/drivers/thermal/Makefile @@ -38,6 +38,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o @@ -100709,7 +100709,7 @@ index 8e9cbc3..497014c 100644 obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o diff --git a/drivers/thermal/bcm2835-thermal.c b/drivers/thermal/bcm2835-thermal.c new file mode 100644 -index 0000000..c63fb9f +index 0000000000000000000000000000000000000000..c63fb9f9d143e19612a18fe530c7b2b3518a22a4 --- /dev/null +++ b/drivers/thermal/bcm2835-thermal.c @@ -0,0 +1,109 @@ @@ -100826,7 +100826,7 @@ index 0000000..c63fb9f From 5e47d2aebe36e21dc1bdb3b87a8762c238958608 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/112] Add Chris Boot's i2c driver +Subject: [PATCH 050/141] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -100917,7 +100917,7 @@ Set the BSC_CLKT clock streching timeout to 35ms as per SMBus specs. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 0967e1a..c11fce1 100644 +index 0967e1a5b3a25f1d351f83adb40f7bad0c52c659..c11fce150e1e371d17432af29ea96ab0a6c28d5d 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -8,6 +8,25 @@ menu "I2C Hardware Bus support" @@ -100956,7 +100956,7 @@ index 0967e1a..c11fce1 100644 If you say yes to this option, support will be included for the BCM2835 I2C controller. diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 37f2819..e309579 100644 +index 37f2819b4560b0e0947b74c214f5c5a0952bc0ae..e309579e691599031f25bd9b9b36430753f004a7 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -2,6 +2,8 @@ @@ -100970,7 +100970,7 @@ index 37f2819..e309579 100644 diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c new file mode 100644 -index 0000000..c9b8e5c +index 0000000000000000000000000000000000000000..c9b8e5cb1702e4b20e45214d81a7a40ac709220f --- /dev/null +++ b/drivers/i2c/busses/i2c-bcm2708.c @@ -0,0 +1,508 @@ @@ -101486,7 +101486,7 @@ index 0000000..c9b8e5c From 1aa29b0d88ae6bb3f0c115a4d5b539fbeca1812a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/112] char: broadcom: Add vcio module +Subject: [PATCH 051/141] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101503,7 +101503,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/char/broadcom/vcio.c diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 2292ed2..5489f19 100644 +index 2292ed2ac9f457a7d491110e673666136faa5a5e..5489f19f05c620a30541e1a222d77b6ee4356d97 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -22,6 +22,12 @@ config BCM2708_VCMEM @@ -101520,7 +101520,7 @@ index 2292ed2..5489f19 100644 config BCM_VC_SM diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 667d33e..14775c9 100644 +index 667d33ef38f3512b52818537c11d369798b6f1c0..14775c9b20b4b6a58f681f3687614676b5e2a871 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,5 +1,6 @@ @@ -101532,7 +101532,7 @@ index 667d33e..14775c9 100644 obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o diff --git a/drivers/char/broadcom/vcio.c b/drivers/char/broadcom/vcio.c new file mode 100644 -index 0000000..c19bc20 +index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a140fe5aba0 --- /dev/null +++ b/drivers/char/broadcom/vcio.c @@ -0,0 +1,175 @@ @@ -101715,7 +101715,7 @@ index 0000000..c19bc20 From 2585136f60c92591d0a6b35c061ce29df6878461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/112] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/141] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101731,7 +101731,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index dd506cd3..b980d53 100644 +index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..b980d531b35b9981a88356ef1c8a7b868a85f2b5 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -28,6 +28,8 @@ struct rpi_firmware { @@ -101824,7 +101824,7 @@ index dd506cd3..b980d53 100644 From 00070d8df28b59cdabc6c436f9a205e1a40a643a Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 053/112] bcm2835: add v4l2 camera device +Subject: [PATCH 053/141] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -102233,7 +102233,7 @@ See: https://github.com/raspberrypi/linux/issues/1447#issuecomment-221303506 diff --git a/Documentation/video4linux/bcm2835-v4l2.txt b/Documentation/video4linux/bcm2835-v4l2.txt new file mode 100644 -index 0000000..c585a8f +index 0000000000000000000000000000000000000000..c585a8fadf91c5a04453e442fc29ed893c65bf99 --- /dev/null +++ b/Documentation/video4linux/bcm2835-v4l2.txt @@ -0,0 +1,60 @@ @@ -102298,7 +102298,7 @@ index 0000000..c585a8f + +$ v4l2-ctl --list-formats diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig -index 201f5c2..b798ab8 100644 +index 201f5c296a951a24b35f5a0495af7b77b121acfd..b798ab852b51379b9e2b12aac158b86fff12315f 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -11,6 +11,8 @@ menuconfig V4L_PLATFORM_DRIVERS @@ -102311,7 +102311,7 @@ index 201f5c2..b798ab8 100644 config VIDEO_VIA_CAMERA diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile -index bbb7bd1..6fe5b3f 100644 +index bbb7bd1eb268d731608aba05305859958eb7b82c..6fe5b3fbceae92ec77ee20c1283418889dcd3d64 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile @@ -2,6 +2,8 @@ @@ -102325,7 +102325,7 @@ index bbb7bd1..6fe5b3f 100644 obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig new file mode 100644 -index 0000000..99a5cbc +index 0000000000000000000000000000000000000000..99a5cbccf0f3fa66ad5190ec0942b0c232c3e824 --- /dev/null +++ b/drivers/media/platform/bcm2835/Kconfig @@ -0,0 +1,25 @@ @@ -102356,7 +102356,7 @@ index 0000000..99a5cbc +endif # VIDEO_BM2835 diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile new file mode 100644 -index 0000000..f17c79c +index 0000000000000000000000000000000000000000..f17c79c33e4a07a2294907d3c748b4d62fc55e21 --- /dev/null +++ b/drivers/media/platform/bcm2835/Makefile @@ -0,0 +1,5 @@ @@ -102367,7 +102367,7 @@ index 0000000..f17c79c +ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c new file mode 100644 -index 0000000..1b16c63 +index 0000000000000000000000000000000000000000..1b16c63315195c043c41d6676ecfedd004c92cd3 --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -0,0 +1,1982 @@ @@ -104355,7 +104355,7 @@ index 0000000..1b16c63 +module_exit(bm2835_mmal_exit); diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h new file mode 100644 -index 0000000..13f426f +index 0000000000000000000000000000000000000000..13f426f5ecdffeab714d658a6f8b76e63af5fcdb --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -0,0 +1,144 @@ @@ -104505,7 +104505,7 @@ index 0000000..13f426f +} diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c new file mode 100644 -index 0000000..fe61330 +index 0000000000000000000000000000000000000000..fe61330ba2a64f850ff3e4930ff813f648889804 --- /dev/null +++ b/drivers/media/platform/bcm2835/controls.c @@ -0,0 +1,1345 @@ @@ -105856,7 +105856,7 @@ index 0000000..fe61330 +} diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h new file mode 100644 -index 0000000..840fd13 +index 0000000000000000000000000000000000000000..840fd139e03315b5d9ac2d5742ab589bc6b17ade --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-common.h @@ -0,0 +1,53 @@ @@ -105915,7 +105915,7 @@ index 0000000..840fd13 +}; diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h new file mode 100644 -index 0000000..024d620 +index 0000000000000000000000000000000000000000..024d620dc1dfda006a9d36dffeeec691faf24ac5 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-encodings.h @@ -0,0 +1,127 @@ @@ -106048,7 +106048,7 @@ index 0000000..024d620 +#endif /* MMAL_ENCODINGS_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-common.h b/drivers/media/platform/bcm2835/mmal-msg-common.h new file mode 100644 -index 0000000..66e8a6e +index 0000000000000000000000000000000000000000..66e8a6edf628565aeb487662b0b503c0c562ac8a --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-common.h @@ -0,0 +1,50 @@ @@ -106104,7 +106104,7 @@ index 0000000..66e8a6e +#endif /* MMAL_MSG_COMMON_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-format.h b/drivers/media/platform/bcm2835/mmal-msg-format.h new file mode 100644 -index 0000000..123d86e +index 0000000000000000000000000000000000000000..123d86ef582b0d059d1d5d14ba9add56b7365419 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-format.h @@ -0,0 +1,81 @@ @@ -106191,7 +106191,7 @@ index 0000000..123d86e +#endif /* MMAL_MSG_FORMAT_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-port.h b/drivers/media/platform/bcm2835/mmal-msg-port.h new file mode 100644 -index 0000000..a55c1ea +index 0000000000000000000000000000000000000000..a55c1ea2eceb190689910a6a84370f126b1e9cbb --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-port.h @@ -0,0 +1,107 @@ @@ -106304,7 +106304,7 @@ index 0000000..a55c1ea +}; diff --git a/drivers/media/platform/bcm2835/mmal-msg.h b/drivers/media/platform/bcm2835/mmal-msg.h new file mode 100644 -index 0000000..67b1076 +index 0000000000000000000000000000000000000000..67b1076015a54646eb0a3b956afdc97e75d2a39c --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg.h @@ -0,0 +1,404 @@ @@ -106714,7 +106714,7 @@ index 0000000..67b1076 +}; diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h new file mode 100644 -index 0000000..f6abb5c +index 0000000000000000000000000000000000000000..f6abb5cfa49d58277fddfb40b7ad329518bd397f --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-parameters.h @@ -0,0 +1,689 @@ @@ -107409,7 +107409,7 @@ index 0000000..f6abb5c +}; diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c new file mode 100644 -index 0000000..78132254 +index 0000000000000000000000000000000000000000..781322542d5a8295f3d7d5a3eaaf0cac29930c30 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c @@ -0,0 +1,1916 @@ @@ -109331,7 +109331,7 @@ index 0000000..78132254 +} diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.h b/drivers/media/platform/bcm2835/mmal-vchiq.h new file mode 100644 -index 0000000..9d1d11e +index 0000000000000000000000000000000000000000..9d1d11e4a53e510c04a416d92d195a7df15012d5 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.h @@ -0,0 +1,178 @@ @@ -109517,7 +109517,7 @@ index 0000000..9d1d11e From 758697fa8e1807aa1c5bf3cbdb01b5d9c1d70d78 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 054/112] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 054/141] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -109584,7 +109584,7 @@ Signed-off-by: Phil Elwell diff --git a/scripts/knlinfo b/scripts/knlinfo new file mode 100755 -index 0000000..263ec93 +index 0000000000000000000000000000000000000000..263ec937eaa70b4fd00bff18599db7f22671753c --- /dev/null +++ b/scripts/knlinfo @@ -0,0 +1,171 @@ @@ -109761,7 +109761,7 @@ index 0000000..263ec93 +} diff --git a/scripts/mkknlimg b/scripts/mkknlimg new file mode 100755 -index 0000000..78c5845 +index 0000000000000000000000000000000000000000..78c5845d2f01deb04b477327d83fa60624f87f98 --- /dev/null +++ b/scripts/mkknlimg @@ -0,0 +1,263 @@ @@ -110032,7 +110032,7 @@ index 0000000..78c5845 From 66780ef1ef8d7aa7ce0b4ccf17ec896e3f28f8bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 055/112] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 055/141] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -110065,7 +110065,7 @@ Signed-off-by: Phil Elwell 10 files changed, 1029 insertions(+), 654 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index 0c03ac9..88550b4 100644 +index 0c03ac9159c10a1e5eef0eca7136d246353aed16..88550b466b09a58ced505e1b1f73d66aa0e632c3 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,6 +458,8 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -110206,7 +110206,7 @@ index 0c03ac9..88550b4 100644 }; diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l -index 790fbf6..40bbc87 100644 +index 790fbf6cf2d75349780a5c849cdb9cdb697f5019..40bbc87d0f1dcaafd7275670cc678b970397f232 100644 --- a/scripts/dtc/dtc-lexer.l +++ b/scripts/dtc/dtc-lexer.l @@ -121,6 +121,11 @@ static void lexical_error(const char *fmt, ...); @@ -110222,7 +110222,7 @@ index 790fbf6..40bbc87 100644 DPRINT("Keyword: /memreserve/\n"); BEGIN_DEFAULT(); diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped -index ba525c2..1518525 100644 +index ba525c2f9fc28f596452999eaa2a66116446dc58..15185255fafdbebf805ad2bb2c63f0fdef4c8776 100644 --- a/scripts/dtc/dtc-lexer.lex.c_shipped +++ b/scripts/dtc/dtc-lexer.lex.c_shipped @@ -9,7 +9,7 @@ @@ -111203,7 +111203,7 @@ index ba525c2..1518525 100644 diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped -index 31cec50..844c462 100644 +index 31cec50a12650a254a639a6a291ce74f07a0e2c2..844c4628962d0e3e2860edf1315bec4e21b7a810 100644 --- a/scripts/dtc/dtc-parser.tab.c_shipped +++ b/scripts/dtc/dtc-parser.tab.c_shipped @@ -65,6 +65,7 @@ @@ -112406,7 +112406,7 @@ index 31cec50..844c462 100644 } /* User semantic actions sometimes alter yychar, and that requires diff --git a/scripts/dtc/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped -index 30867c6..276d078 100644 +index 30867c688300e38333877360e3b05475d5b4a2a3..276d0788f8581bf1970ec8ef9c29b1981b4fe252 100644 --- a/scripts/dtc/dtc-parser.tab.h_shipped +++ b/scripts/dtc/dtc-parser.tab.h_shipped @@ -46,26 +46,27 @@ extern int yydebug; @@ -112478,7 +112478,7 @@ index 30867c6..276d078 100644 # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y -index 000873f..bd67bac 100644 +index 000873f070fdcf3e4a11618cbfefdccb0d8e6cf9..bd67bacd543db130cc547ce7b6238ee168a62f19 100644 --- a/scripts/dtc/dtc-parser.y +++ b/scripts/dtc/dtc-parser.y @@ -19,6 +19,7 @@ @@ -112536,7 +112536,7 @@ index 000873f..bd67bac 100644 ; diff --git a/scripts/dtc/dtc.c b/scripts/dtc/dtc.c -index 5fa23c4..1f8c285 100644 +index 5fa23c406266e1ec58b9184cc81d381233f8f967..1f8c2852bf14ddad4b1312d7a81eceac947acdfe 100644 --- a/scripts/dtc/dtc.c +++ b/scripts/dtc/dtc.c @@ -31,6 +31,7 @@ int reservenum; /* Number of memory reservation slots */ @@ -112584,7 +112584,7 @@ index 5fa23c4..1f8c285 100644 usage(NULL); default: diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h -index 56212c8..f163b22 100644 +index 56212c8df660396b1d9bf6752e1121990e0789ab..f163b22b14b806b637c9fe996efd02762d182e1d 100644 --- a/scripts/dtc/dtc.h +++ b/scripts/dtc/dtc.h @@ -54,6 +54,7 @@ extern int reservenum; /* Number of memory reservation slots */ @@ -112656,7 +112656,7 @@ index 56212c8..f163b22 100644 void delete_labels(struct label **labels); diff --git a/scripts/dtc/flattree.c b/scripts/dtc/flattree.c -index bd99fa2..2385137 100644 +index bd99fa2d33b85e873bd00178d6390d70f4afaa0d..238513780a5ba08c70d3995f45c35817fbabeb45 100644 --- a/scripts/dtc/flattree.c +++ b/scripts/dtc/flattree.c @@ -255,6 +255,204 @@ static int stringtable_insert(struct data *d, const char *str) @@ -112876,7 +112876,7 @@ index bd99fa2..2385137 100644 } diff --git a/scripts/dtc/version_gen.h b/scripts/dtc/version_gen.h -index 11d93e6..2595dfd 100644 +index 11d93e6d8220c45d737175d22af4ab0ccaf871a1..2595dfda020fd9e03f0beff5006f229d5e393151 100644 --- a/scripts/dtc/version_gen.h +++ b/scripts/dtc/version_gen.h @@ -1 +1 @@ @@ -112886,14 +112886,14 @@ index 11d93e6..2595dfd 100644 From f9ac798f2e40444ddc080a4fd4a08583b7e198b1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Dec 2014 17:26:26 +0000 -Subject: [PATCH 056/112] fdt: Add support for the CONFIG_CMDLINE_EXTEND option +Subject: [PATCH 056/141] fdt: Add support for the CONFIG_CMDLINE_EXTEND option --- drivers/of/fdt.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c -index 3349d2a..1e26605 100644 +index 3349d2aa66346335fa3c84e485668bdbf77f6e52..1e2660514450f3f7a9d7e50c1d8cd94eb3381f48 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -960,19 +960,38 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, @@ -112944,7 +112944,7 @@ index 3349d2a..1e26605 100644 From f7644bbbf88b6d95b328c4ec0447f27e99f7fd53 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 057/112] BCM2708: Add core Device Tree support +Subject: [PATCH 057/141] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -113198,7 +113198,7 @@ BCM270X_DT: Use clk_core for I2C interfaces create mode 100644 arch/arm/boot/dts/overlays/wittypi-overlay.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 95c1923..1af92d7 100644 +index 95c1923ce6fa3d32bdeb2e3caedf0ad48eb4d679..1af92d7f71905fedfa7e19f72d1627bd0f7d812c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1,5 +1,26 @@ @@ -113251,7 +113251,7 @@ index 95c1923..1af92d7 100644 +endif diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts new file mode 100644 -index 0000000..0ac7725 +index 0000000000000000000000000000000000000000..0ac7725224aea4f490c670316f0ab8e6e2eee966 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts @@ -0,0 +1,154 @@ @@ -113411,7 +113411,7 @@ index 0000000..0ac7725 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts new file mode 100644 -index 0000000..8474834 +index 0000000000000000000000000000000000000000..847483495a55f6e6567c81c10cf8023681478bcc --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts @@ -0,0 +1,144 @@ @@ -113561,7 +113561,7 @@ index 0000000..8474834 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts new file mode 100755 -index 0000000..cd0e1ac +index 0000000000000000000000000000000000000000..cd0e1acc22f8ded801f29d331570828e5582247b --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts @@ -0,0 +1,102 @@ @@ -113669,7 +113669,7 @@ index 0000000..cd0e1ac +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi new file mode 100644 -index 0000000..90e330d +index 0000000000000000000000000000000000000000..90e330d1978da8624c042d52a38aa5d6d95d2377 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi @@ -0,0 +1,52 @@ @@ -113727,7 +113727,7 @@ index 0000000..90e330d +}; diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi new file mode 100644 -index 0000000..f5a44cd +index 0000000000000000000000000000000000000000..f5a44cd4fef0ee221ed6ae1c43ca81dabffa110d --- /dev/null +++ b/arch/arm/boot/dts/bcm2708.dtsi @@ -0,0 +1,40 @@ @@ -113773,7 +113773,7 @@ index 0000000..f5a44cd +}; diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi new file mode 100644 -index 0000000..6ea37c5 +index 0000000000000000000000000000000000000000..6ea37c57f7b1f298c10a599982f347098219d468 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708_common.dtsi @@ -0,0 +1,438 @@ @@ -114217,7 +114217,7 @@ index 0000000..6ea37c5 +}; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts new file mode 100644 -index 0000000..5e23c04 +index 0000000000000000000000000000000000000000..5e23c04f453ddadb97d244089100f3ff857a2603 --- /dev/null +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -0,0 +1,154 @@ @@ -114377,7 +114377,7 @@ index 0000000..5e23c04 +}; diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi new file mode 100644 -index 0000000..a8cfd7c +index 0000000000000000000000000000000000000000..a8cfd7c4df5bcf7692d13882833c97852649932d --- /dev/null +++ b/arch/arm/boot/dts/bcm2709.dtsi @@ -0,0 +1,102 @@ @@ -114485,7 +114485,7 @@ index 0000000..a8cfd7c +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts new file mode 100644 -index 0000000..0979a27 +index 0000000000000000000000000000000000000000..0979a27f05d97602ddbf550f7fe50cfaff14c151 --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts @@ -0,0 +1,201 @@ @@ -114692,7 +114692,7 @@ index 0000000..0979a27 +}; diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi new file mode 100644 -index 0000000..1a48686 +index 0000000000000000000000000000000000000000..1a48686a15d44dc6fbdddc569d564779f76ae5d1 --- /dev/null +++ b/arch/arm/boot/dts/bcm2710.dtsi @@ -0,0 +1,102 @@ @@ -114800,7 +114800,7 @@ index 0000000..1a48686 +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm.dts b/arch/arm/boot/dts/bcm2835-rpi-cm.dts new file mode 100644 -index 0000000..c6e6860 +index 0000000000000000000000000000000000000000..c6e6860a6d4356a613f4f7ab41c6befc76740a15 --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi-cm.dts @@ -0,0 +1,93 @@ @@ -114899,7 +114899,7 @@ index 0000000..c6e6860 +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi new file mode 100644 -index 0000000..9c4000f +index 0000000000000000000000000000000000000000..9c4000fc686a9882b9ddde24fdcf937d52b0f86f --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi @@ -0,0 +1,30 @@ @@ -114935,7 +114935,7 @@ index 0000000..9c4000f +}; diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile new file mode 100644 -index 0000000..0adb5b9 +index 0000000000000000000000000000000000000000..0adb5b92c047cb7e12871cf75515f822924924cd --- /dev/null +++ b/arch/arm/boot/dts/overlays/Makefile @@ -0,0 +1,99 @@ @@ -115040,7 +115040,7 @@ index 0000000..0adb5b9 +clean-files := *.dtbo diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README new file mode 100644 -index 0000000..1516cc2 +index 0000000000000000000000000000000000000000..1516cc2e1616bb5e0cb519e05eee6776fe84e52a --- /dev/null +++ b/arch/arm/boot/dts/overlays/README @@ -0,0 +1,1161 @@ @@ -116207,7 +116207,7 @@ index 0000000..1516cc2 +http://www.raspberrypi.org/documentation/configuration/device-tree.md diff --git a/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts new file mode 100644 -index 0000000..24fcd58 +index 0000000000000000000000000000000000000000..24fcd58fd1dc61d97a77def3d5d1f7c65130dde6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts @@ -0,0 +1,53 @@ @@ -116266,7 +116266,7 @@ index 0000000..24fcd58 +}; diff --git a/arch/arm/boot/dts/overlays/ads7846-overlay.dts b/arch/arm/boot/dts/overlays/ads7846-overlay.dts new file mode 100644 -index 0000000..edf2dc9 +index 0000000000000000000000000000000000000000..edf2dc9d5d5f6830508edabf2d04c42d27ba9b41 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ads7846-overlay.dts @@ -0,0 +1,89 @@ @@ -116361,7 +116361,7 @@ index 0000000..edf2dc9 +}; diff --git a/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts new file mode 100644 -index 0000000..208849d +index 0000000000000000000000000000000000000000..208849d5c39274ed0aa557f63a19430a451a95f5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts @@ -0,0 +1,46 @@ @@ -116413,7 +116413,7 @@ index 0000000..208849d +}; diff --git a/arch/arm/boot/dts/overlays/at86rf233-overlay.dts b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts new file mode 100644 -index 0000000..880c753 +index 0000000000000000000000000000000000000000..880c7539d496fb10672ee573f7c51b8a213cecf7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts @@ -0,0 +1,57 @@ @@ -116476,7 +116476,7 @@ index 0000000..880c753 +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts new file mode 100644 -index 0000000..4ed66577 +index 0000000000000000000000000000000000000000..4ed66577fa1d59e7b167ffdfd5a3f0de066cded2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts @@ -0,0 +1,39 @@ @@ -116521,7 +116521,7 @@ index 0000000..4ed66577 +}; diff --git a/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts new file mode 100644 -index 0000000..782b171 +index 0000000000000000000000000000000000000000..782b1715467e943c18fe936cc76448f3db960fbc --- /dev/null +++ b/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts @@ -0,0 +1,23 @@ @@ -116550,7 +116550,7 @@ index 0000000..782b171 +}; diff --git a/arch/arm/boot/dts/overlays/dht11-overlay.dts b/arch/arm/boot/dts/overlays/dht11-overlay.dts new file mode 100644 -index 0000000..9bf67fd +index 0000000000000000000000000000000000000000..9bf67fd57bada3c3e06c09744fb184767bab5d14 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dht11-overlay.dts @@ -0,0 +1,39 @@ @@ -116595,7 +116595,7 @@ index 0000000..9bf67fd +}; diff --git a/arch/arm/boot/dts/overlays/dpi24-overlay.dts b/arch/arm/boot/dts/overlays/dpi24-overlay.dts new file mode 100644 -index 0000000..e4dbe40 +index 0000000000000000000000000000000000000000..e4dbe40218a008ef4028c1214740c3d6bc574724 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi24-overlay.dts @@ -0,0 +1,31 @@ @@ -116632,7 +116632,7 @@ index 0000000..e4dbe40 +}; diff --git a/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts new file mode 100644 -index 0000000..fc48bd1 +index 0000000000000000000000000000000000000000..fc48bd1eac605115c3b89fddfe39f5ea6181459f --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts @@ -0,0 +1,20 @@ @@ -116658,7 +116658,7 @@ index 0000000..fc48bd1 +}; diff --git a/arch/arm/boot/dts/overlays/dwc2-overlay.dts b/arch/arm/boot/dts/overlays/dwc2-overlay.dts new file mode 100644 -index 0000000..527abc9 +index 0000000000000000000000000000000000000000..527abc9f0ddf71f4dc7d58336d87684c931cc2f3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc2-overlay.dts @@ -0,0 +1,29 @@ @@ -116693,7 +116693,7 @@ index 0000000..527abc9 +}; diff --git a/arch/arm/boot/dts/overlays/enc28j60-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts new file mode 100644 -index 0000000..db8a8fe +index 0000000000000000000000000000000000000000..db8a8feed94c010e368065fdd88b028622303b6f --- /dev/null +++ b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts @@ -0,0 +1,53 @@ @@ -116752,7 +116752,7 @@ index 0000000..db8a8fe +}; diff --git a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts new file mode 100644 -index 0000000..a2d6bc7 +index 0000000000000000000000000000000000000000..a2d6bc79f4cd2604e6c65c000668cbb228327fe6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts @@ -0,0 +1,45 @@ @@ -116803,7 +116803,7 @@ index 0000000..a2d6bc7 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts new file mode 100644 -index 0000000..ff8cb36 +index 0000000000000000000000000000000000000000..ff8cb36d94d4940d5151ace24afc4ad1a9aa9fb6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts @@ -0,0 +1,34 @@ @@ -116843,7 +116843,7 @@ index 0000000..ff8cb36 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts new file mode 100644 -index 0000000..5f57855 +index 0000000000000000000000000000000000000000..5f5785534fd3d9a97309796f842c8881e2d6979a --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts @@ -0,0 +1,39 @@ @@ -116888,7 +116888,7 @@ index 0000000..5f57855 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts new file mode 100644 -index 0000000..0b74fdc +index 0000000000000000000000000000000000000000..0b74fdc6e0f640967a5681b28360e33b8d4b7cfa --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -116928,7 +116928,7 @@ index 0000000..0b74fdc +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts new file mode 100644 -index 0000000..2f078d4 +index 0000000000000000000000000000000000000000..2f078d4747ccfdc5172e24b18ce65454f1219b9d --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts @@ -0,0 +1,56 @@ @@ -116990,7 +116990,7 @@ index 0000000..2f078d4 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts new file mode 100644 -index 0000000..f5e41f4 +index 0000000000000000000000000000000000000000..f5e41f48ba4fed92194ff5a63d13c70bb2d1c091 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts @@ -0,0 +1,39 @@ @@ -117035,7 +117035,7 @@ index 0000000..f5e41f4 +}; diff --git a/arch/arm/boot/dts/overlays/hy28a-overlay.dts b/arch/arm/boot/dts/overlays/hy28a-overlay.dts new file mode 100644 -index 0000000..ac0f3c2 +index 0000000000000000000000000000000000000000..ac0f3c28ea855a620dc6a3385d9d15009f26358d --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28a-overlay.dts @@ -0,0 +1,93 @@ @@ -117134,7 +117134,7 @@ index 0000000..ac0f3c2 +}; diff --git a/arch/arm/boot/dts/overlays/hy28b-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-overlay.dts new file mode 100644 -index 0000000..8018aeb +index 0000000000000000000000000000000000000000..8018aebde8e557f45ffd63eb86f6c7a1048fe3cb --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28b-overlay.dts @@ -0,0 +1,148 @@ @@ -117288,7 +117288,7 @@ index 0000000..8018aeb +}; diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts new file mode 100644 -index 0000000..2a2dc98 +index 0000000000000000000000000000000000000000..2a2dc986770cfb036492ba8de19cbaff521c5fd5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts @@ -0,0 +1,28 @@ @@ -117322,7 +117322,7 @@ index 0000000..2a2dc98 + diff --git a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts new file mode 100644 -index 0000000..976d38e +index 0000000000000000000000000000000000000000..976d38e781539093e91fe641497d8a6701dd6035 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts @@ -0,0 +1,139 @@ @@ -117467,7 +117467,7 @@ index 0000000..976d38e +}; diff --git a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts new file mode 100644 -index 0000000..d1ffd23 +index 0000000000000000000000000000000000000000..d1ffd2326669e46ad68939f94713cc992dee57e0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts @@ -0,0 +1,26 @@ @@ -117499,7 +117499,7 @@ index 0000000..d1ffd23 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts new file mode 100644 -index 0000000..4065647 +index 0000000000000000000000000000000000000000..40656474dfc16505433221a745c1d129c2737399 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts @@ -0,0 +1,69 @@ @@ -117574,7 +117574,7 @@ index 0000000..4065647 +}; diff --git a/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts new file mode 100644 -index 0000000..1f4fc7b +index 0000000000000000000000000000000000000000..1f4fc7b570604a50ff6d3f6d676c3c4642d66b17 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts @@ -0,0 +1,61 @@ @@ -117641,7 +117641,7 @@ index 0000000..1f4fc7b +}; diff --git a/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts new file mode 100644 -index 0000000..e303b9c +index 0000000000000000000000000000000000000000..e303b9c61c82a28eab7b48f6b085661574d5a849 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts @@ -0,0 +1,37 @@ @@ -117684,7 +117684,7 @@ index 0000000..e303b9c +}; diff --git a/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts new file mode 100644 -index 0000000..30c356d6 +index 0000000000000000000000000000000000000000..30c356d6070cc3b1dfd1d5a07dc1021339bf5bd2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts @@ -0,0 +1,18 @@ @@ -117708,7 +117708,7 @@ index 0000000..30c356d6 +}; diff --git a/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts b/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts new file mode 100644 -index 0000000..a11160a +index 0000000000000000000000000000000000000000..a11160afa4bfb2aeda5937b3b1138bb1f9b9b0f8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts @@ -0,0 +1,13 @@ @@ -117727,7 +117727,7 @@ index 0000000..a11160a +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts new file mode 100644 -index 0000000..0d35c85 +index 0000000000000000000000000000000000000000..0d35c85382bb5766b3eeb9de1bd4a94621229e4b --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts @@ -0,0 +1,43 @@ @@ -117776,7 +117776,7 @@ index 0000000..0d35c85 +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts new file mode 100644 -index 0000000..1d0663e +index 0000000000000000000000000000000000000000..1d0663e19e7bf7395957ae49b501e5b15ecf3881 --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts @@ -0,0 +1,43 @@ @@ -117825,7 +117825,7 @@ index 0000000..1d0663e +}; diff --git a/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts new file mode 100644 -index 0000000..312632a +index 0000000000000000000000000000000000000000..312632ad376d5b8c8ff1dbf31fa03d0d18181d94 --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts @@ -0,0 +1,43 @@ @@ -117874,7 +117874,7 @@ index 0000000..312632a +}; diff --git a/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts new file mode 100644 -index 0000000..cbbede9 +index 0000000000000000000000000000000000000000..cbbede9a541166ba257122918081982016e0b7eb --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts @@ -0,0 +1,39 @@ @@ -117919,7 +117919,7 @@ index 0000000..cbbede9 +}; diff --git a/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts b/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts new file mode 100644 -index 0000000..7d5d82b +index 0000000000000000000000000000000000000000..7d5d82bdf4c41cfbafada51a6d23cbd57822828f --- /dev/null +++ b/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts @@ -0,0 +1,57 @@ @@ -117982,7 +117982,7 @@ index 0000000..7d5d82b +}; diff --git a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts new file mode 100644 -index 0000000..412f966 +index 0000000000000000000000000000000000000000..412f966a3cc0a312771b7182310a7045fb923224 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts @@ -0,0 +1,54 @@ @@ -118042,7 +118042,7 @@ index 0000000..412f966 + diff --git a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts new file mode 100755 -index 0000000..c96cdae +index 0000000000000000000000000000000000000000..c96cdae27fb15055c4a6ec55d1ee45644768c392 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts @@ -0,0 +1,73 @@ @@ -118121,7 +118121,7 @@ index 0000000..c96cdae +}; diff --git a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts new file mode 100644 -index 0000000..67bd0d9 +index 0000000000000000000000000000000000000000..67bd0d9bdaa2ff767d284010a69ecfe3f2aa1fd1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts @@ -0,0 +1,73 @@ @@ -118200,7 +118200,7 @@ index 0000000..67bd0d9 +}; diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts new file mode 100644 -index 0000000..d32b02c +index 0000000000000000000000000000000000000000..d32b02ca01ced5ab3de00d66d5412c8fda4bc510 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts @@ -0,0 +1,38 @@ @@ -118244,7 +118244,7 @@ index 0000000..d32b02c +}; diff --git a/arch/arm/boot/dts/overlays/mz61581-overlay.dts b/arch/arm/boot/dts/overlays/mz61581-overlay.dts new file mode 100644 -index 0000000..2c29aae +index 0000000000000000000000000000000000000000..2c29aaed44c5959d7f0df2a3baf2af052b24b6b4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mz61581-overlay.dts @@ -0,0 +1,117 @@ @@ -118367,7 +118367,7 @@ index 0000000..2c29aae +}; diff --git a/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts b/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts new file mode 100644 -index 0000000..14a59dc +index 0000000000000000000000000000000000000000..14a59dcf13ca64eb0bdbd34d70690a11abe83cfa --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts @@ -0,0 +1,27 @@ @@ -118400,7 +118400,7 @@ index 0000000..14a59dc +}; diff --git a/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts b/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts new file mode 100644 -index 0000000..68f6069 +index 0000000000000000000000000000000000000000..68f6069dd24cbf6a2ed11365ac0717e36879abe3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts @@ -0,0 +1,46 @@ @@ -118452,7 +118452,7 @@ index 0000000..68f6069 +}; diff --git a/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts b/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts new file mode 100644 -index 0000000..17d04cf +index 0000000000000000000000000000000000000000..17d04cf87195a6ff192e1ddbe4f92b1afa9e5ddb --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts @@ -0,0 +1,64 @@ @@ -118522,7 +118522,7 @@ index 0000000..17d04cf +}; diff --git a/arch/arm/boot/dts/overlays/piscreen-overlay.dts b/arch/arm/boot/dts/overlays/piscreen-overlay.dts new file mode 100644 -index 0000000..40a1f29 +index 0000000000000000000000000000000000000000..40a1f295346e39130a9d5a97844163c434b19e82 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen-overlay.dts @@ -0,0 +1,102 @@ @@ -118630,7 +118630,7 @@ index 0000000..40a1f29 +}; diff --git a/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts new file mode 100644 -index 0000000..9c0bed8 +index 0000000000000000000000000000000000000000..9c0bed893057b9129c8f16b0b695b85b1f634597 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts @@ -0,0 +1,106 @@ @@ -118742,7 +118742,7 @@ index 0000000..9c0bed8 + diff --git a/arch/arm/boot/dts/overlays/pitft22-overlay.dts b/arch/arm/boot/dts/overlays/pitft22-overlay.dts new file mode 100644 -index 0000000..894ba22 +index 0000000000000000000000000000000000000000..894ba2292f6be76356f3ab39376d84ebd72fa29d --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft22-overlay.dts @@ -0,0 +1,69 @@ @@ -118817,7 +118817,7 @@ index 0000000..894ba22 +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts new file mode 100644 -index 0000000..5c07526 +index 0000000000000000000000000000000000000000..5c0752655c70692e1c63f2f662e5b541c4be3617 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts @@ -0,0 +1,91 @@ @@ -118914,7 +118914,7 @@ index 0000000..5c07526 +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts new file mode 100644 -index 0000000..ed2afc2 +index 0000000000000000000000000000000000000000..ed2afc2f7fd6528f4e6d75bb2d534307ed020720 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts @@ -0,0 +1,121 @@ @@ -119041,7 +119041,7 @@ index 0000000..ed2afc2 +}; diff --git a/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts new file mode 100644 -index 0000000..40bf0e1 +index 0000000000000000000000000000000000000000..40bf0e11015f5abebd0d4139276da888d728d569 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts @@ -0,0 +1,34 @@ @@ -119081,7 +119081,7 @@ index 0000000..40bf0e1 +}; diff --git a/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts new file mode 100644 -index 0000000..18e4e4f +index 0000000000000000000000000000000000000000..18e4e4fa9465c87eb96c8d712a9967c4805c7176 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts @@ -0,0 +1,53 @@ @@ -119140,7 +119140,7 @@ index 0000000..18e4e4f +}; diff --git a/arch/arm/boot/dts/overlays/pwm-overlay.dts b/arch/arm/boot/dts/overlays/pwm-overlay.dts new file mode 100644 -index 0000000..bf030a6 +index 0000000000000000000000000000000000000000..bf030a6d1545448faf5e7992a0dc5c505522433e --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-overlay.dts @@ -0,0 +1,49 @@ @@ -119195,7 +119195,7 @@ index 0000000..bf030a6 +}; diff --git a/arch/arm/boot/dts/overlays/qca7000-overlay.dts b/arch/arm/boot/dts/overlays/qca7000-overlay.dts new file mode 100644 -index 0000000..b4e6013 +index 0000000000000000000000000000000000000000..b4e601396c4955b9e5de3a639d9afd74d051e3fd --- /dev/null +++ b/arch/arm/boot/dts/overlays/qca7000-overlay.dts @@ -0,0 +1,52 @@ @@ -119253,7 +119253,7 @@ index 0000000..b4e6013 +}; diff --git a/arch/arm/boot/dts/overlays/raspidac3-overlay.dts b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts new file mode 100644 -index 0000000..2fac57c +index 0000000000000000000000000000000000000000..2fac57ca179fcf114655ea91dbef419c16aceb79 --- /dev/null +++ b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts @@ -0,0 +1,45 @@ @@ -119304,7 +119304,7 @@ index 0000000..2fac57c +}; diff --git a/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts new file mode 100644 -index 0000000..c021d02 +index 0000000000000000000000000000000000000000..c021d02bb75ff5ceb5c5066d00e4bca942554032 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts @@ -0,0 +1,21 @@ @@ -119331,7 +119331,7 @@ index 0000000..c021d02 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts new file mode 100644 -index 0000000..1523eae +index 0000000000000000000000000000000000000000..1523eae9c39997aa68cfa583ada92a92395bb1e0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -119371,7 +119371,7 @@ index 0000000..1523eae +}; diff --git a/arch/arm/boot/dts/overlays/rpi-display-overlay.dts b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts new file mode 100644 -index 0000000..d7e72ee +index 0000000000000000000000000000000000000000..d7e72eef594e08b309ffbaa04f43c68909c08f36 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts @@ -0,0 +1,89 @@ @@ -119466,7 +119466,7 @@ index 0000000..d7e72ee +}; diff --git a/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts new file mode 100644 -index 0000000..2e53a17 +index 0000000000000000000000000000000000000000..2e53a17491706bdb6245426b548a54960a40966f --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts @@ -0,0 +1,17 @@ @@ -119489,7 +119489,7 @@ index 0000000..2e53a17 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts new file mode 100644 -index 0000000..8332d01 +index 0000000000000000000000000000000000000000..8332d0159a45b29952d0ad1a8fda339d4fdbee3e --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts @@ -0,0 +1,39 @@ @@ -119534,7 +119534,7 @@ index 0000000..8332d01 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts new file mode 100644 -index 0000000..2715324 +index 0000000000000000000000000000000000000000..27153240e1be595ae07c7ec74db1615532904140 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts @@ -0,0 +1,47 @@ @@ -119587,7 +119587,7 @@ index 0000000..2715324 +}; diff --git a/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts new file mode 100644 -index 0000000..16b1247 +index 0000000000000000000000000000000000000000..16b1247bfa618ff85936ddf78c3aea58075eaa67 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts @@ -0,0 +1,81 @@ @@ -119674,7 +119674,7 @@ index 0000000..16b1247 +}; diff --git a/arch/arm/boot/dts/overlays/sdhost-overlay.dts b/arch/arm/boot/dts/overlays/sdhost-overlay.dts new file mode 100644 -index 0000000..a431177 +index 0000000000000000000000000000000000000000..a431177a1c9d320d5432ea448ad4d0f696c34525 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts @@ -0,0 +1,32 @@ @@ -119712,7 +119712,7 @@ index 0000000..a431177 +}; diff --git a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts new file mode 100644 -index 0000000..46d4538 +index 0000000000000000000000000000000000000000..46d453859b31f5c700a8a2e39a2c209330bc108f --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts @@ -0,0 +1,36 @@ @@ -119754,7 +119754,7 @@ index 0000000..46d4538 +}; diff --git a/arch/arm/boot/dts/overlays/sdio-overlay.dts b/arch/arm/boot/dts/overlays/sdio-overlay.dts new file mode 100644 -index 0000000..398bd81 +index 0000000000000000000000000000000000000000..398bd812c716c9e472fbac5aba4fe882114c65d1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts @@ -0,0 +1,36 @@ @@ -119796,7 +119796,7 @@ index 0000000..398bd81 +}; diff --git a/arch/arm/boot/dts/overlays/sdtweak-overlay.dts b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts new file mode 100644 -index 0000000..e4a4677 +index 0000000000000000000000000000000000000000..e4a4677f6b20da6b51751e9675c1c276ca4d2051 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts @@ -0,0 +1,23 @@ @@ -119825,7 +119825,7 @@ index 0000000..e4a4677 +}; diff --git a/arch/arm/boot/dts/overlays/smi-dev-overlay.dts b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts new file mode 100644 -index 0000000..b610d82 +index 0000000000000000000000000000000000000000..b610d828360810e80133850adf7b459c66b3ed5d --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts @@ -0,0 +1,18 @@ @@ -119849,7 +119849,7 @@ index 0000000..b610d82 +}; diff --git a/arch/arm/boot/dts/overlays/smi-nand-overlay.dts b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts new file mode 100644 -index 0000000..13ce0b7 +index 0000000000000000000000000000000000000000..13ce0b7cfb242df1019f91ed2fc03f514927c3e7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts @@ -0,0 +1,69 @@ @@ -119924,7 +119924,7 @@ index 0000000..13ce0b7 +}; diff --git a/arch/arm/boot/dts/overlays/smi-overlay.dts b/arch/arm/boot/dts/overlays/smi-overlay.dts new file mode 100644 -index 0000000..095f52c +index 0000000000000000000000000000000000000000..095f52c355fd6382233d8a471c3590a4275d6c75 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-overlay.dts @@ -0,0 +1,37 @@ @@ -119967,7 +119967,7 @@ index 0000000..095f52c +}; diff --git a/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts new file mode 100644 -index 0000000..9648063 +index 0000000000000000000000000000000000000000..9648063d5963f2f6ec8f31038f3af5820a8135a6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts @@ -0,0 +1,31 @@ @@ -120004,7 +120004,7 @@ index 0000000..9648063 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts new file mode 100644 -index 0000000..71c2439 +index 0000000000000000000000000000000000000000..71c243947004fa887998065df9c259b50edfa428 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -120067,7 +120067,7 @@ index 0000000..71c2439 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts new file mode 100644 -index 0000000..2ae0885 +index 0000000000000000000000000000000000000000..2ae0885cf1e7fb7420f65e538310ab1addafbece --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -120142,7 +120142,7 @@ index 0000000..2ae0885 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts new file mode 100644 -index 0000000..8f79044 +index 0000000000000000000000000000000000000000..8f79044cd8f47ea055394822cc380497c985c7e5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -120229,7 +120229,7 @@ index 0000000..8f79044 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts new file mode 100644 -index 0000000..6f57bc7 +index 0000000000000000000000000000000000000000..6f57bc710fe123028a5a216063733f0cea9bbd54 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -120292,7 +120292,7 @@ index 0000000..6f57bc7 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts new file mode 100644 -index 0000000..d090631 +index 0000000000000000000000000000000000000000..d090631d36821b0c89833b9f217216f0b134a8f3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -120367,7 +120367,7 @@ index 0000000..d090631 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts new file mode 100644 -index 0000000..e258672 +index 0000000000000000000000000000000000000000..e2586728c311829462f6a4b3b348e35603f033ce --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -120454,7 +120454,7 @@ index 0000000..e258672 +}; diff --git a/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts new file mode 100644 -index 0000000..ed2b053 +index 0000000000000000000000000000000000000000..ed2b053aef23e0b1b34d8d3cb888b2b196758f59 --- /dev/null +++ b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts @@ -0,0 +1,224 @@ @@ -120684,7 +120684,7 @@ index 0000000..ed2b053 +}; diff --git a/arch/arm/boot/dts/overlays/uart1-overlay.dts b/arch/arm/boot/dts/overlays/uart1-overlay.dts new file mode 100644 -index 0000000..fa73e1f +index 0000000000000000000000000000000000000000..fa73e1feaeb1bf53a6755e81a998e71cd8c7eda9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart1-overlay.dts @@ -0,0 +1,38 @@ @@ -120728,7 +120728,7 @@ index 0000000..fa73e1f +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts new file mode 100644 -index 0000000..a4ca2ca +index 0000000000000000000000000000000000000000..a4ca2cabd4cd19d3a82ad1135604dfa52784fb3f --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts @@ -0,0 +1,129 @@ @@ -120863,7 +120863,7 @@ index 0000000..a4ca2ca +}; diff --git a/arch/arm/boot/dts/overlays/vga666-overlay.dts b/arch/arm/boot/dts/overlays/vga666-overlay.dts new file mode 100644 -index 0000000..7fcab96 +index 0000000000000000000000000000000000000000..7fcab963eb4aed4b9edea94c9e60deb7650e0eb5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vga666-overlay.dts @@ -0,0 +1,30 @@ @@ -120899,7 +120899,7 @@ index 0000000..7fcab96 +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts new file mode 100644 -index 0000000..29a3b48 +index 0000000000000000000000000000000000000000..29a3b48d19ab36b814c09e4cc4eef6d9e2022da1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts @@ -0,0 +1,39 @@ @@ -120944,7 +120944,7 @@ index 0000000..29a3b48 +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts new file mode 100644 -index 0000000..66a98f6 +index 0000000000000000000000000000000000000000..66a98f6c9601f51483f27803995bec772bb3350e --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts @@ -0,0 +1,41 @@ @@ -120991,7 +120991,7 @@ index 0000000..66a98f6 +}; diff --git a/arch/arm/boot/dts/overlays/wittypi-overlay.dts b/arch/arm/boot/dts/overlays/wittypi-overlay.dts new file mode 100644 -index 0000000..8498134 +index 0000000000000000000000000000000000000000..8498134fdbb3912e9ce18282b53084d871a82370 --- /dev/null +++ b/arch/arm/boot/dts/overlays/wittypi-overlay.dts @@ -0,0 +1,44 @@ @@ -121043,7 +121043,7 @@ index 0000000..8498134 From 48c511df04c403d098846ea5a46094112e0f50c1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 058/112] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 058/141] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -121061,7 +121061,7 @@ Signed-off-by: Phil Elwell 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore -index 3c79f85..eaaeb17 100644 +index 3c79f85975aaa26c7c2e353fefc54d71d89bc5bf..eaaeb17e5986e5f7178b2851169444ac7e45be8d 100644 --- a/arch/arm/boot/.gitignore +++ b/arch/arm/boot/.gitignore @@ -3,4 +3,4 @@ zImage @@ -121071,7 +121071,7 @@ index 3c79f85..eaaeb17 100644 -*.dtb +*.dtb* diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst -index a1be75d..ad8dc1c 100644 +index a1be75d0a5fd3fbf4742e555046896ea6fa6fe65..ad8dc1c93d04bc929b551c5a47f67d244116c7e7 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -27,6 +27,7 @@ ifeq ("$(dtbinst-root)", "$(obj)") @@ -121105,7 +121105,7 @@ index a1be75d..ad8dc1c 100644 .PHONY: $(PHONY) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index ddf83d0..c819ddc 100644 +index ddf83d0181e73d30fb86f68c0fa0a3f888335c0c..c819ddc5b7662eb03c158f9d8fcf8fe965bf577b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -306,6 +306,16 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ @@ -121129,7 +121129,7 @@ index ddf83d0..c819ddc 100644 From 4d714e24e5ba1155db351cc3e88ca050732f82e4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Apr 2016 17:43:27 +0100 -Subject: [PATCH 059/112] BCM270X_DT: Don't generate "linux,phandle" props +Subject: [PATCH 059/141] BCM270X_DT: Don't generate "linux,phandle" props The EPAPR standard says to use "phandle" properties to store phandles, rather than the deprecated "linux,phandle" version. By default, dtc @@ -121142,7 +121142,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index c819ddc..b36099a 100644 +index c819ddc5b7662eb03c158f9d8fcf8fe965bf577b..b36099ab736a1373f61067a26c6e0d599d6c9a35 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -308,7 +308,7 @@ $(obj)/%.dtb: $(src)/%.dts FORCE @@ -121158,7 +121158,7 @@ index c819ddc..b36099a 100644 From c30c85ffd95266be29027b03268a028c67223d61 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 060/112] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 060/141] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -121188,7 +121188,7 @@ See: https://github.com/raspberrypi/linux/issues/1064 create mode 100644 drivers/leds/trigger/ledtrig-input.c diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c -index 61143f5..e98df59 100644 +index 61143f55597e42f9b45fe4efe33a1c51614b22b4..e98df59ae47faf14b0cde1d6330a1d75b5ceb651 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -46,8 +46,15 @@ static void gpio_led_set(struct led_classdev *led_cdev, @@ -121232,7 +121232,7 @@ index 61143f5..e98df59 100644 state = !!gpiod_get_value_cansleep(led_dat->gpiod); else diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig -index 5bda6a9..eb98cca 100644 +index 5bda6a9b56bbd90b4a3749f87bc0c6fda8dd5034..eb98cca4c239e5bb5c4abf7c731021ae56f3e91d 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -108,4 +108,11 @@ config LEDS_TRIGGER_CAMERA @@ -121248,7 +121248,7 @@ index 5bda6a9..eb98cca 100644 + endif # LEDS_TRIGGERS diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile -index 1abf48d..c03afdc 100644 +index 1abf48dacf7ebfcfb8208f7ae7bdf29d7c11ba32..c03afdc34404a406a658326bcf28a2f22b4f4122 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile @@ -8,3 +8,4 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o @@ -121258,7 +121258,7 @@ index 1abf48d..c03afdc 100644 +obj-$(CONFIG_LEDS_TRIGGER_INPUT) += ledtrig-input.o diff --git a/drivers/leds/trigger/ledtrig-input.c b/drivers/leds/trigger/ledtrig-input.c new file mode 100644 -index 0000000..27f8ebe +index 0000000000000000000000000000000000000000..27f8ebea43d86fc51c98db5c953da05bae063e3b --- /dev/null +++ b/drivers/leds/trigger/ledtrig-input.c @@ -0,0 +1,54 @@ @@ -121317,7 +121317,7 @@ index 0000000..27f8ebe +MODULE_DESCRIPTION("Set LED GPIO to Input \"trigger\""); +MODULE_LICENSE("GPL"); diff --git a/include/linux/leds.h b/include/linux/leds.h -index f203a8f..555cf15 100644 +index f203a8f89d30d0f3e214b43d2c72efea1bdad9f9..555cf15e87ee03c75d4bd836a3341645b020e857 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -50,6 +50,9 @@ struct led_classdev { @@ -121334,7 +121334,7 @@ index f203a8f..555cf15 100644 From 24bdd51b365f252f10d9c821c8e0078fb8f13277 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 061/112] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 061/141] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -121349,7 +121349,7 @@ Signed-off-by: Siarhei Siamashka 2 files changed, 35 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 4e73b6f..d3a8cc3 100644 +index 4e73b6f6b1c0547877af572dfca953748d9eabc3..d3a8cc3f7dde67e904c695edac39a97b9beab678 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank) @@ -121411,7 +121411,7 @@ index 4e73b6f..d3a8cc3 100644 case FBIOBLANK: ret = do_fb_ioctl(info, cmd, arg); diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h -index fb795c3..fa72af0 100644 +index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..fa72af0c981710fe80bacf4cf6612f6da19046ee 100644 --- a/include/uapi/linux/fb.h +++ b/include/uapi/linux/fb.h @@ -34,6 +34,11 @@ @@ -121430,7 +121430,7 @@ index fb795c3..fa72af0 100644 From 8e6a1ecf513ca54979ca315a5fa9d695b74cd902 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 062/112] Speed up console framebuffer imageblit function +Subject: [PATCH 062/141] 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 @@ -121462,7 +121462,7 @@ Signed-off-by: Harm Hanemaaijer 1 file changed, 147 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c -index a2bb276..436494f 100644 +index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466fafb10feb95 100644 --- a/drivers/video/fbdev/core/cfbimgblt.c +++ b/drivers/video/fbdev/core/cfbimgblt.c @@ -28,6 +28,11 @@ @@ -121642,7 +121642,7 @@ index a2bb276..436494f 100644 From 5ee7327d1d4e179603629aa9b2e0c859229df35a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 063/112] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 063/141] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -121670,7 +121670,7 @@ w1-gpio: Sort out the pullup/parasitic power tangle 5 files changed, 99 insertions(+), 9 deletions(-) diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index a373ae6..080e597 100644 +index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648cb0b2f000 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c @@ -23,6 +23,19 @@ @@ -121808,7 +121808,7 @@ index a373ae6..080e597 100644 } diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h -index 56a49ba..881d728 100644 +index 56a49ba41d83c0945203827946ba35dcb79897b0..881d72879b27fed8697ded8962e2f7c16796837d 100644 --- a/drivers/w1/w1.h +++ b/drivers/w1/w1.h @@ -171,6 +171,12 @@ struct w1_bus_master @@ -121825,7 +121825,7 @@ index 56a49ba..881d728 100644 u8, w1_slave_found_callback); }; diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c -index 20f766a..c4fbdb1 100644 +index 20f766afa4c7d7b8116565687541f84184fe61f4..c4fbdb1f25e961f9f7bacbac7b52a6d74cabaf12 100644 --- a/drivers/w1/w1_int.c +++ b/drivers/w1/w1_int.c @@ -122,6 +122,20 @@ int w1_add_master_device(struct w1_bus_master *master) @@ -121850,7 +121850,7 @@ index 20f766a..c4fbdb1 100644 mutex_lock(&w1_mlock); /* Search for the first available id (starting at 1). */ diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c -index 2820924..fd0550f 100644 +index 282092421cc9ee29d541e8722139387d0060c7db..fd0550f263f789b94038fd2fb2931022333029c2 100644 --- a/drivers/w1/w1_io.c +++ b/drivers/w1/w1_io.c @@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_master *dev) @@ -121880,7 +121880,7 @@ index 2820924..fd0550f 100644 } } diff --git a/include/linux/w1-gpio.h b/include/linux/w1-gpio.h -index d58594a..feae942 100644 +index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af803fb2ce 100644 --- a/include/linux/w1-gpio.h +++ b/include/linux/w1-gpio.h @@ -18,6 +18,7 @@ @@ -121892,10 +121892,10 @@ index d58594a..feae942 100644 unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From 145b44c325efd58934d57a02d96000e2a7db6f07 Mon Sep 17 00:00:00 2001 +From a2ad4339b0f86771a0e3672c18fcf4f46c9b9d1e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 064/112] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 064/141] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -121903,7 +121903,7 @@ Subject: [PATCH 064/112] config: Enable CONFIG_MEMCG, but leave it disabled 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index 86cb5c6..0b5668a 100644 +index 86cb5c6e89320f28e17691c6d69e58c9dfde81fb..0b5668a78c16322ac9f6b106c28cc414c0df239b 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -5587,7 +5587,7 @@ int __init cgroup_init_early(void) @@ -121945,10 +121945,10 @@ index 86cb5c6..0b5668a 100644 * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 79bbcc3cd4d9ef3e6559b70c14fe2e6321b2f2af Mon Sep 17 00:00:00 2001 +From bd26df216764a1f97ae02e788530617e5e43a7c3 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 065/112] ASoC: Add support for PCM5102A codec +Subject: [PATCH 065/141] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -121962,7 +121962,7 @@ Signed-off-by: Florian Meier create mode 100644 sound/soc/codecs/pcm5102a.c diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 7ef3a0c..4308f90 100644 +index 7ef3a0c16478d707b1ef843aecf0631a51813fb1..4308f90e688fce37f982ad4af0891a2411bcf420 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -100,6 +100,7 @@ config SND_SOC_ALL_CODECS @@ -121985,7 +121985,7 @@ index 7ef3a0c..4308f90 100644 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 185a712..7522017 100644 +index 185a712a7fe763bbba79fa1f4969cf5ba5424753..75220170be30c6144d503900e0f66ecd8de9ba6f 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -98,6 +98,7 @@ snd-soc-rt286-objs := rt286.o @@ -122006,7 +122006,7 @@ index 185a712..7522017 100644 obj-$(CONFIG_SND_SOC_RT5645) += snd-soc-rt5645.o diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c new file mode 100644 -index 0000000..7c6598e +index 0000000000000000000000000000000000000000..7c6598e717c523bc2e717861492a622ce66486c7 --- /dev/null +++ b/sound/soc/codecs/pcm5102a.c @@ -0,0 +1,70 @@ @@ -122081,10 +122081,10 @@ index 0000000..7c6598e +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 0d34d1087c699b4aaf836dcea97fe9eefc6c1da4 Mon Sep 17 00:00:00 2001 +From 745c673aa855b6ae308e8f80d3cb7a7591898dad Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 066/112] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 066/141] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -122099,7 +122099,7 @@ Signed-off-by: Florian Meier create mode 100644 sound/soc/bcm/hifiberry_dac.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index c5070ae..ce81f14 100644 +index c5070aec5996aafb2d9daaf75163e16a29bc6892..ce81f14a88d08c90fb565cf3d60321a9b9a1fcee 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -7,3 +7,10 @@ config SND_BCM2835_SOC_I2S @@ -122114,7 +122114,7 @@ index c5070ae..ce81f14 100644 + help + Say Y or M if you want to add support for HifiBerry DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index bc816b7..b877d38 100644 +index bc816b71e5a40958953bf7bf7e7bd08342e87738..b877d386363d935deefda3664089a4ae5b33b889 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o @@ -122127,7 +122127,7 @@ index bc816b7..b877d38 100644 +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c new file mode 100644 -index 0000000..29ecc08 +index 0000000000000000000000000000000000000000..29ecc08a227cdd4b3c6141935d0c5d21c2c6b4d8 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dac.c @@ -0,0 +1,123 @@ @@ -122255,10 +122255,10 @@ index 0000000..29ecc08 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From bc61760767c5d2b0f5a6f0d2dc1206d8e330f3cd Mon Sep 17 00:00:00 2001 +From 7c6047c9c68596b426253cba1727b85cfcd4a4b5 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 067/112] ASoC: Add support for Rpi-DAC +Subject: [PATCH 067/141] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -122272,7 +122272,7 @@ Subject: [PATCH 067/112] ASoC: Add support for Rpi-DAC create mode 100644 sound/soc/codecs/pcm1794a.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index ce81f14..900de22 100644 +index ce81f14a88d08c90fb565cf3d60321a9b9a1fcee..900de22369a66758bbe49861238b647bd2ca037e 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -14,3 +14,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -122287,7 +122287,7 @@ index ce81f14..900de22 100644 + help + Say Y or M if you want to add support for RPi-DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index b877d38..99c96b4 100644 +index b877d386363d935deefda3664089a4ae5b33b889..99c96b4c41e46c17c38c8691e7a8a33b1bc7b3bb 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,5 +5,7 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122300,7 +122300,7 @@ index b877d38..99c96b4 100644 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o diff --git a/sound/soc/bcm/rpi-dac.c b/sound/soc/bcm/rpi-dac.c new file mode 100644 -index 0000000..59dc89e +index 0000000000000000000000000000000000000000..59dc89ecabc082c0a1ed8adacdc4f0f1337a1c73 --- /dev/null +++ b/sound/soc/bcm/rpi-dac.c @@ -0,0 +1,119 @@ @@ -122424,7 +122424,7 @@ index 0000000..59dc89e +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 4308f90..513ab55 100644 +index 4308f90e688fce37f982ad4af0891a2411bcf420..513ab55fdc67af50f110f13ed6f6d6bb3740561e 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -101,6 +101,7 @@ config SND_SOC_ALL_CODECS @@ -122451,7 +122451,7 @@ index 4308f90..513ab55 100644 tristate depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 7522017..b87e845 100644 +index 75220170be30c6144d503900e0f66ecd8de9ba6f..b87e84543459776026be1b9a598fcc0c65abe987 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -98,6 +98,7 @@ snd-soc-rt286-objs := rt286.o @@ -122472,7 +122472,7 @@ index 7522017..b87e845 100644 obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c new file mode 100644 -index 0000000..afe1b41 +index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd843e17f4 --- /dev/null +++ b/sound/soc/codecs/pcm1794a.c @@ -0,0 +1,69 @@ @@ -122546,10 +122546,10 @@ index 0000000..afe1b41 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From be14d40355959bea3cf576fb9d7fa2eb056dec71 Mon Sep 17 00:00:00 2001 +From 9e8bab833521650ba4bdf57f3f0969c508a58f32 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 068/112] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 068/141] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -122568,7 +122568,7 @@ Signed-off-by: Daniel Matuschek 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c -index 8d91470..c846716 100644 +index 8d914702cae4a3fe2c0ca0599cd1ec79f7322c83..c846716b4ed1027ade5512e8be90801dc0fa1c7b 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c @@ -304,6 +304,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream, @@ -122598,10 +122598,10 @@ index 8d91470..c846716 100644 .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), -From 30b1068550d40af5f54baa141bf4b005e98f3032 Mon Sep 17 00:00:00 2001 +From 853b0edd41cbbb134a97e23d0628ff055642defe Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 069/112] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 069/141] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -122627,7 +122627,7 @@ adds the sample rate bits in the SPDIF status block. create mode 100644 sound/soc/bcm/hifiberry_digi.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 900de22..a34aff2 100644 +index 900de22369a66758bbe49861238b647bd2ca037e..a34aff27bb3010f58773edb942adccc193ea0d26 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -15,6 +15,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -122645,7 +122645,7 @@ index 900de22..a34aff2 100644 tristate "Support for RPi-DAC" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 99c96b4..4d53c58 100644 +index 99c96b4c41e46c17c38c8691e7a8a33b1bc7b3bb..4d53c58dc6ba41116d1fa210b6ba08ee75526dd2 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,7 +5,9 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122660,7 +122660,7 @@ index 99c96b4..4d53c58 100644 obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c new file mode 100644 -index 0000000..9840e15 +index 0000000000000000000000000000000000000000..9840e15d3e2be6396bc3ce6e74749408cc28c333 --- /dev/null +++ b/sound/soc/bcm/hifiberry_digi.c @@ -0,0 +1,224 @@ @@ -122889,10 +122889,10 @@ index 0000000..9840e15 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From c25a74622b6585a0979eab1f551828dc101f5501 Mon Sep 17 00:00:00 2001 +From e52a94d1473fe4a17e1f57946837c83ab695c5c8 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 070/112] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 070/141] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -122921,7 +122921,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/iqaudio-dac.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index a34aff2..38dcdd9 100644 +index a34aff27bb3010f58773edb942adccc193ea0d26..38dcdd975b406b9308e151f5d3a80dbca5163be5 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -28,3 +28,10 @@ config SND_BCM2708_SOC_RPI_DAC @@ -122936,7 +122936,7 @@ index a34aff2..38dcdd9 100644 + help + Say Y or M if you want to add support for IQaudIO-DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 4d53c58..08e4dc5 100644 +index 4d53c58dc6ba41116d1fa210b6ba08ee75526dd2..08e4dc55757855fedec6845b82fc5f9f91f1584b 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -7,7 +7,9 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122951,7 +122951,7 @@ index 4d53c58..08e4dc5 100644 +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c new file mode 100644 -index 0000000..b6b6dcf +index 0000000000000000000000000000000000000000..b6b6dcf6e5a420d2c39d220b91928cd8ca832de7 --- /dev/null +++ b/sound/soc/bcm/iqaudio-dac.c @@ -0,0 +1,148 @@ @@ -123104,10 +123104,10 @@ index 0000000..b6b6dcf +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 53fb9eb361080e792b70c1022075be11894e6dd0 Mon Sep 17 00:00:00 2001 +From e5f2edb351fb7868aa326d2a402e46ff2a903997 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 071/112] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 071/141] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -123115,7 +123115,7 @@ Reduces overhead when using X 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index ae83af6..4a7af9d 100644 +index ae83af649a607f67239f1a64bf45dd4b5770cc7d..4a7af9d0b910f59d17421ce14138400dfd5834f3 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -49,7 +49,7 @@ @@ -123143,10 +123143,10 @@ index ae83af6..4a7af9d 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From b0c6b97f9db0fd0bb98441b2b2bfbe11c6904a5d Mon Sep 17 00:00:00 2001 +From e1d2bdf3015ec7a029eb2750f12ab9f5f1a53a93 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 072/112] Added support for HiFiBerry DAC+ +Subject: [PATCH 072/141] 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. @@ -123183,7 +123183,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 46869d6..a202e6f 100644 +index 46869d696e4d7bba3962719fb9464684a2bb4c91..a202e6f0f294f5dd077871d6accf891f30c027ba 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o @@ -123196,7 +123196,7 @@ index 46869d6..a202e6f 100644 obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o diff --git a/drivers/clk/clk-hifiberry-dacpro.c b/drivers/clk/clk-hifiberry-dacpro.c new file mode 100644 -index 0000000..3e35d45 +index 0000000000000000000000000000000000000000..3e35d455f4559bc0100a1e268eeb200f7c10df7e --- /dev/null +++ b/drivers/clk/clk-hifiberry-dacpro.c @@ -0,0 +1,160 @@ @@ -123361,7 +123361,7 @@ index 0000000..3e35d45 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:clk-hifiberry-dacpro"); diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 38dcdd9..8c338b5 100644 +index 38dcdd975b406b9308e151f5d3a80dbca5163be5..8c338b5803042ad3834ee46a8dc93f53c53953f6 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -15,6 +15,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -123379,7 +123379,7 @@ index 38dcdd9..8c338b5 100644 tristate "Support for HifiBerry Digi" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 08e4dc5..a29538e 100644 +index 08e4dc55757855fedec6845b82fc5f9f91f1584b..a29538e56b62ef6e7098b81b81e1389a22beeafa 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,11 +5,13 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -123398,7 +123398,7 @@ index 08e4dc5..a29538e 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c new file mode 100644 -index 0000000..6560067 +index 0000000000000000000000000000000000000000..65600674c286e8a7be8efd352d5a80889221a1d6 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplus.c @@ -0,0 +1,358 @@ @@ -123761,7 +123761,7 @@ index 0000000..6560067 +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 047c489..090fe0e 100644 +index 047c48953a20cd4075000ac294a17fe59baedcde..090fe0ee08e8765f9edbb62777413bb69f87d693 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c @@ -854,7 +854,8 @@ static int pcm512x_set_dividers(struct snd_soc_dai *dai, @@ -123775,10 +123775,10 @@ index 047c489..090fe0e 100644 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From bf6dc6ad8ebda7b12333839942bf88f7f6b7dc63 Mon Sep 17 00:00:00 2001 +From 5fdededf3373a868ccebe6a78bec6afbc497707a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 073/112] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 073/141] 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. @@ -123807,7 +123807,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is create mode 100644 sound/soc/codecs/tas5713.h diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 8c338b5..7677c89 100644 +index 8c338b5803042ad3834ee46a8dc93f53c53953f6..7677c898773e6dd87c3ef385e380aa42c85e66d8 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -29,6 +29,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DIGI @@ -123825,7 +123825,7 @@ index 8c338b5..7677c89 100644 tristate "Support for RPi-DAC" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index a29538e..30db495 100644 +index a29538e56b62ef6e7098b81b81e1389a22beeafa..30db4951129c2d853c5cf631f4cd1263926692d0 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -7,11 +7,13 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -123844,7 +123844,7 @@ index a29538e..30db495 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c new file mode 100644 -index 0000000..0bb12e4 +index 0000000000000000000000000000000000000000..0bb12e4761ce60d3364c66b2bd0f8f7dbdcecfb1 --- /dev/null +++ b/sound/soc/bcm/hifiberry_amp.c @@ -0,0 +1,128 @@ @@ -123977,7 +123977,7 @@ index 0000000..0bb12e4 +MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 513ab55..ebcfbfd 100644 +index 513ab55fdc67af50f110f13ed6f6d6bb3740561e..ebcfbfd843db89e8ca86b318d2783c850079c15a 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -129,6 +129,7 @@ config SND_SOC_ALL_CODECS @@ -123999,7 +123999,7 @@ index 513ab55..ebcfbfd 100644 tristate diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index b87e845..9974a13 100644 +index b87e84543459776026be1b9a598fcc0c65abe987..9974a13a2c7ef4a9c476c34faa133ecc7e687272 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -132,6 +132,7 @@ snd-soc-sti-sas-objs := sti-sas.o @@ -124020,7 +124020,7 @@ index b87e845..9974a13 100644 obj-$(CONFIG_SND_SOC_TLV320AIC23_SPI) += snd-soc-tlv320aic23-spi.o diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c new file mode 100644 -index 0000000..9b27138 +index 0000000000000000000000000000000000000000..9b2713861dcbed751842ca29c88eb1eae5867411 --- /dev/null +++ b/sound/soc/codecs/tas5713.c @@ -0,0 +1,369 @@ @@ -124395,7 +124395,7 @@ index 0000000..9b27138 +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/tas5713.h b/sound/soc/codecs/tas5713.h new file mode 100644 -index 0000000..8f019e0 +index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8f612a342 --- /dev/null +++ b/sound/soc/codecs/tas5713.h @@ -0,0 +1,210 @@ @@ -124610,10 +124610,10 @@ index 0000000..8f019e0 + +#endif /* _TAS5713_H */ -From 183b5c37caff8ddff07bcb2caec691eb70832b56 Mon Sep 17 00:00:00 2001 +From c92a0191f0d4b3bd87d3db019b36db9b106bacd5 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 074/112] Update ds1307 driver for device-tree support +Subject: [PATCH 074/141] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -124621,7 +124621,7 @@ Signed-off-by: Ryan Coe 1 file changed, 8 insertions(+) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index e94eb09..f5d93be 100644 +index e94eb0952286300ec9847cddaf317476ddd05423..f5d93be977142d306c787547736e8722bfe51b3c 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -1608,6 +1608,14 @@ static int ds1307_remove(struct i2c_client *client) @@ -124640,10 +124640,10 @@ index e94eb09..f5d93be 100644 .driver = { .name = "rtc-ds1307", -From 81416f01fc3b9536e6abeb2aae58dbcefcd9c415 Mon Sep 17 00:00:00 2001 +From 1ded7231c660bb27020a2bc7ac257d71b20b769e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 27 Feb 2015 15:10:24 +0000 -Subject: [PATCH 075/112] enc28j60: Add device tree compatible string and an +Subject: [PATCH 075/141] enc28j60: Add device tree compatible string and an overlay --- @@ -124651,7 +124651,7 @@ Subject: [PATCH 075/112] enc28j60: Add device tree compatible string and an 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c -index 86ea17e..a1b20c1 100644 +index 86ea17e7ba7bff17f40755663e1b10b7d7b4cbcc..a1b20c146eb8f3d9af757b79c19be96ed43adfba 100644 --- a/drivers/net/ethernet/microchip/enc28j60.c +++ b/drivers/net/ethernet/microchip/enc28j60.c @@ -1630,9 +1630,16 @@ static int enc28j60_remove(struct spi_device *spi) @@ -124672,10 +124672,10 @@ index 86ea17e..a1b20c1 100644 .probe = enc28j60_probe, .remove = enc28j60_remove, -From 473716bb8ebcb9e9236215b04d395ab90ac6ff8a Mon Sep 17 00:00:00 2001 +From 4bb675b68ba0fe7f92c59a932f32bbe48dd15517 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 076/112] Add driver for rpi-proto +Subject: [PATCH 076/141] 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 @@ -124695,7 +124695,7 @@ Signed-off-by: Waldemar Brodkorb create mode 100644 sound/soc/bcm/rpi-proto.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 7677c89..8669a9a 100644 +index 7677c898773e6dd87c3ef385e380aa42c85e66d8..8669a9ac9734c465c7dc3f40c864f71b68a6de75 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -43,6 +43,13 @@ config SND_BCM2708_SOC_RPI_DAC @@ -124713,7 +124713,7 @@ index 7677c89..8669a9a 100644 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 30db495..4f5ab1f 100644 +index 30db4951129c2d853c5cf631f4cd1263926692d0..4f5ab1fa4414e64a164eaa4575ffaa06d1cbf332 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -9,6 +9,7 @@ snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o @@ -124732,7 +124732,7 @@ index 30db495..4f5ab1f 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/rpi-proto.c b/sound/soc/bcm/rpi-proto.c new file mode 100644 -index 0000000..9db678e +index 0000000000000000000000000000000000000000..9db678e885efd63d84d60a098a84ed6772b19a2d --- /dev/null +++ b/sound/soc/bcm/rpi-proto.c @@ -0,0 +1,154 @@ @@ -124891,10 +124891,10 @@ index 0000000..9db678e +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From bcfbb74333f742188084c02b8327cfb822cdd818 Mon Sep 17 00:00:00 2001 +From 85acb10c89a7262a5d04063a0041391839b88a91 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 077/112] config: Add default configs +Subject: [PATCH 077/141] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1279 +++++++++++++++++++++++++++++++++++ @@ -124905,7 +124905,7 @@ Subject: [PATCH 077/112] config: Add default configs diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig new file mode 100644 -index 0000000..f42c5eb +index 0000000000000000000000000000000000000000..f42c5ebcbff904746a282a3d6fb13483e32c7fd8 --- /dev/null +++ b/arch/arm/configs/bcm2709_defconfig @@ -0,0 +1,1279 @@ @@ -126190,7 +126190,7 @@ index 0000000..f42c5eb +CONFIG_LIBCRC32C=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig new file mode 100644 -index 0000000..8bd0207 +index 0000000000000000000000000000000000000000..8bd02073ab8f35ef28db5fcd628e3e44a922c0ea --- /dev/null +++ b/arch/arm/configs/bcmrpi_defconfig @@ -0,0 +1,1289 @@ @@ -127484,10 +127484,10 @@ index 0000000..8bd0207 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 06b11545902efde29da94bbaa0f0b51f68f6296b Mon Sep 17 00:00:00 2001 +From d29e74c91e270b927e6f5a23cbeda8922949ca7b Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 078/112] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 078/141] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -127500,7 +127500,7 @@ rpi-ft5406: Use firmware API create mode 100644 drivers/input/touchscreen/rpi-ft5406.c diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig -index 8ecdc38..1e4e7a0 100644 +index 8ecdc38fd489c0dfe8eb383a81259983a99d7d96..1e4e7a005b58dc9eee1c4e7034d6652a30151827 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -630,6 +630,13 @@ config TOUCHSCREEN_EDT_FT5X06 @@ -127518,7 +127518,7 @@ index 8ecdc38..1e4e7a0 100644 tristate "Renesas MIGO-R touchscreen" depends on SH_MIGOR && I2C diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index f42975e..92590b3 100644 +index f42975e719e07205081f08d4e4cd882a792518dc..92590b30828b5c5a5411c2f3510bcb28a7f69afd 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -29,6 +29,7 @@ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o @@ -127531,7 +127531,7 @@ index f42975e..92590b3 100644 obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o diff --git a/drivers/input/touchscreen/rpi-ft5406.c b/drivers/input/touchscreen/rpi-ft5406.c new file mode 100644 -index 0000000..b27dbee +index 0000000000000000000000000000000000000000..b27dbee8f56773dbd2a5503dc864747d0bebdddc --- /dev/null +++ b/drivers/input/touchscreen/rpi-ft5406.c @@ -0,0 +1,246 @@ @@ -127782,10 +127782,10 @@ index 0000000..b27dbee +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 7e04cca023336e03eb942b012512475fe82e0d87 Mon Sep 17 00:00:00 2001 +From b1f0e3e828715ed603ded1b9bc159a2467c109bf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 079/112] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 079/141] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -127826,7 +127826,7 @@ Signed-off-by: Phil Elwell create mode 100644 arch/arm/lib/memset_rpi.S diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h -index cf4f3aa..9fe7780 100644 +index cf4f3aad0fc1c2154c6cf3839ff21bb1c46d6499..9fe7780002ce1847b9009ff9b741b56f34e19256 100644 --- a/arch/arm/include/asm/string.h +++ b/arch/arm/include/asm/string.h @@ -24,6 +24,11 @@ extern void * memchr(const void *, int, __kernel_size_t); @@ -127842,7 +127842,7 @@ index cf4f3aa..9fe7780 100644 #define memset(p,v,n) \ diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index 35c9db8..52d3401 100644 +index 35c9db857ebe9c7d53715ec42518a6e9fbe1dc6e..52d3401ae932b565f732294e5ef2f7a4c184f0ed 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h @@ -493,6 +493,9 @@ do { \ @@ -127856,7 +127856,7 @@ index 35c9db8..52d3401 100644 __copy_from_user(void *to, const void __user *from, unsigned long n) { diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile -index d8a7807..9c7dc5b 100644 +index d8a780799506b59bc2edd3f6a513021bcb45ebc0..9c7dc5bc616311a5181a11c479da7cee64208f58 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -6,9 +6,8 @@ @@ -127890,7 +127890,7 @@ index d8a7807..9c7dc5b 100644 diff --git a/arch/arm/lib/arm-mem.h b/arch/arm/lib/arm-mem.h new file mode 100644 -index 0000000..5d4bda1 +index 0000000000000000000000000000000000000000..5d4bda19ad207c65e7b7c6d6d733087faa96a8cc --- /dev/null +++ b/arch/arm/lib/arm-mem.h @@ -0,0 +1,159 @@ @@ -128054,7 +128054,7 @@ index 0000000..5d4bda1 +92: +.endm diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S -index 1512beb..3da60dd 100644 +index 1512bebfbf1b18ad317648891385a24e93d1f35f..3da60dd2caab0968e2156cf8705ebbe5f2551a8b 100644 --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S @@ -89,11 +89,13 @@ @@ -128074,7 +128074,7 @@ index 1512beb..3da60dd 100644 .align 0 diff --git a/arch/arm/lib/exports_rpi.c b/arch/arm/lib/exports_rpi.c new file mode 100644 -index 0000000..1f82604 +index 0000000000000000000000000000000000000000..1f826047db754ffde0077ac291b9605e201abd07 --- /dev/null +++ b/arch/arm/lib/exports_rpi.c @@ -0,0 +1,37 @@ @@ -128117,7 +128117,7 @@ index 0000000..1f82604 +EXPORT_SYMBOL(memcmp); diff --git a/arch/arm/lib/memcmp_rpi.S b/arch/arm/lib/memcmp_rpi.S new file mode 100644 -index 0000000..bf6e4ed +index 0000000000000000000000000000000000000000..bf6e4edfc9d3b9882b72edada681b79ce37850df --- /dev/null +++ b/arch/arm/lib/memcmp_rpi.S @@ -0,0 +1,285 @@ @@ -128408,7 +128408,7 @@ index 0000000..bf6e4ed +ENDPROC(memcmp) diff --git a/arch/arm/lib/memcpy_rpi.S b/arch/arm/lib/memcpy_rpi.S new file mode 100644 -index 0000000..30f8a90 +index 0000000000000000000000000000000000000000..30f8a9089a835ff265ce5aaf98f066258608eb92 --- /dev/null +++ b/arch/arm/lib/memcpy_rpi.S @@ -0,0 +1,61 @@ @@ -128475,7 +128475,7 @@ index 0000000..30f8a90 +ENDPROC(mmiocpy) diff --git a/arch/arm/lib/memcpymove.h b/arch/arm/lib/memcpymove.h new file mode 100644 -index 0000000..d8be584 +index 0000000000000000000000000000000000000000..d8be5849c8609f4ead85527ec527184614a77371 --- /dev/null +++ b/arch/arm/lib/memcpymove.h @@ -0,0 +1,506 @@ @@ -128987,7 +128987,7 @@ index 0000000..d8be584 +.endm diff --git a/arch/arm/lib/memmove_rpi.S b/arch/arm/lib/memmove_rpi.S new file mode 100644 -index 0000000..8b0760c +index 0000000000000000000000000000000000000000..8b0760c0904c51ef205e56d238b5df8a5226d7cf --- /dev/null +++ b/arch/arm/lib/memmove_rpi.S @@ -0,0 +1,61 @@ @@ -129054,7 +129054,7 @@ index 0000000..8b0760c +ENDPROC(memmove) diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S new file mode 100644 -index 0000000..7067415 +index 0000000000000000000000000000000000000000..70674158d76cd38d8d70c987aa54a6b477e4fa91 --- /dev/null +++ b/arch/arm/lib/memset_rpi.S @@ -0,0 +1,123 @@ @@ -129182,7 +129182,7 @@ index 0000000..7067415 +ENDPROC(memset) +ENDPROC(mmioset) diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c -index 6bd1089..cd17dd1 100644 +index 6bd1089b07e0960830ed6bd6a8345202b7efd8b0..cd17dd11ebe7bbe00089e70cd2ccea74e0400200 100644 --- a/arch/arm/lib/uaccess_with_memcpy.c +++ b/arch/arm/lib/uaccess_with_memcpy.c @@ -22,6 +22,14 @@ @@ -129341,10 +129341,10 @@ index 6bd1089..cd17dd1 100644 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) -From fafc18960a14b1ad7a75bb60d0366e8d406e350f Mon Sep 17 00:00:00 2001 +From 7199e91b2726ed1ef6967b5d96db5b25eedc0622 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 080/112] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 080/141] 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 @@ -129362,7 +129362,7 @@ of the trigger signal may be preferable. 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c -index be3d81f..a030ae9 100644 +index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e821869eedd320 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c @@ -49,9 +49,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev) @@ -129379,10 +129379,10 @@ index be3d81f..a030ae9 100644 "%s: pm_power_off function already registered", __func__); -From a482e488bdc6209d37a50ee19a5fa5105088e13a Mon Sep 17 00:00:00 2001 +From d977fc2b9dbfdcefce0da0174f74f4bd17b31641 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 081/112] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 081/141] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -129406,7 +129406,7 @@ Subject: [PATCH 081/112] mfd: Add Raspberry Pi Sense HAT core driver create mode 100644 include/linux/mfd/rpisense/joystick.h diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig -index 4215b53..4364d7c 100644 +index 4215b5382092c15d693e62de6e029626e9fa551d..4364d7c85543b4537c839df95cf5b524948a06c2 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -330,4 +330,12 @@ config JOYSTICK_MAPLE @@ -129423,7 +129423,7 @@ index 4215b53..4364d7c 100644 + endif diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile -index 92dc0de..1758160 100644 +index 92dc0de9dfeda43171a901f96c40bebe0e7a5ae2..1758160374938dd150b8a380797b6decc00a64aa 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile @@ -32,4 +32,5 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o @@ -129434,7 +129434,7 @@ index 92dc0de..1758160 100644 diff --git a/drivers/input/joystick/rpisense-js.c b/drivers/input/joystick/rpisense-js.c new file mode 100644 -index 0000000..6a41676 +index 0000000000000000000000000000000000000000..6a416769065d2198344792eb02d8e38da1d03fd4 --- /dev/null +++ b/drivers/input/joystick/rpisense-js.c @@ -0,0 +1,153 @@ @@ -129592,7 +129592,7 @@ index 0000000..6a41676 +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index eea61e3..d2c3b72 100644 +index eea61e349e26afe4b0f9d52a3f036877f0e2403a..d2c3b724604a6ce660bbeffc754288c9168c447e 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -10,6 +10,14 @@ config MFD_CORE @@ -129611,7 +129611,7 @@ index eea61e3..d2c3b72 100644 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index 5eaa6465d..8dc2dde 100644 +index 5eaa6465d0a6e2bf20df77951b573b4c0ccc477f..8dc2dde11a22226ef4ed91b0eb69dfc9b4b84298 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -203,3 +203,5 @@ intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o @@ -129622,7 +129622,7 @@ index 5eaa6465d..8dc2dde 100644 +obj-$(CONFIG_MFD_RPISENSE_CORE) += rpisense-core.o diff --git a/drivers/mfd/rpisense-core.c b/drivers/mfd/rpisense-core.c new file mode 100644 -index 0000000..eea9312 +index 0000000000000000000000000000000000000000..eea9312dc96a496ce846b0c5a83e6e4f3be5ee1e --- /dev/null +++ b/drivers/mfd/rpisense-core.c @@ -0,0 +1,157 @@ @@ -129784,7 +129784,7 @@ index 0000000..eea9312 +MODULE_LICENSE("GPL"); + diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index ee72c3a..5be1a31 100644 +index ee72c3a2866f716cd68c646b7c501589a05b48f5..5be1a31a836a0528975f259fabb793bef4d2aa71 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2502,3 +2502,16 @@ config FB_SM712 @@ -129805,7 +129805,7 @@ index ee72c3a..5be1a31 100644 + help + This is the framebuffer driver for the Raspberry Pi Sense HAT diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index df473d8..474c567 100644 +index df473d825c2e2481a871d794317e56b8d643370f..474c5673b275a82d60ad08ddf3bdc13879d3722a 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -149,6 +149,7 @@ obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o @@ -129818,7 +129818,7 @@ index df473d8..474c567 100644 obj-$(CONFIG_FB_VIRTUAL) += vfb.o diff --git a/drivers/video/fbdev/rpisense-fb.c b/drivers/video/fbdev/rpisense-fb.c new file mode 100644 -index 0000000..26432a5 +index 0000000000000000000000000000000000000000..26432a5a0b4b4a5198768eceb1e34da99fe1efb2 --- /dev/null +++ b/drivers/video/fbdev/rpisense-fb.c @@ -0,0 +1,293 @@ @@ -130117,7 +130117,7 @@ index 0000000..26432a5 + diff --git a/include/linux/mfd/rpisense/core.h b/include/linux/mfd/rpisense/core.h new file mode 100644 -index 0000000..4856aa3 +index 0000000000000000000000000000000000000000..4856aa3c8b0661647ec1b5466d3a8743c02b1ddb --- /dev/null +++ b/include/linux/mfd/rpisense/core.h @@ -0,0 +1,47 @@ @@ -130170,7 +130170,7 @@ index 0000000..4856aa3 +#endif diff --git a/include/linux/mfd/rpisense/framebuffer.h b/include/linux/mfd/rpisense/framebuffer.h new file mode 100644 -index 0000000..2ba95d7 +index 0000000000000000000000000000000000000000..2ba95d7eebaf9ccce910b43835286df94cb7d075 --- /dev/null +++ b/include/linux/mfd/rpisense/framebuffer.h @@ -0,0 +1,32 @@ @@ -130208,7 +130208,7 @@ index 0000000..2ba95d7 +#endif diff --git a/include/linux/mfd/rpisense/joystick.h b/include/linux/mfd/rpisense/joystick.h new file mode 100644 -index 0000000..56196dc +index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c9c9cff39 --- /dev/null +++ b/include/linux/mfd/rpisense/joystick.h @@ -0,0 +1,35 @@ @@ -130248,10 +130248,10 @@ index 0000000..56196dc + +#endif -From 92a9de7b61e836be3fb0c8427aeb84c0ffc236c2 Mon Sep 17 00:00:00 2001 +From 2c7768f684afb351ca49e9cabbcc0788bfd43d7d Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 082/112] RaspiDAC3 support +Subject: [PATCH 082/141] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -130269,7 +130269,7 @@ Signed-off-by: Matthias Reichl create mode 100644 sound/soc/bcm/raspidac3.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 8669a9a..1a3f826 100644 +index 8669a9ac9734c465c7dc3f40c864f71b68a6de75..1a3f8264403d64690fef60d41df38d21d3eb6030 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -56,3 +56,11 @@ config SND_BCM2708_SOC_IQAUDIO_DAC @@ -130285,7 +130285,7 @@ index 8669a9a..1a3f826 100644 + help + Say Y or M if you want to add support for RaspiDAC Rev.3x. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 4f5ab1f..b21e11e 100644 +index 4f5ab1fa4414e64a164eaa4575ffaa06d1cbf332..b21e11ee36e17a29bfae9c4eda78f73ca9c23d48 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -11,6 +11,7 @@ snd-soc-hifiberry-amp-objs := hifiberry_amp.o @@ -130303,7 +130303,7 @@ index 4f5ab1f..b21e11e 100644 +obj-$(CONFIG_SND_BCM2708_SOC_RASPIDAC3) += snd-soc-raspidac3.o diff --git a/sound/soc/bcm/raspidac3.c b/sound/soc/bcm/raspidac3.c new file mode 100644 -index 0000000..e7422e2 +index 0000000000000000000000000000000000000000..e7422e2dd3d70622a48ab3b2e192986931235764 --- /dev/null +++ b/sound/soc/bcm/raspidac3.c @@ -0,0 +1,192 @@ @@ -130500,10 +130500,10 @@ index 0000000..e7422e2 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 4ae569b2446992aec7e141bca491273d17a71d34 Mon Sep 17 00:00:00 2001 +From a94dc62217a15d26791f86b1db85a7f4231426e0 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:02:34 +0100 -Subject: [PATCH 083/112] tpa6130a2: Add headphone switch control +Subject: [PATCH 083/141] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -130511,7 +130511,7 @@ Signed-off-by: Jan Grulich 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c -index 11d85c5..3caaa17 100644 +index 11d85c5c787addb8d8add7fc2b52ab91cc49b63d..3caaa17e28e91e995d6781ca7f88b747da542e9b 100644 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c @@ -4,6 +4,7 @@ @@ -130594,10 +130594,10 @@ index 11d85c5..3caaa17 100644 /* -From 353a064ad2a9698dfda0049f431d999d50eb78af Mon Sep 17 00:00:00 2001 +From 0aaa43bd38b094eae36ddb43178c49f50288ec07 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 084/112] rpi_display: add backlight driver and overlay +Subject: [PATCH 084/141] 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 @@ -130612,7 +130612,7 @@ Signed-off-by: Gordon Hollingworth create mode 100644 drivers/video/backlight/rpi_backlight.c diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig -index 5ffa4b4..c3023ab 100644 +index 5ffa4b4e26c0e874d3f63068456b3d72d8b4beb5..c3023ab052b477dde522a262a360ec312e94de22 100644 --- a/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig @@ -265,6 +265,12 @@ config BACKLIGHT_PWM @@ -130629,7 +130629,7 @@ index 5ffa4b4..c3023ab 100644 tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile -index 16ec534..00eff87 100644 +index 16ec534cff3044209adbae3495c19d97fee3ef73..00eff87fb3391300e78f055fa05d3b9647fa053d 100644 --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile @@ -50,6 +50,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o @@ -130642,7 +130642,7 @@ index 16ec534..00eff87 100644 obj-$(CONFIG_BACKLIGHT_TOSA) += tosa_bl.o diff --git a/drivers/video/backlight/rpi_backlight.c b/drivers/video/backlight/rpi_backlight.c new file mode 100644 -index 0000000..14a0d9b +index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd509fcbaad --- /dev/null +++ b/drivers/video/backlight/rpi_backlight.c @@ -0,0 +1,119 @@ @@ -130766,10 +130766,10 @@ index 0000000..14a0d9b +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 559659c0381164c649de4efef4b4be396234aa92 Mon Sep 17 00:00:00 2001 +From cff86b59272d0ccc3fb71e0e19e0a6e7247beef8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 085/112] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 085/141] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -130781,7 +130781,7 @@ request that the VPU toggles LEDs. create mode 100644 drivers/gpio/gpio-bcm-virt.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 5f3429f..86cb971 100644 +index 5f3429f0bf46970fcf376c79dca6633cd7469d5a..86cb971105296fea399bc3c51b69ba0a8834f9e6 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -142,6 +142,12 @@ config GPIO_BCM_KONA @@ -130798,7 +130798,7 @@ index 5f3429f..86cb971 100644 tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 1e0b74f..908596d 100644 +index 1e0b74f3b1ed98021f3d05b067b749b7cb1c652d..908596d99ce7b0390bfdec32a27de996efdeccd3 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o @@ -130811,7 +130811,7 @@ index 1e0b74f..908596d 100644 obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o diff --git a/drivers/gpio/gpio-bcm-virt.c b/drivers/gpio/gpio-bcm-virt.c new file mode 100644 -index 0000000..f3e0f16 +index 0000000000000000000000000000000000000000..f3e0f1620b979e4fa3c7e556eb785ac259d8cfc4 --- /dev/null +++ b/drivers/gpio/gpio-bcm-virt.c @@ -0,0 +1,179 @@ @@ -130995,17 +130995,17 @@ index 0000000..f3e0f16 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From 98bcab73852026c0cf1a2b0b74e2b0fd0f3b2ca4 Mon Sep 17 00:00:00 2001 +From d6420d123d7a7a89a53d795afb0b45b2f37cfebc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 4 Mar 2016 12:49:09 +0000 -Subject: [PATCH 086/112] DRM_VC4: Allow to be built for ARCH_BCM270x +Subject: [PATCH 086/141] DRM_VC4: Allow to be built for ARCH_BCM270x --- drivers/gpu/drm/vc4/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig -index 5848104..870fea5 100644 +index 584810474e5b84b211a5cbda681ea04c41bc0055..870fea56438d718c3887f1192afdab176e72e38f 100644 --- a/drivers/gpu/drm/vc4/Kconfig +++ b/drivers/gpu/drm/vc4/Kconfig @@ -1,6 +1,6 @@ @@ -131017,10 +131017,10 @@ index 5848104..870fea5 100644 select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER -From c2eadbd8dcf31ea99b87877f22c89cbe470cdb93 Mon Sep 17 00:00:00 2001 +From 75a085c420a81eed58a3911faba1d3b1d04d56f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 087/112] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 087/141] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -131032,7 +131032,7 @@ use the same logic. 1 file changed, 5 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 7c198e0..4f9e97b 100644 +index 7c198e0a3178ae2ab9805c9f317c722d18b2dadf..4f9e97b8a8eeaf0a728a419e3d6614533cb67f4b 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2413,7 +2413,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, @@ -131049,10 +131049,10 @@ index 7c198e0..4f9e97b 100644 uap->old_cr = 0; uap->port.dev = dev; -From a1d9a712a687313fb8fdaac4472998dfa0e993c3 Mon Sep 17 00:00:00 2001 +From 821d034efbd69567ce3c88a3d4a53d945e24e72e Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 088/112] OF: DT-Overlay configfs interface +Subject: [PATCH 088/141] 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. @@ -131105,7 +131105,7 @@ Signed-off-by: Slawomir Stepien diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 -index 0000000..5fa43e0 +index 0000000000000000000000000000000000000000..5fa43e0643072c7963daddc18cec7772910378ad --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ @@ -131141,7 +131141,7 @@ index 0000000..5fa43e0 +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig -index e2a4841..7e5e6c4 100644 +index e2a48415d9691059f1beb2afee7f134019d65ecf..7e5e6c4e77e070692cab0ed2e4b827c08c0a1c29 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -112,4 +112,11 @@ config OF_OVERLAY @@ -131157,7 +131157,7 @@ index e2a4841..7e5e6c4 100644 + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile -index 156c072..46c8f57 100644 +index 156c072b31177eab081de4e54ab28b7815e32c95..46c8f5754ed84410d7dea83bfedcbdebf3f85453 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,4 +1,5 @@ @@ -131168,7 +131168,7 @@ index 156c072..46c8f57 100644 obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c new file mode 100644 -index 0000000..68f889d +index 0000000000000000000000000000000000000000..68f889d9fa1dc19d18964aa9fd208137ed51f013 --- /dev/null +++ b/drivers/of/configfs.c @@ -0,0 +1,311 @@ @@ -131484,10 +131484,10 @@ index 0000000..68f889d +} +late_initcall(of_cfs_init); -From 010724782f8b309349d3c2a12b6dd83d77162b49 Mon Sep 17 00:00:00 2001 +From 2e3dcfa4f8c8be353bfd3e7f1178c300cfab8989 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 089/112] brcm: adds support for BCM43341 wifi +Subject: [PATCH 089/141] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++ @@ -131495,7 +131495,7 @@ Subject: [PATCH 089/112] brcm: adds support for BCM43341 wifi 2 files changed, 3 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 43fd3f4..c3c7c79 100644 +index 43fd3f402ebad89f89f7d5f8afdce9613d87b5de..c3c7c799c62014cada37bed43dfa32ac4df5757e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -606,6 +606,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-sdio.bin", "brcmfmac4329-sdio.txt"); @@ -131515,7 +131515,7 @@ index 43fd3f4..c3c7c79 100644 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h -index 699f2c2..15598b3 100644 +index 699f2c2782ee9d898a25c95e0c5d45744d0777ff..15598b3687a213d8c00d45965a6b9351759f47fc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h @@ -35,6 +35,7 @@ @@ -131527,10 +131527,10 @@ index 699f2c2..15598b3 100644 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From f55489fb4ade061ccbd693371660caf36d211553 Mon Sep 17 00:00:00 2001 +From d043682615a7b954daf23e8eadcaaf8fe9bd9f85 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 090/112] brcmfmac: Disable power management +Subject: [PATCH 090/141] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -131542,7 +131542,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index d5c2a27..5a08f59 100644 +index d5c2a27573b45cdfcbb72bf32dedc1dcd0af82da..5a08f59fdfdaa9bd9fef3cd2344c0772b75371cc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2623,6 +2623,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, @@ -131555,10 +131555,10 @@ index d5c2a27..5a08f59 100644 if (!check_vif_up(ifp->vif)) { -From 36c71ecff2ba851b274ca489187e2e5d355d92a3 Mon Sep 17 00:00:00 2001 +From 5527e2683df540bf0e04b5a37c8c013f6c536246 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Apr 2016 17:13:47 +0100 -Subject: [PATCH 091/112] brcmfmac: Use original country code as a fallback +Subject: [PATCH 091/141] brcmfmac: Use original country code as a fallback Commit 73345fd212980d2e28a5c6d83801c903bd773680: @@ -131574,7 +131574,7 @@ Signed-off-by: Phil Elwell 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 5a08f59..ceba7b6 100644 +index 5a08f59fdfdaa9bd9fef3cd2344c0772b75371cc..ceba7b6909b2b2bf4045c5f7640d531f497b505f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -6516,12 +6516,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], @@ -131617,10 +131617,10 @@ index 5a08f59..ceba7b6 100644 ccreq->country_abbrev[1] = alpha2[1]; ccreq->country_abbrev[2] = 0; -From 8ba32398532dcaaf54d48103b2df185368f60ea1 Mon Sep 17 00:00:00 2001 +From 50f7f96858d42db11796656f882fb42b3de29615 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 19 May 2016 15:36:09 +0100 -Subject: [PATCH 092/112] brcmfmac: Plug memory leak in brcmf_fill_bss_param +Subject: [PATCH 092/141] brcmfmac: Plug memory leak in brcmf_fill_bss_param See: https://github.com/raspberrypi/linux/issues/1471 @@ -131630,7 +131630,7 @@ Signed-off-by: Phil Elwell 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index ceba7b6..afb0154 100644 +index ceba7b6909b2b2bf4045c5f7640d531f497b505f..afb01540261e99c87209aaa53aef439eb297f7c2 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2413,7 +2413,7 @@ static void brcmf_fill_bss_param(struct brcmf_if *ifp, struct station_info *si) @@ -131653,10 +131653,10 @@ index ceba7b6..afb0154 100644 static s32 -From 174c8e3972351c640c66bcd6693830f9e92b42b9 Mon Sep 17 00:00:00 2001 +From 317d6bfb4f54298726f10fbb8b693c1f9dd9d543 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 093/112] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 093/141] 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. @@ -131665,7 +131665,7 @@ other with conf_req and conf_rsp messages, in a demented game of tag. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c -index 0879d64..5161ab3 100644 +index 0879d64b1caf58afb6e5d494c07d9ab7e7cdf983..5161ab30fd533d50f516bb93d5b9f402422e2974 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -310,7 +310,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) @@ -131679,10 +131679,10 @@ index 0879d64..5161ab3 100644 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 0c9ada13c0fdcc04f016f6a1c2915bbea014d623 Mon Sep 17 00:00:00 2001 +From cf05bde171de8b4c833b94bdd10c52ac74e5032b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 094/112] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 094/141] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -131693,7 +131693,7 @@ Signed-off-by: Eric Anholt 3 files changed, 16 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_debugfs.c b/drivers/gpu/drm/vc4/vc4_debugfs.c -index d76ad10..a99aa86 100644 +index d76ad10b07fda3bb674f45c2151e621c60633364..a99aa8676af774977778edfa2604b6b9df31a4dc 100644 --- a/drivers/gpu/drm/vc4/vc4_debugfs.c +++ b/drivers/gpu/drm/vc4/vc4_debugfs.c @@ -17,6 +17,7 @@ @@ -131705,7 +131705,7 @@ index d76ad10..a99aa86 100644 {"hvs_regs", vc4_hvs_debugfs_regs, 0}, {"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0}, diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index fa2ad15..f092986 100644 +index fa2ad15d4f62b8baea68e09b52f4edf1c70bb6b6..f0929867b2337eaf781d64860c70cafd006c41b7 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -440,6 +440,7 @@ void vc4_job_handle_completed(struct vc4_dev *vc4); @@ -131717,7 +131717,7 @@ index fa2ad15..f092986 100644 /* vc4_hdmi.c */ extern struct platform_driver vc4_hdmi_driver; diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index 8d4384f..aa4517c 100644 +index 8d4384f8b78d2dbe88df720db6df67c0e1a31e53..aa4517c294540ac7ebc5c8c1da6b9d147409fcb4 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -32,6 +32,20 @@ @@ -131742,10 +131742,10 @@ index 8d4384f..aa4517c 100644 vc4_queue_hangcheck(struct drm_device *dev) { -From 2c2e90ab782f4b9db459c66e0154a05d34f4f4df Mon Sep 17 00:00:00 2001 +From e39aef9e56740de914419ba554e389aeb510cf17 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 095/112] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 095/141] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -131754,7 +131754,7 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+) diff --git a/include/uapi/drm/Kbuild b/include/uapi/drm/Kbuild -index 9355dd8..68828bf 100644 +index 9355dd8eff3ba39401dfe37e7fbf7737f0397f11..68828bf586f05a8d9b0a6ab409ee91a700e3d296 100644 --- a/include/uapi/drm/Kbuild +++ b/include/uapi/drm/Kbuild @@ -15,6 +15,7 @@ header-y += radeon_drm.h @@ -131766,10 +131766,10 @@ index 9355dd8..68828bf 100644 header-y += vmwgfx_drm.h header-y += msm_drm.h -From e4d849c391c93467f940a0a0597aadecac8280c3 Mon Sep 17 00:00:00 2001 +From 1445705cda455057da82f094d744b42614990081 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Mar 2016 17:23:15 +0100 -Subject: [PATCH 096/112] cpufreq: Temporarily ignore io_is_busy=1 +Subject: [PATCH 096/141] cpufreq: Temporarily ignore io_is_busy=1 To speed testing of the new sdhost driver that adapts to changes in core_freq, hack the on-demand governor to treat io_is_busy=1 as @@ -131782,7 +131782,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c -index acd8027..72c5a4c 100644 +index acd80272ded67b46ad651cb0eceb92bdf71e26d7..72c5a4c7d6e40bd7407c769c0f6c418fb15df665 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c @@ -216,7 +216,12 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, @@ -131800,10 +131800,10 @@ index acd8027..72c5a4c 100644 /* we need to re-evaluate prev_cpu_idle */ gov_update_cpu_data(dbs_data); -From 40a25975ace859d18a5c762120410e76e30c6913 Mon Sep 17 00:00:00 2001 +From 25d37064e0f87f94588189383c5a6f046d6a40e2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 16:59:24 +0100 -Subject: [PATCH 097/112] Revert "ASoC: bcm2835: move to use the clock +Subject: [PATCH 097/141] Revert "ASoC: bcm2835: move to use the clock framework" This reverts commit 517e7a1537ae4663268be5d0c0ec62c563b9fc99. @@ -131812,7 +131812,7 @@ This reverts commit 517e7a1537ae4663268be5d0c0ec62c563b9fc99. 1 file changed, 220 insertions(+), 64 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 1c1f221..3303d5f 100644 +index 1c1f2210387b26e9551959378f6792f18648652e..3303d5f58082f68b68b535b2bdf7ce8d14cafcc4 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -37,7 +37,6 @@ @@ -132226,10 +132226,10 @@ index 1c1f221..3303d5f 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = -From ce05b2f56809ac6d6fc39b1d382c7a88fd3a0ebf Mon Sep 17 00:00:00 2001 +From bf5e66083934b97759193da2ac7815d83030ecd2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 16:44:05 +0200 -Subject: [PATCH 098/112] bcm2835-i2s: get base address for DMA from devicetree +Subject: [PATCH 098/141] bcm2835-i2s: get base address for DMA from devicetree Code copied from spi-bcm2835. Get physical address from devicetree instead of using hardcoded constant. @@ -132240,7 +132240,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 3303d5f..0f25db4 100644 +index 3303d5f58082f68b68b535b2bdf7ce8d14cafcc4..0f25db4cd198c0a511e8a205b0cb2be62ba94adf 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -38,6 +38,7 @@ @@ -132294,10 +132294,10 @@ index 3303d5f..0f25db4 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = -From 850fff7d23a4c30d807800ab211a20150cabd7dd Mon Sep 17 00:00:00 2001 +From 11cf17d3b76e1772c2bd476ad96f9602140b1195 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:21:16 +0200 -Subject: [PATCH 099/112] bcm2835-i2s: add 24bit support, update bclk_ratio to +Subject: [PATCH 099/141] bcm2835-i2s: add 24bit support, update bclk_ratio to more correct values Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132329,7 +132329,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 0f25db4..0f35d7c 100644 +index 0f25db4cd198c0a511e8a205b0cb2be62ba94adf..0f35d7c0f4026bb50a7223461b907b9797bd9a05 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -340,11 +340,15 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132376,10 +132376,10 @@ index 0f25db4..0f35d7c 100644 }, .ops = &bcm2835_i2s_dai_ops, -From b894b45bff565b28d87749b279d170d71f4c0d38 Mon Sep 17 00:00:00 2001 +From deac8e03b5f8d2a28805a97a0d864ebe385833a7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:25:51 +0200 -Subject: [PATCH 100/112] bcm2835-i2s: setup clock only if CPU is clock master +Subject: [PATCH 100/141] bcm2835-i2s: setup clock only if CPU is clock master Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132395,7 +132395,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 0f35d7c..d5e4123 100644 +index 0f35d7c0f4026bb50a7223461b907b9797bd9a05..d5e412302811ed8b007fc53f0aa2b5ddd12774b6 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -411,15 +411,25 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132434,10 +132434,10 @@ index 0f35d7c..d5e4123 100644 /* Setup the frame format */ format = BCM2835_I2S_CHEN; -From be5be707c0bfe4d1321fcf71eb4cb2e671242e5a Mon Sep 17 00:00:00 2001 +From 70b503114dc866d4d5071c8c97239c0ce602820a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:49:51 +0200 -Subject: [PATCH 101/112] bcm2835-i2s: Eliminate debugfs directory error +Subject: [PATCH 101/141] bcm2835-i2s: Eliminate debugfs directory error Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132453,7 +132453,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 2 insertions(+) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index d5e4123..2d29050 100644 +index d5e412302811ed8b007fc53f0aa2b5ddd12774b6..2d29050e739b0af02d0f5122d18178b61c024bea 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -782,6 +782,7 @@ static const struct regmap_config bcm2835_regmap_config[] = { @@ -132473,10 +132473,10 @@ index d5e4123..2d29050 100644 }; -From af82bfa28e67faec4a7e76a42a072c515d811d52 Mon Sep 17 00:00:00 2001 +From 754316c1f9eff51f3e67fc3cd560f099b018a2a7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:35:20 +0200 -Subject: [PATCH 102/112] bcm2835-i2s: Register PCM device +Subject: [PATCH 102/141] bcm2835-i2s: Register PCM device Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132498,7 +132498,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 2d29050..ce93ef0 100644 +index 2d29050e739b0af02d0f5122d18178b61c024bea..ce93ef0579ab142c788736f0d309c92636b8983d 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -799,6 +799,25 @@ static const struct snd_soc_component_driver bcm2835_i2s_component = { @@ -132539,10 +132539,10 @@ index 2d29050..ce93ef0 100644 dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); return ret; -From 8dd6e217efb4300cfecb77e2850261c82939b1b9 Mon Sep 17 00:00:00 2001 +From 66bc1d865712ae9effaec8e4b8da7f1906a777cc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:55:21 +0200 -Subject: [PATCH 103/112] bcm2835-i2s: Enable MMAP support via a DT property +Subject: [PATCH 103/141] bcm2835-i2s: Enable MMAP support via a DT property Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132561,7 +132561,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index ce93ef0..6f60c2c 100644 +index ce93ef0579ab142c788736f0d309c92636b8983d..6f60c2cebb412524bb0e30d0339fe556680e8637 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -799,7 +799,7 @@ static const struct snd_soc_component_driver bcm2835_i2s_component = { @@ -132586,10 +132586,10 @@ index ce93ef0..6f60c2c 100644 for (i = 0; i <= 1; i++) { void __iomem *base; -From 4d762184d0d50fbe07063214a878fa1543d38ab7 Mon Sep 17 00:00:00 2001 +From b4998d4d96f2ca56fb471064f18868881d019025 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Apr 2016 15:44:14 +0100 -Subject: [PATCH 104/112] bcm2835-i2s: Reduce the TX DREQ threshold +Subject: [PATCH 104/141] bcm2835-i2s: Reduce the TX DREQ threshold TX FIFO overrun is thought to be the cause of channel swapping, so reducing the DREQ threshold seems reasonable and appears to be @@ -132603,7 +132603,7 @@ Signed-off-by: Phil Elwell 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 6f60c2c..b26f958 100644 +index 6f60c2cebb412524bb0e30d0339fe556680e8637..b26f9587dec01d62606df3f47b3ef00c908fa05b 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -555,15 +555,22 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132637,10 +132637,10 @@ index 6f60c2c..b26f958 100644 /* Clear FIFOs */ bcm2835_i2s_clear_fifos(dev, true, true); -From a4ad1b582b945b1868372961637e6097fc9992b7 Mon Sep 17 00:00:00 2001 +From ca47c312b4e2e4ac7b62269cb1969fe93f9e7281 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 105/112] drm/vc4: Force HDMI to connected. +Subject: [PATCH 105/141] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -132650,7 +132650,7 @@ Signed-off-by: Eric Anholt 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index d8b8649..136847e 100644 +index d8b864925fd38757cdc12e72d5ea102f32d2af09..136847ea795c58b8f0b2363a36242de512a01f83 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -166,6 +166,8 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) @@ -132663,10 +132663,10 @@ index d8b8649..136847e 100644 if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ vc4->hdmi->hpd_active_low) -From a94b7f4be0aa17065bb07c3e21bc5634148f15af Mon Sep 17 00:00:00 2001 +From 2dbc6f9d2e88b26d2c25e95f5e4eeb028d973d08 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 106/112] Add Support for JustBoom Audio boards +Subject: [PATCH 106/141] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -132686,7 +132686,7 @@ Signed-off-by: Phil Elwell create mode 100644 sound/soc/bcm/justboom-digi.c diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index f42c5eb..055ecfc 100644 +index f42c5ebcbff904746a282a3d6fb13483e32c7fd8..055ecfcfea6df119dda49a1ffdb1e5a34ccef0c0 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -856,8 +856,8 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m @@ -132701,7 +132701,7 @@ index f42c5eb..055ecfc 100644 CONFIG_SND_BCM2708_SOC_RASPIDAC3=m CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 8bd0207..8e0b51f 100644 +index 8bd02073ab8f35ef28db5fcd628e3e44a922c0ea..8e0b51f853c055beb9fc6e8bf18f3ee2e54d6010 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -848,8 +848,8 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m @@ -132716,7 +132716,7 @@ index 8bd0207..8e0b51f 100644 CONFIG_SND_BCM2708_SOC_RASPIDAC3=m CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 1a3f826..e2e2782 100644 +index 1a3f8264403d64690fef60d41df38d21d3eb6030..e2e2782a2f8af27c1782993bd63747b620f26e1e 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -50,6 +50,20 @@ config SND_BCM2708_SOC_RPI_PROTO @@ -132741,7 +132741,7 @@ index 1a3f826..e2e2782 100644 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 b21e11e..6c9714c 100644 +index b21e11ee36e17a29bfae9c4eda78f73ca9c23d48..6c9714c377375b38c2210ac98be8f3759224e76c 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -8,6 +8,8 @@ snd-soc-hifiberry-dac-objs := hifiberry_dac.o @@ -132764,7 +132764,7 @@ index b21e11e..6c9714c 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/justboom-dac.c b/sound/soc/bcm/justboom-dac.c new file mode 100644 -index 0000000..8fd50db +index 0000000000000000000000000000000000000000..8fd50dbe681508a2cfe8fdde1c9fedbe9a507fa7 --- /dev/null +++ b/sound/soc/bcm/justboom-dac.c @@ -0,0 +1,162 @@ @@ -132932,7 +132932,7 @@ index 0000000..8fd50db +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/bcm/justboom-digi.c b/sound/soc/bcm/justboom-digi.c new file mode 100644 -index 0000000..91acb66 +index 0000000000000000000000000000000000000000..91acb666380faa3c0deb2230f8a0f8bbec59417b --- /dev/null +++ b/sound/soc/bcm/justboom-digi.c @@ -0,0 +1,215 @@ @@ -133152,10 +133152,10 @@ index 0000000..91acb66 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 0d68cea7db444b04ae097d5e63136411dea4921a Mon Sep 17 00:00:00 2001 +From 551fc3a7b5be40ebd9dcfad48f6f9c4466e6097b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 19 Apr 2016 15:55:02 -0700 -Subject: [PATCH 107/112] ARM: bcm2708: Enable building power domain driver. +Subject: [PATCH 107/141] ARM: bcm2708: Enable building power domain driver. Signed-off-by: Eric Anholt --- @@ -133163,7 +133163,7 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/bcm/Kconfig b/drivers/soc/bcm/Kconfig -index 3066ede..e235181 100644 +index 3066edea184d765a670ded0cead470597654abc1..e23518142ceac6651641cc30c327d60dded319d5 100644 --- a/drivers/soc/bcm/Kconfig +++ b/drivers/soc/bcm/Kconfig @@ -1,6 +1,6 @@ @@ -133175,10 +133175,10 @@ index 3066ede..e235181 100644 select PM_GENERIC_DOMAINS if PM select PM_GENERIC_DOMAINS_OF if PM -From 784438a5dc789d610f4751092450f10492c28ab1 Mon Sep 17 00:00:00 2001 +From 4c7e0a46312fb5f62800e37ba03048b4351d9842 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 108/112] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 108/141] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -133194,7 +133194,7 @@ Signed-off-by: Andrey Grodzovsky create mode 100644 sound/soc/bcm/adau1977-adc.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index e2e2782..59890cc 100644 +index e2e2782a2f8af27c1782993bd63747b620f26e1e..59890cc0d6b531021e20d8117b0e3fa26a5343ee 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -78,3 +78,10 @@ config SND_BCM2708_SOC_RASPIDAC3 @@ -133209,7 +133209,7 @@ index e2e2782..59890cc 100644 + help + Say Y or M if you want to add support for ADAU1977 ADC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 6c9714c..d3124f5 100644 +index 6c9714c377375b38c2210ac98be8f3759224e76c..d3124f579475524a739ced533f6dff69394eee1c 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -4,6 +4,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o @@ -133230,7 +133230,7 @@ index 6c9714c..d3124f5 100644 obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o diff --git a/sound/soc/bcm/adau1977-adc.c b/sound/soc/bcm/adau1977-adc.c new file mode 100644 -index 0000000..6e2ee02 +index 0000000000000000000000000000000000000000..6e2ee027926ee63c89222f75ceb89e3d2434b0e1 --- /dev/null +++ b/sound/soc/bcm/adau1977-adc.c @@ -0,0 +1,125 @@ @@ -133360,10 +133360,10 @@ index 0000000..6e2ee02 +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 058b1c59ce37fcb00b3e79ccc755071a4befbfbe Mon Sep 17 00:00:00 2001 +From 2915d3fe75841c1b6b1508c4e3268b4f19fa16f4 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 109/112] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 109/141] 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. @@ -133378,7 +133378,7 @@ Thanks to Phil Elwell (pelwell) for the review, simple-card concepts and discuss create mode 100644 sound/soc/bcm/audioinjector-pi-soundcard.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 59890cc..e2e40ed 100644 +index 59890cc0d6b531021e20d8117b0e3fa26a5343ee..e2e40eda90f447a4700767071715e263bfa9a6e7 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -85,3 +85,10 @@ config SND_BCM2708_SOC_ADAU1977_ADC @@ -133393,7 +133393,7 @@ index 59890cc..e2e40ed 100644 + help + Say Y or M if you want to add support for audioinjector.net Pi Hat diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index d3124f5..3353192 100644 +index d3124f579475524a739ced533f6dff69394eee1c..3353192be30394bd595423dccec17838e3054a1d 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -15,6 +15,7 @@ snd-soc-rpi-dac-objs := rpi-dac.o @@ -133412,7 +133412,7 @@ index d3124f5..3353192 100644 + diff --git a/sound/soc/bcm/audioinjector-pi-soundcard.c b/sound/soc/bcm/audioinjector-pi-soundcard.c new file mode 100644 -index 0000000..39f29e2 +index 0000000000000000000000000000000000000000..39f29e26897226a413b4fa0a11a9bc160a485281 --- /dev/null +++ b/sound/soc/bcm/audioinjector-pi-soundcard.c @@ -0,0 +1,142 @@ @@ -133559,10 +133559,10 @@ index 0000000..39f29e2 +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From a1ec52a636f077026d798cf1b0ea541969fc6bb1 Mon Sep 17 00:00:00 2001 +From 2bafcb3644db94135a9ab7f7625a6dbc7998c6c7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Wed, 25 May 2016 23:25:36 +0100 -Subject: [PATCH 110/112] BCM2835-V4L2: Correct handling for BGR24 vs RGB24. +Subject: [PATCH 110/141] BCM2835-V4L2: Correct handling for BGR24 vs RGB24. There was a bug in the GPU firmware that had reversed these two formats. @@ -133575,7 +133575,7 @@ Signed-off-by: Dave Stevenson <6by9@users.noreply.github.com> 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c -index 1b16c63..70f4db2 100644 +index 1b16c63315195c043c41d6676ecfedd004c92cd3..70f4db2741037381e638d1dda5a95478809eb161 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -115,7 +115,7 @@ static struct mmal_fmt formats[] = { @@ -133722,7 +133722,7 @@ index 1b16c63..70f4db2 100644 &bool_true, sizeof(bool_true)); diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h -index 13f426f..e6aeb7e 100644 +index 13f426f5ecdffeab714d658a6f8b76e63af5fcdb..e6aeb7e7e381de65d6c6586205069a4c5cd33274 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.h +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -109,6 +109,7 @@ struct bm2835_mmal_dev { @@ -133734,10 +133734,10 @@ index 13f426f..e6aeb7e 100644 int bm2835_mmal_init_controls( -From 832e08b8fc321330a0c3ea4097afc2a4f9ac5229 Mon Sep 17 00:00:00 2001 +From 3b61b4f1eef2f7e6935ccb87cb7f3d2b3373b345 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 111/112] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 111/141] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -133750,7 +133750,7 @@ Subject: [PATCH 111/112] New driver for RRA DigiDAC1 soundcard using WM8741 + create mode 100644 sound/soc/bcm/digidac1-soundcard.c diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 055ecfc..1643dab 100644 +index 055ecfcfea6df119dda49a1ffdb1e5a34ccef0c0..1643dab1f04fdca37c71eb66cfc3c2a81bff9094 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -862,6 +862,7 @@ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m @@ -133762,7 +133762,7 @@ index 055ecfc..1643dab 100644 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 8e0b51f..d936b43 100644 +index 8e0b51f853c055beb9fc6e8bf18f3ee2e54d6010..d936b43acaf2f28331e75b42b9f2bb7ff3fdbdf8 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -854,6 +854,7 @@ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m @@ -133774,7 +133774,7 @@ index 8e0b51f..d936b43 100644 CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index e2e40ed..fa11cd7 100644 +index e2e40eda90f447a4700767071715e263bfa9a6e7..fa11cd792824f21424a3b798336b676d33181a43 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -92,3 +92,11 @@ config SND_AUDIOINJECTOR_PI_SOUNDCARD @@ -133790,7 +133790,7 @@ index e2e40ed..fa11cd7 100644 + help + Say Y or M if you want to add support for Red Rocks Audio DigiDAC1 board. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 3353192..a9448fd 100644 +index 3353192be30394bd595423dccec17838e3054a1d..a9448fdcd6bcc4e4cb96e985fbe758aea002ddd8 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -16,6 +16,7 @@ snd-soc-rpi-proto-objs := rpi-proto.o @@ -133809,7 +133809,7 @@ index 3353192..a9448fd 100644 diff --git a/sound/soc/bcm/digidac1-soundcard.c b/sound/soc/bcm/digidac1-soundcard.c new file mode 100644 -index 0000000..446796e +index 0000000000000000000000000000000000000000..446796e7e4c14a7d95b2f2a01211d9a0b151f1f3 --- /dev/null +++ b/sound/soc/bcm/digidac1-soundcard.c @@ -0,0 +1,422 @@ @@ -134236,10 +134236,10 @@ index 0000000..446796e +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 08e6e26332f67bba22622015cd7b4845e21eb66f Mon Sep 17 00:00:00 2001 +From 479a6ffe6b719820ac669c1e042e646920867d4e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 3 Jun 2016 21:56:40 +0100 -Subject: [PATCH 112/112] BCM270X_DT: Fix rpi-dac overlay +Subject: [PATCH 112/141] BCM270X_DT: Fix rpi-dac overlay The rpi-dac overlay is almost identical to the hifiberry-dac overlay - the codec used is different but it also doesn't sit on the I2C bus. As @@ -134260,7 +134260,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts -index 1523eae..a442c8f0 100644 +index 1523eae9c39997aa68cfa583ada92a92395bb1e0..a442c8f0ec01b7503f32e070683a984e895f5668 100644 --- a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts +++ b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts @@ -13,7 +13,7 @@ @@ -134272,3 +134272,2868 @@ index 1523eae..a442c8f0 100644 __overlay__ { pcm1794a-codec { #sound-dai-cells = <0>; + +From bb0ef413edcede6e42061192519b8980c04b23c4 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 3 Jun 2016 22:21:47 +0100 +Subject: [PATCH 113/141] BCM270X_DT: Add mcp23017 to the overlay Makefile + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 0adb5b92c047cb7e12871cf75515f822924924cd..c514bbfe7384f58d5db4e861d842bd772cc4e51a 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -44,6 +44,7 @@ dtbo-$(RPI_DT_OVERLAYS) += iqaudio-dacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += justboom-dac.dtbo + dtbo-$(RPI_DT_OVERLAYS) += justboom-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += lirc-rpi.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += mcp23017.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can0.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can1.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mmc.dtbo + +From f67c8a94671cafe879b02e0e94668186c8d955d3 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 3 Jun 2016 23:01:01 +0100 +Subject: [PATCH 114/141] BCM270X_DT: Sort entries to placate check script + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index c514bbfe7384f58d5db4e861d842bd772cc4e51a..ed62846e18e4d3098169f05a1a8ba16caf1619aa 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -18,10 +18,10 @@ dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo + dtbo-$(RPI_DT_OVERLAYS) += audioinjector-wm8731-audio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo + dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo + dtbo-$(RPI_DT_OVERLAYS) += dwc-otg.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo + dtbo-$(RPI_DT_OVERLAYS) += enc28j60.dtbo + dtbo-$(RPI_DT_OVERLAYS) += gpio-ir.dtbo + dtbo-$(RPI_DT_OVERLAYS) += gpio-poweroff.dtbo +@@ -31,10 +31,10 @@ dtbo-$(RPI_DT_OVERLAYS) += hifiberry-dacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-mux.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2s-gpio28-31.dtbo +@@ -73,16 +73,16 @@ dtbo-$(RPI_DT_OVERLAYS) += sdhost.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdio-1bit.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdtweak.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-nand.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-3cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-3cs.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo + dtbo-$(RPI_DT_OVERLAYS) += tinylcd35.dtbo + dtbo-$(RPI_DT_OVERLAYS) += uart1.dtbo + dtbo-$(RPI_DT_OVERLAYS) += vc4-kms-v3d.dtbo + +From a61997c98da5dac2a50f2000b5a717d015a81c5c Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Sat, 4 Jun 2016 11:30:48 +0200 +Subject: [PATCH 115/141] gpio-ir overlay: gpio_pin shouldn't change pull + setting + +Signed-off-by: Matthias Reichl +--- + arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts +index a2d6bc79f4cd2604e6c65c000668cbb228327fe6..af5baf7ddc92be7a59ad3d5f9a9fefba915bed05 100644 +--- a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts ++++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts +@@ -36,8 +36,7 @@ + __overrides__ { + // parameters + gpio_pin = <&gpio_ir>,"gpios:4", +- <&gpio_ir_pins>,"brcm,pins:0", +- <&gpio_ir_pins>,"brcm,pull:0"; // pin number ++ <&gpio_ir_pins>,"brcm,pins:0"; // pin number + gpio_pull = <&gpio_ir_pins>,"brcm,pull:0"; // pull-up/down state + + rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map + +From 549c9c26f51356244b8facd14038740289c89aa4 Mon Sep 17 00:00:00 2001 +From: Nicolas Boullis +Date: Sat, 4 Jun 2016 00:57:06 +0200 +Subject: [PATCH 116/141] Implement a "wakeup-source" option for the i2c-rtc + DeviceTree overlay. + +See: https://github.com/raspberrypi/linux/pull/1511 +--- + arch/arm/boot/dts/overlays/README | 3 +++ + arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 1516cc2e1616bb5e0cb519e05eee6776fe84e52a..628cff3fc60a13b26b3f2f572573884df480c7bf 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -445,6 +445,9 @@ Params: ds1307 Select the DS1307 device + + trickle-resistor-ohms Resistor value for trickle charge (DS1339-only) + ++ wakeup-source Specify that the RTC can be used as a wakeup ++ source ++ + + Name: i2c0-bcm2708 + Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations +diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +index 40656474dfc16505433221a745c1d129c2737399..8b6f978155c02409eeb7c83353b8194fa3462435 100644 +--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +@@ -65,5 +65,9 @@ + pcf8523 = <&pcf8523>,"status"; + pcf8563 = <&pcf8563>,"status"; + trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0"; ++ wakeup-source = <&ds1339>,"wakeup-source?", ++ <&ds3231>,"wakeup-source?", ++ <&mcp7940x>,"wakeup-source?", ++ <&mcp7941x>,"wakeup-source?"; + }; + }; + +From c06fb46084b19a1ec9d2558123fdd8d985894c0b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 6 Jun 2016 09:23:37 +0100 +Subject: [PATCH 117/141] BCM270X_DT: Make i2c-gpio usable by other overlays + +Modify the i2c-gpio overlay to export symbol i2c-gpio for use by other +overlays. Export the alias as well for good measure. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +index 2a2dc986770cfb036492ba8de19cbaff521c5fd5..b72b32e936774d901bc253b06e025c2dd48bdb1b 100644 +--- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +@@ -19,6 +19,21 @@ + }; + }; + }; ++ ++ fragment@1 { ++ target-path = "/aliases"; ++ __overlay__ { ++ i2c_gpio = "/i2c@0"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "/__symbols__"; ++ __overlay__ { ++ i2c_gpio = "/i2c@0"; ++ }; ++ }; ++ + __overrides__ { + i2c_gpio_sda = <&i2c_gpio>,"gpios:4"; + i2c_gpio_scl = <&i2c_gpio>,"gpios:16"; + +From 799bff74f1ae77aa57bf49dca599607e50409d26 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:13 +0000 +Subject: [PATCH 118/141] Revert "bcm2835-dma: Fix up convert to DMA pool" + +This reverts commit ec2e48fda22c57cab56a4332d1a095f91c919493. +--- + drivers/dma/bcm2835-dma.c | 36 ++++++++++-------------------------- + 1 file changed, 10 insertions(+), 26 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index d26b6bdbcf1ab33ab92937b889a37e505c925311..6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -488,17 +488,6 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + c->cyclic = true; + + return vchan_tx_prep(&c->vc, &d->vd, flags); +-error_cb: +- i--; +- for (; i >= 0; i--) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- dma_pool_free(c->cb_pool, cb_entry->cb, cb_entry->paddr); +- } +- +- kfree(d->cb_list); +- kfree(d); +- return NULL; + } + + static struct dma_async_tx_descriptor * +@@ -545,7 +534,6 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + if (!d) + return NULL; + +- d->c = c; + d->dir = direction; + + if (c->ch >= 8) /* LITE channel */ +@@ -565,21 +553,15 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + d->frames += len / max_size + 1; + } + +- d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); +- if (!d->cb_list) { ++ /* Allocate memory for control blocks */ ++ d->control_block_size = d->frames * sizeof(struct bcm2835_dma_cb); ++ d->control_block_base = dma_zalloc_coherent(chan->device->dev, ++ d->control_block_size, &d->control_block_base_phys, ++ GFP_NOWAIT); ++ if (!d->control_block_base) { + kfree(d); + return NULL; + } +- /* Allocate memory for control blocks */ +- for (i = 0; i < d->frames; i++) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- cb_entry->cb = dma_pool_zalloc(c->cb_pool, GFP_ATOMIC, +- &cb_entry->paddr); +- +- if (!cb_entry->cb) +- goto error_cb; +- } + + /* + * Iterate over all SG entries, create a control block +@@ -596,7 +578,7 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + + for (j = 0; j < len; j += max_size) { + struct bcm2835_dma_cb *control_block = +- d->cb_list[i + split_cnt].cb; ++ &d->control_block_base[i + split_cnt]; + + /* Setup addresses */ + if (d->dir == DMA_DEV_TO_MEM) { +@@ -638,7 +620,9 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + if (i < sg_len - 1 || len - j > max_size) { + /* Next block is the next frame. */ + control_block->next = +- d->cb_list[i + split_cnt + 1].paddr; ++ d->control_block_base_phys + ++ sizeof(struct bcm2835_dma_cb) * ++ (i + split_cnt + 1); + } else { + /* Next block is empty. */ + control_block->next = 0; + +From d0977a4a2c665e1351ec9508e9af97c217b48439 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:22 +0000 +Subject: [PATCH 119/141] Revert "bcm2835-dma: Limit cyclic transfers on lite + channels to 32k" + +This reverts commit 052c2005b6ecedc5abad86632f5781adda310aa7. +--- + drivers/dma/bcm2835-dma.c | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9..5db0a95985b20a2086c65762ea8f125511f67471 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -144,12 +144,6 @@ struct bcm2835_desc { + */ + #define MAX_LITE_TRANSFER (SZ_64K - 4) + +-/* +- * Transfers larger than 32k cause issues with the bcm2708-i2s driver, +- * so limit transfer size to 32k as bcm2708-dmaengine did. +- */ +-#define MAX_CYCLIC_LITE_TRANSFER SZ_32K +- + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -418,7 +412,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + d->c = c; + d->dir = direction; + if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_CYCLIC_LITE_TRANSFER; ++ max_size = MAX_LITE_TRANSFER; + else + max_size = MAX_NORMAL_TRANSFER; + period_len = min(period_len, max_size); + +From 4a64f5f017ecae96c04fd32392ddd5cd52558842 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:30 +0000 +Subject: [PATCH 120/141] Revert "dmaengine: bcm2835: Load driver early and + support legacy API" + +This reverts commit 6f56fff39c811953809b011f59c49a2122c4d173. +--- + drivers/dma/Kconfig | 2 +- + drivers/dma/bcm2835-dma.c | 30 ++++++------------------------ + 2 files changed, 7 insertions(+), 25 deletions(-) + +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index b7863f0cf95ca656859a355098aa334e20d121c3..1acfa84be0d1f74f5a830b04cab05ba7fa0841ab 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -108,7 +108,7 @@ config COH901318 + + config DMA_BCM2835 + tristate "BCM2835 DMA engine support" +- depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709 ++ depends on ARCH_BCM2835 + select DMA_ENGINE + select DMA_VIRTUAL_CHANNELS + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 5db0a95985b20a2086c65762ea8f125511f67471..696fb30b4f5a01cda9b98038b8e548368cea05f4 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -36,7 +36,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -787,10 +786,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + if (IS_ERR(base)) + return PTR_ERR(base); + +- rc = bcm_dmaman_probe(pdev, base, BCM2835_DMA_BULK_MASK); +- if (rc) +- dev_err(&pdev->dev, "Failed to initialize the legacy API\n"); +- + od->base = base; + + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); +@@ -823,8 +818,11 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- /* Channel 0 is used by the legacy API */ +- chans_available &= ~BCM2835_DMA_BULK_MASK; ++ /* ++ * Do not use the FIQ and BULK channels, ++ * because they are used by the GPU. ++ */ ++ chans_available &= ~(BCM2835_DMA_FIQ_MASK | BCM2835_DMA_BULK_MASK); + + for (i = 0; i < pdev->num_resources; i++) { + irq = platform_get_irq(pdev, i); +@@ -868,7 +866,6 @@ static int bcm2835_dma_remove(struct platform_device *pdev) + { + struct bcm2835_dmadev *od = platform_get_drvdata(pdev); + +- bcm_dmaman_remove(pdev); + dma_async_device_unregister(&od->ddev); + bcm2835_dma_free(od); + +@@ -884,22 +881,7 @@ static struct platform_driver bcm2835_dma_driver = { + }, + }; + +-static int bcm2835_dma_init(void) +-{ +- return platform_driver_register(&bcm2835_dma_driver); +-} +- +-static void bcm2835_dma_exit(void) +-{ +- platform_driver_unregister(&bcm2835_dma_driver); +-} +- +-/* +- * Load after serial driver (arch_initcall) so we see the messages if it fails, +- * but before drivers (module_init) that need a DMA channel. +- */ +-subsys_initcall(bcm2835_dma_init); +-module_exit(bcm2835_dma_exit); ++module_platform_driver(bcm2835_dma_driver); + + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + +From 0244c07ee2b2b9d18bd877c0619ee9a514c86c97 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:37 +0000 +Subject: [PATCH 121/141] Revert "dmaengine: bcm2835: Add slave dma support" + +This reverts commit 8a349301238aabb40c9da5ca8c8492b6b8d146f6. +--- + drivers/dma/bcm2835-dma.c | 206 ++++------------------------------------------ + 1 file changed, 14 insertions(+), 192 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 696fb30b4f5a01cda9b98038b8e548368cea05f4..2d72fe81243fbbcc92f52e1935ed48b6cbc23665 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -1,10 +1,11 @@ + /* + * BCM2835 DMA engine support + * ++ * This driver only supports cyclic DMA transfers ++ * as needed for the I2S module. ++ * + * Author: Florian Meier + * Copyright 2013 +- * Gellert Weisz +- * Copyright 2013-2014 + * + * Based on + * OMAP DMAengine support by Russell King +@@ -94,8 +95,6 @@ struct bcm2835_desc { + size_t size; + }; + +-#define BCM2835_DMA_WAIT_CYCLES 0 /* Slow down DMA transfers: 0-31 */ +- + #define BCM2835_DMA_CS 0x00 + #define BCM2835_DMA_ADDR 0x04 + #define BCM2835_DMA_SOURCE_AD 0x0c +@@ -112,16 +111,12 @@ struct bcm2835_desc { + #define BCM2835_DMA_RESET BIT(31) /* WO, self clearing */ + + #define BCM2835_DMA_INT_EN BIT(0) +-#define BCM2835_DMA_WAIT_RESP BIT(3) + #define BCM2835_DMA_D_INC BIT(4) +-#define BCM2835_DMA_D_WIDTH BIT(5) + #define BCM2835_DMA_D_DREQ BIT(6) + #define BCM2835_DMA_S_INC BIT(8) +-#define BCM2835_DMA_S_WIDTH BIT(9) + #define BCM2835_DMA_S_DREQ BIT(10) + + #define BCM2835_DMA_PER_MAP(x) ((x) << 16) +-#define BCM2835_DMA_WAITS(x) (((x) & 0x1f) << 21) + + #define BCM2835_DMA_DATA_TYPE_S8 1 + #define BCM2835_DMA_DATA_TYPE_S16 2 +@@ -135,14 +130,6 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + +-#define MAX_NORMAL_TRANSFER SZ_1G +-/* +- * Max length on a Lite channel is 65535 bytes. +- * DMA handles byte-enables on SDRAM reads and writes even on 128-bit accesses, +- * but byte-enables don't exist on peripheral addresses, so align to 32-bit. +- */ +-#define MAX_LITE_TRANSFER (SZ_64K - 4) +- + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -239,19 +226,13 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + d = c->desc; + + if (d) { +- if (c->cyclic) { +- vchan_cyclic_callback(&d->vd); +- +- /* Keep the DMA engine running */ +- writel(BCM2835_DMA_ACTIVE, +- c->chan_base + BCM2835_DMA_CS); +- +- } else { +- vchan_cookie_complete(&c->desc->vd); +- bcm2835_dma_start_desc(c); +- } ++ /* TODO Only works for cyclic DMA */ ++ vchan_cyclic_callback(&d->vd); + } + ++ /* Keep the DMA engine running */ ++ writel(BCM2835_DMA_ACTIVE, c->chan_base + BCM2835_DMA_CS); ++ + spin_unlock_irqrestore(&c->vc.lock, flags); + + return IRQ_HANDLED; +@@ -358,6 +339,8 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + unsigned long flags; + ++ c->cyclic = true; /* Nothing else is implemented */ ++ + spin_lock_irqsave(&c->vc.lock, flags); + if (vchan_issue_pending(&c->vc) && !c->desc) + bcm2835_dma_start_desc(c); +@@ -375,7 +358,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + struct bcm2835_desc *d; + dma_addr_t dev_addr; + unsigned int es, sync_type; +- unsigned int frame, max_size; ++ unsigned int frame; + int i; + + /* Grab configuration */ +@@ -410,12 +393,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + + d->c = c; + d->dir = direction; +- if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_LITE_TRANSFER; +- else +- max_size = MAX_NORMAL_TRANSFER; +- period_len = min(period_len, max_size); +- d->frames = (buf_len - 1) / (period_len + 1); ++ d->frames = buf_len / period_len; + + d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); + if (!d->cb_list) { +@@ -463,171 +441,17 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + BCM2835_DMA_PER_MAP(c->dreq); + + /* Length of a frame */ +- if (frame != d->frames - 1) +- control_block->length = period_len; +- else +- control_block->length = buf_len - (d->frames - 1) * +- period_len; ++ control_block->length = period_len; + d->size += control_block->length; + + /* + * Next block is the next frame. +- * This function is called on cyclic DMA transfers. ++ * This DMA engine driver currently only supports cyclic DMA. + * Therefore, wrap around at number of frames. + */ + control_block->next = d->cb_list[((frame + 1) % d->frames)].paddr; + } + +- c->cyclic = true; +- +- return vchan_tx_prep(&c->vc, &d->vd, flags); +-} +- +-static struct dma_async_tx_descriptor * +-bcm2835_dma_prep_slave_sg(struct dma_chan *chan, +- struct scatterlist *sgl, +- unsigned int sg_len, +- enum dma_transfer_direction direction, +- unsigned long flags, void *context) +-{ +- struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); +- enum dma_slave_buswidth dev_width; +- struct bcm2835_desc *d; +- dma_addr_t dev_addr; +- struct scatterlist *sgent; +- unsigned int i, sync_type, split_cnt, max_size; +- +- if (!is_slave_direction(direction)) { +- dev_err(chan->device->dev, "direction not supported\n"); +- return NULL; +- } +- +- if (direction == DMA_DEV_TO_MEM) { +- dev_addr = c->cfg.src_addr; +- dev_width = c->cfg.src_addr_width; +- sync_type = BCM2835_DMA_S_DREQ; +- } else { +- dev_addr = c->cfg.dst_addr; +- dev_width = c->cfg.dst_addr_width; +- sync_type = BCM2835_DMA_D_DREQ; +- } +- +- /* Bus width translates to the element size (ES) */ +- switch (dev_width) { +- case DMA_SLAVE_BUSWIDTH_4_BYTES: +- break; +- default: +- dev_err(chan->device->dev, "buswidth not supported: %i\n", +- dev_width); +- return NULL; +- } +- +- /* Allocate and setup the descriptor. */ +- d = kzalloc(sizeof(*d), GFP_NOWAIT); +- if (!d) +- return NULL; +- +- d->dir = direction; +- +- if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_LITE_TRANSFER; +- else +- max_size = MAX_NORMAL_TRANSFER; +- +- /* +- * Store the length of the SG list in d->frames +- * taking care to account for splitting up transfers +- * too large for a LITE channel +- */ +- d->frames = 0; +- for_each_sg(sgl, sgent, sg_len, i) { +- unsigned int len = sg_dma_len(sgent); +- +- d->frames += len / max_size + 1; +- } +- +- /* Allocate memory for control blocks */ +- d->control_block_size = d->frames * sizeof(struct bcm2835_dma_cb); +- d->control_block_base = dma_zalloc_coherent(chan->device->dev, +- d->control_block_size, &d->control_block_base_phys, +- GFP_NOWAIT); +- if (!d->control_block_base) { +- kfree(d); +- return NULL; +- } +- +- /* +- * Iterate over all SG entries, create a control block +- * for each frame and link them together. +- * Count the number of times an SG entry had to be split +- * as a result of using a LITE channel +- */ +- split_cnt = 0; +- +- for_each_sg(sgl, sgent, sg_len, i) { +- unsigned int j; +- dma_addr_t addr = sg_dma_address(sgent); +- unsigned int len = sg_dma_len(sgent); +- +- for (j = 0; j < len; j += max_size) { +- struct bcm2835_dma_cb *control_block = +- &d->control_block_base[i + split_cnt]; +- +- /* Setup addresses */ +- if (d->dir == DMA_DEV_TO_MEM) { +- control_block->info = BCM2835_DMA_D_INC | +- BCM2835_DMA_D_WIDTH | +- BCM2835_DMA_S_DREQ; +- control_block->src = dev_addr; +- control_block->dst = addr + (dma_addr_t)j; +- } else { +- control_block->info = BCM2835_DMA_S_INC | +- BCM2835_DMA_S_WIDTH | +- BCM2835_DMA_D_DREQ; +- control_block->src = addr + (dma_addr_t)j; +- control_block->dst = dev_addr; +- } +- +- /* Common part */ +- control_block->info |= +- BCM2835_DMA_WAITS(BCM2835_DMA_WAIT_CYCLES); +- control_block->info |= BCM2835_DMA_WAIT_RESP; +- +- /* Enable */ +- if (i == sg_len - 1 && len - j <= max_size) +- control_block->info |= BCM2835_DMA_INT_EN; +- +- /* Setup synchronization */ +- if (sync_type) +- control_block->info |= sync_type; +- +- /* Setup DREQ channel */ +- if (c->dreq) +- control_block->info |= +- BCM2835_DMA_PER_MAP(c->dreq); +- +- /* Length of a frame */ +- control_block->length = min(len - j, max_size); +- d->size += control_block->length; +- +- if (i < sg_len - 1 || len - j > max_size) { +- /* Next block is the next frame. */ +- control_block->next = +- d->control_block_base_phys + +- sizeof(struct bcm2835_dma_cb) * +- (i + split_cnt + 1); +- } else { +- /* Next block is empty. */ +- control_block->next = 0; +- } +- +- if (len - j > max_size) +- split_cnt++; +- } +- } +- +- c->cyclic = false; +- + return vchan_tx_prep(&c->vc, &d->vd, flags); + error_cb: + i--; +@@ -796,7 +620,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; +- od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); +@@ -886,5 +709,4 @@ module_platform_driver(bcm2835_dma_driver); + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + MODULE_AUTHOR("Florian Meier "); +-MODULE_AUTHOR("Gellert Weisz "); + MODULE_LICENSE("GPL v2"); + +From 5e9ddd7437b25562f3f27ea907d8c9f5576d12a7 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:56 -0700 +Subject: [PATCH 122/141] dmaengine: bcm2835: remove unnecessary masking of dma + channels + +The original patch contained 3 dma channels that were masked out. + +These - as far as research and discussions show - are a +artefacts remaining from the downstream legacy dma-api. + +Right now down-stream still includes a legacy api used only +in a single (downstream only) driver (bcm2708_fb) that requires +2D DMA for speedup (DMA-channel 0). +Formerly the sd-card support driver also was using this legacy +api (DMA-channel 2), but since has been moved over to use +dmaengine directly. + +The DMA-channel 3 is already masked out in the devicetree in +the default property "brcm,dma-channel-mask = <0x7f35>;" + +So we can remove the whole masking of DMA channels. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 2d72fe81243fbbcc92f52e1935ed48b6cbc23665..e4ca980049bab83ddbb58435c662e4a30321d4f8 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -123,9 +123,6 @@ struct bcm2835_desc { + #define BCM2835_DMA_DATA_TYPE_S32 4 + #define BCM2835_DMA_DATA_TYPE_S128 16 + +-#define BCM2835_DMA_BULK_MASK BIT(0) +-#define BCM2835_DMA_FIQ_MASK (BIT(2) | BIT(3)) +- + /* Valid only for channels 0 - 14, 15 has its own base address */ + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) +@@ -641,12 +638,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- /* +- * Do not use the FIQ and BULK channels, +- * because they are used by the GPU. +- */ +- chans_available &= ~(BCM2835_DMA_FIQ_MASK | BCM2835_DMA_BULK_MASK); +- + for (i = 0; i < pdev->num_resources; i++) { + irq = platform_get_irq(pdev, i); + if (irq < 0) + +From c1a7e3303a2ba3e3ff9ed60fb30cd5e592059d6b Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:57 -0700 +Subject: [PATCH 123/141] dmaengine: bcm2835: add additional defines for + DMA-registers + +Add additional defines describing the DMA registers +as well as adding some more documentation to those registers. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 57 ++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 49 insertions(+), 8 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index e4ca980049bab83ddbb58435c662e4a30321d4f8..a1d851aa5b182f9b0f4d6c2ab719b1ade2167c11 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -97,26 +97,67 @@ struct bcm2835_desc { + + #define BCM2835_DMA_CS 0x00 + #define BCM2835_DMA_ADDR 0x04 ++#define BCM2835_DMA_TI 0x08 + #define BCM2835_DMA_SOURCE_AD 0x0c + #define BCM2835_DMA_DEST_AD 0x10 +-#define BCM2835_DMA_NEXTCB 0x1C ++#define BCM2835_DMA_LEN 0x14 ++#define BCM2835_DMA_STRIDE 0x18 ++#define BCM2835_DMA_NEXTCB 0x1c ++#define BCM2835_DMA_DEBUG 0x20 + + /* DMA CS Control and Status bits */ +-#define BCM2835_DMA_ACTIVE BIT(0) +-#define BCM2835_DMA_INT BIT(2) ++#define BCM2835_DMA_ACTIVE BIT(0) /* activate the DMA */ ++#define BCM2835_DMA_END BIT(1) /* current CB has ended */ ++#define BCM2835_DMA_INT BIT(2) /* interrupt status */ ++#define BCM2835_DMA_DREQ BIT(3) /* DREQ state */ + #define BCM2835_DMA_ISPAUSED BIT(4) /* Pause requested or not active */ + #define BCM2835_DMA_ISHELD BIT(5) /* Is held by DREQ flow control */ +-#define BCM2835_DMA_ERR BIT(8) ++#define BCM2835_DMA_WAITING_FOR_WRITES BIT(6) /* waiting for last ++ * AXI-write to ack ++ */ ++#define BCM2835_DMA_ERR BIT(8) ++#define BCM2835_DMA_PRIORITY(x) ((x & 15) << 16) /* AXI priority */ ++#define BCM2835_DMA_PANIC_PRIORITY(x) ((x & 15) << 20) /* panic priority */ ++/* current value of TI.BCM2835_DMA_WAIT_RESP */ ++#define BCM2835_DMA_WAIT_FOR_WRITES BIT(28) ++#define BCM2835_DMA_DIS_DEBUG BIT(29) /* disable debug pause signal */ + #define BCM2835_DMA_ABORT BIT(30) /* Stop current CB, go to next, WO */ + #define BCM2835_DMA_RESET BIT(31) /* WO, self clearing */ + ++/* Transfer information bits - also bcm2835_cb.info field */ + #define BCM2835_DMA_INT_EN BIT(0) ++#define BCM2835_DMA_TDMODE BIT(1) /* 2D-Mode */ ++#define BCM2835_DMA_WAIT_RESP BIT(3) /* wait for AXI-write to be acked */ + #define BCM2835_DMA_D_INC BIT(4) +-#define BCM2835_DMA_D_DREQ BIT(6) ++#define BCM2835_DMA_D_WIDTH BIT(5) /* 128bit writes if set */ ++#define BCM2835_DMA_D_DREQ BIT(6) /* enable DREQ for destination */ ++#define BCM2835_DMA_D_IGNORE BIT(7) /* ignore destination writes */ + #define BCM2835_DMA_S_INC BIT(8) +-#define BCM2835_DMA_S_DREQ BIT(10) +- +-#define BCM2835_DMA_PER_MAP(x) ((x) << 16) ++#define BCM2835_DMA_S_WIDTH BIT(9) /* 128bit writes if set */ ++#define BCM2835_DMA_S_DREQ BIT(10) /* enable SREQ for source */ ++#define BCM2835_DMA_S_IGNORE BIT(11) /* ignore source reads - read 0 */ ++#define BCM2835_DMA_BURST_LENGTH(x) ((x & 15) << 12) ++#define BCM2835_DMA_PER_MAP(x) ((x & 31) << 16) /* REQ source */ ++#define BCM2835_DMA_WAIT(x) ((x & 31) << 21) /* add DMA-wait cycles */ ++#define BCM2835_DMA_NO_WIDE_BURSTS BIT(26) /* no 2 beat write bursts */ ++ ++/* debug register bits */ ++#define BCM2835_DMA_DEBUG_LAST_NOT_SET_ERR BIT(0) ++#define BCM2835_DMA_DEBUG_FIFO_ERR BIT(1) ++#define BCM2835_DMA_DEBUG_READ_ERR BIT(2) ++#define BCM2835_DMA_DEBUG_OUTSTANDING_WRITES_SHIFT 4 ++#define BCM2835_DMA_DEBUG_OUTSTANDING_WRITES_BITS 4 ++#define BCM2835_DMA_DEBUG_ID_SHIFT 16 ++#define BCM2835_DMA_DEBUG_ID_BITS 9 ++#define BCM2835_DMA_DEBUG_STATE_SHIFT 16 ++#define BCM2835_DMA_DEBUG_STATE_BITS 9 ++#define BCM2835_DMA_DEBUG_VERSION_SHIFT 25 ++#define BCM2835_DMA_DEBUG_VERSION_BITS 3 ++#define BCM2835_DMA_DEBUG_LITE BIT(28) ++ ++/* shared registers for all dma channels */ ++#define BCM2835_DMA_INT_STATUS 0xfe0 ++#define BCM2835_DMA_ENABLE 0xff0 + + #define BCM2835_DMA_DATA_TYPE_S8 1 + #define BCM2835_DMA_DATA_TYPE_S16 2 + +From fbba8b4843990153c1cf1f60ab2fea65704ced2a Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:58 -0700 +Subject: [PATCH 124/141] dmaengine: bcm2835: move cyclic member from + bcm2835_chan into bcm2835_desc + +In preparation to consolidating code we move the cyclic member +into the bcm_2835_desc structure. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index a1d851aa5b182f9b0f4d6c2ab719b1ade2167c11..b3bc382fd1998324d6034e203afdd77a4d7ad168 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -73,7 +73,6 @@ struct bcm2835_chan { + struct list_head node; + + struct dma_slave_config cfg; +- bool cyclic; + unsigned int dreq; + + int ch; +@@ -93,6 +92,8 @@ struct bcm2835_desc { + + unsigned int frames; + size_t size; ++ ++ bool cyclic; + }; + + #define BCM2835_DMA_CS 0x00 +@@ -377,8 +378,6 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + unsigned long flags; + +- c->cyclic = true; /* Nothing else is implemented */ +- + spin_lock_irqsave(&c->vc.lock, flags); + if (vchan_issue_pending(&c->vc) && !c->desc) + bcm2835_dma_start_desc(c); +@@ -432,6 +431,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + d->c = c; + d->dir = direction; + d->frames = buf_len / period_len; ++ d->cyclic = true; + + d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); + if (!d->cb_list) { + +From 4399ec49de6cf7e6807a6aa9689455a466b034e1 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:59 -0700 +Subject: [PATCH 125/141] dmaengine: bcm2835: move controlblock chain + generation into separate method + +In preparation of adding slave_sg functionality this patch moves the +generation/allocation of bcm2835_desc and the building of +the corresponding DMA-control-block chain from bcm2835_dma_prep_dma_cyclic +into the newly created method bcm2835_dma_create_cb_chain. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 294 +++++++++++++++++++++++++++++++--------------- + 1 file changed, 198 insertions(+), 96 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index b3bc382fd1998324d6034e203afdd77a4d7ad168..4db0e232fab8e3422d4c28a164ed67f0676981f2 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -88,12 +88,12 @@ struct bcm2835_desc { + struct virt_dma_desc vd; + enum dma_transfer_direction dir; + +- struct bcm2835_cb_entry *cb_list; +- + unsigned int frames; + size_t size; + + bool cyclic; ++ ++ struct bcm2835_cb_entry cb_list[]; + }; + + #define BCM2835_DMA_CS 0x00 +@@ -169,6 +169,13 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + ++/* how many frames of max_len size do we need to transfer len bytes */ ++static inline size_t bcm2835_dma_frames_for_length(size_t len, ++ size_t max_len) ++{ ++ return DIV_ROUND_UP(len, max_len); ++} ++ + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -185,19 +192,161 @@ static inline struct bcm2835_desc *to_bcm2835_dma_desc( + return container_of(t, struct bcm2835_desc, vd.tx); + } + +-static void bcm2835_dma_desc_free(struct virt_dma_desc *vd) ++static void bcm2835_dma_free_cb_chain(struct bcm2835_desc *desc) + { +- struct bcm2835_desc *desc = container_of(vd, struct bcm2835_desc, vd); +- int i; ++ size_t i; + + for (i = 0; i < desc->frames; i++) + dma_pool_free(desc->c->cb_pool, desc->cb_list[i].cb, + desc->cb_list[i].paddr); + +- kfree(desc->cb_list); + kfree(desc); + } + ++static void bcm2835_dma_desc_free(struct virt_dma_desc *vd) ++{ ++ bcm2835_dma_free_cb_chain( ++ container_of(vd, struct bcm2835_desc, vd)); ++} ++ ++static void bcm2835_dma_create_cb_set_length( ++ struct bcm2835_chan *chan, ++ struct bcm2835_dma_cb *control_block, ++ size_t len, ++ size_t period_len, ++ size_t *total_len, ++ u32 finalextrainfo) ++{ ++ /* set the length */ ++ control_block->length = len; ++ ++ /* finished if we have no period_length */ ++ if (!period_len) ++ return; ++ ++ /* ++ * period_len means: that we need to generate ++ * transfers that are terminating at every ++ * multiple of period_len - this is typically ++ * used to set the interrupt flag in info ++ * which is required during cyclic transfers ++ */ ++ ++ /* have we filled in period_length yet? */ ++ if (*total_len + control_block->length < period_len) ++ return; ++ ++ /* calculate the length that remains to reach period_length */ ++ control_block->length = period_len - *total_len; ++ ++ /* reset total_length for next period */ ++ *total_len = 0; ++ ++ /* add extrainfo bits in info */ ++ control_block->info |= finalextrainfo; ++} ++ ++/** ++ * bcm2835_dma_create_cb_chain - create a control block and fills data in ++ * ++ * @chan: the @dma_chan for which we run this ++ * @direction: the direction in which we transfer ++ * @cyclic: it is a cyclic transfer ++ * @info: the default info bits to apply per controlblock ++ * @frames: number of controlblocks to allocate ++ * @src: the src address to assign (if the S_INC bit is set ++ * in @info, then it gets incremented) ++ * @dst: the dst address to assign (if the D_INC bit is set ++ * in @info, then it gets incremented) ++ * @buf_len: the full buffer length (may also be 0) ++ * @period_len: the period length when to apply @finalextrainfo ++ * in addition to the last transfer ++ * this will also break some control-blocks early ++ * @finalextrainfo: additional bits in last controlblock ++ * (or when period_len is reached in case of cyclic) ++ * @gfp: the GFP flag to use for allocation ++ */ ++static struct bcm2835_desc *bcm2835_dma_create_cb_chain( ++ struct dma_chan *chan, enum dma_transfer_direction direction, ++ bool cyclic, u32 info, u32 finalextrainfo, size_t frames, ++ dma_addr_t src, dma_addr_t dst, size_t buf_len, ++ size_t period_len, gfp_t gfp) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ size_t len = buf_len, total_len; ++ size_t frame; ++ struct bcm2835_desc *d; ++ struct bcm2835_cb_entry *cb_entry; ++ struct bcm2835_dma_cb *control_block; ++ ++ /* allocate and setup the descriptor. */ ++ d = kzalloc(sizeof(*d) + frames * sizeof(struct bcm2835_cb_entry), ++ gfp); ++ if (!d) ++ return NULL; ++ ++ d->c = c; ++ d->dir = direction; ++ d->cyclic = cyclic; ++ ++ /* ++ * Iterate over all frames, create a control block ++ * for each frame and link them together. ++ */ ++ for (frame = 0, total_len = 0; frame < frames; d->frames++, frame++) { ++ cb_entry = &d->cb_list[frame]; ++ cb_entry->cb = dma_pool_alloc(c->cb_pool, gfp, ++ &cb_entry->paddr); ++ if (!cb_entry->cb) ++ goto error_cb; ++ ++ /* fill in the control block */ ++ control_block = cb_entry->cb; ++ control_block->info = info; ++ control_block->src = src; ++ control_block->dst = dst; ++ control_block->stride = 0; ++ control_block->next = 0; ++ /* set up length in control_block if requested */ ++ if (buf_len) { ++ /* calculate length honoring period_length */ ++ bcm2835_dma_create_cb_set_length( ++ c, control_block, ++ len, period_len, &total_len, ++ cyclic ? finalextrainfo : 0); ++ ++ /* calculate new remaining length */ ++ len -= control_block->length; ++ } ++ ++ /* link this the last controlblock */ ++ if (frame) ++ d->cb_list[frame - 1].cb->next = cb_entry->paddr; ++ ++ /* update src and dst and length */ ++ if (src && (info & BCM2835_DMA_S_INC)) ++ src += control_block->length; ++ if (dst && (info & BCM2835_DMA_D_INC)) ++ dst += control_block->length; ++ ++ /* Length of total transfer */ ++ d->size += control_block->length; ++ } ++ ++ /* the last frame requires extra flags */ ++ d->cb_list[d->frames - 1].cb->info |= finalextrainfo; ++ ++ /* detect a size missmatch */ ++ if (buf_len && (d->size != buf_len)) ++ goto error_cb; ++ ++ return d; ++error_cb: ++ bcm2835_dma_free_cb_chain(d); ++ ++ return NULL; ++} ++ + static int bcm2835_dma_abort(void __iomem *chan_base) + { + unsigned long cs; +@@ -391,12 +540,11 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + unsigned long flags) + { + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); +- enum dma_slave_buswidth dev_width; + struct bcm2835_desc *d; +- dma_addr_t dev_addr; +- unsigned int es, sync_type; +- unsigned int frame; +- int i; ++ dma_addr_t src, dst; ++ u32 info = BCM2835_DMA_WAIT_RESP; ++ u32 extra = BCM2835_DMA_INT_EN; ++ size_t frames; + + /* Grab configuration */ + if (!is_slave_direction(direction)) { +@@ -404,104 +552,58 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + return NULL; + } + +- if (direction == DMA_DEV_TO_MEM) { +- dev_addr = c->cfg.src_addr; +- dev_width = c->cfg.src_addr_width; +- sync_type = BCM2835_DMA_S_DREQ; +- } else { +- dev_addr = c->cfg.dst_addr; +- dev_width = c->cfg.dst_addr_width; +- sync_type = BCM2835_DMA_D_DREQ; +- } +- +- /* Bus width translates to the element size (ES) */ +- switch (dev_width) { +- case DMA_SLAVE_BUSWIDTH_4_BYTES: +- es = BCM2835_DMA_DATA_TYPE_S32; +- break; +- default: ++ if (!buf_len) { ++ dev_err(chan->device->dev, ++ "%s: bad buffer length (= 0)\n", __func__); + return NULL; + } + +- /* Now allocate and setup the descriptor. */ +- d = kzalloc(sizeof(*d), GFP_NOWAIT); +- if (!d) +- return NULL; ++ /* ++ * warn if buf_len is not a multiple of period_len - this may leed ++ * to unexpected latencies for interrupts and thus audiable clicks ++ */ ++ if (buf_len % period_len) ++ dev_warn_once(chan->device->dev, ++ "%s: buffer_length (%zd) is not a multiple of period_len (%zd)\n", ++ __func__, buf_len, period_len); + +- d->c = c; +- d->dir = direction; +- d->frames = buf_len / period_len; +- d->cyclic = true; ++ /* Setup DREQ channel */ ++ if (c->dreq != 0) ++ info |= BCM2835_DMA_PER_MAP(c->dreq); + +- d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); +- if (!d->cb_list) { +- kfree(d); +- return NULL; ++ if (direction == DMA_DEV_TO_MEM) { ++ if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ src = c->cfg.src_addr; ++ dst = buf_addr; ++ info |= BCM2835_DMA_S_DREQ | BCM2835_DMA_D_INC; ++ } else { ++ if (c->cfg.dst_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ dst = c->cfg.dst_addr; ++ src = buf_addr; ++ info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; + } +- /* Allocate memory for control blocks */ +- for (i = 0; i < d->frames; i++) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; + +- cb_entry->cb = dma_pool_zalloc(c->cb_pool, GFP_ATOMIC, +- &cb_entry->paddr); +- if (!cb_entry->cb) +- goto error_cb; +- } ++ /* calculate number of frames */ ++ frames = DIV_ROUND_UP(buf_len, period_len); + + /* +- * Iterate over all frames, create a control block +- * for each frame and link them together. ++ * allocate the CB chain ++ * note that we need to use GFP_NOWAIT, as the ALSA i2s dmaengine ++ * implementation calls prep_dma_cyclic with interrupts disabled. + */ +- for (frame = 0; frame < d->frames; frame++) { +- struct bcm2835_dma_cb *control_block = d->cb_list[frame].cb; +- +- /* Setup adresses */ +- if (d->dir == DMA_DEV_TO_MEM) { +- control_block->info = BCM2835_DMA_D_INC; +- control_block->src = dev_addr; +- control_block->dst = buf_addr + frame * period_len; +- } else { +- control_block->info = BCM2835_DMA_S_INC; +- control_block->src = buf_addr + frame * period_len; +- control_block->dst = dev_addr; +- } +- +- /* Enable interrupt */ +- control_block->info |= BCM2835_DMA_INT_EN; +- +- /* Setup synchronization */ +- if (sync_type != 0) +- control_block->info |= sync_type; +- +- /* Setup DREQ channel */ +- if (c->dreq != 0) +- control_block->info |= +- BCM2835_DMA_PER_MAP(c->dreq); +- +- /* Length of a frame */ +- control_block->length = period_len; +- d->size += control_block->length; ++ d = bcm2835_dma_create_cb_chain(chan, direction, true, ++ info, extra, ++ frames, src, dst, buf_len, ++ period_len, GFP_NOWAIT); ++ if (!d) ++ return NULL; + +- /* +- * Next block is the next frame. +- * This DMA engine driver currently only supports cyclic DMA. +- * Therefore, wrap around at number of frames. +- */ +- control_block->next = d->cb_list[((frame + 1) % d->frames)].paddr; +- } ++ /* wrap around into a loop */ ++ d->cb_list[d->frames - 1].cb->next = d->cb_list[0].paddr; + + return vchan_tx_prep(&c->vc, &d->vd, flags); +-error_cb: +- i--; +- for (; i >= 0; i--) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- dma_pool_free(c->cb_pool, cb_entry->cb, cb_entry->paddr); +- } +- +- kfree(d->cb_list); +- kfree(d); +- return NULL; + } + + static int bcm2835_dma_slave_config(struct dma_chan *chan, + +From 7739fad3533038f657490435a494253a645b56ce Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:00 -0700 +Subject: [PATCH 126/141] dmaengine: bcm2835: limit max length based on channel + type + +The bcm2835 dma system has 2 basic types of dma-channels: +* "normal" channels +* "light" channels + +Lite channels are limited in several aspects: +* internal data-structure is 128 bit (not 256) +* does not support BCM2835_DMA_TDMODE (2D) +* DMA length register is limited to 16 bit. + so 0-65535 (not 0-65536 as mentioned in the official datasheet) +* BCM2835_DMA_S/D_IGNORE are not supported + +The detection of the type of mode is implemented by looking at +the LITE bit in the DEBUG register for each channel. +This allows automatic detection. + +Based on this the maximum block size is set to (64K - 4) or to 1G +and this limit is honored during generation of control block +chains. The effect is that when a LITE channel is used more +control blocks are used to do the same transfer (compared +to a normal channel). + +As there are several sources/target DREQS that are 32 bit wide +we need to have the transfer to be a multiple of 4 as this would +break the transfer otherwise. + +This is why the limit of (64K - 4) was chosen over the +alternative of (64K - 4K). + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 29 ++++++++++++++++++++++++++--- + 1 file changed, 26 insertions(+), 3 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 4db0e232fab8e3422d4c28a164ed67f0676981f2..59c5ef36d97059a4f988f083a64f084da02093cd 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -81,6 +81,8 @@ struct bcm2835_chan { + + void __iomem *chan_base; + int irq_number; ++ ++ bool is_lite_channel; + }; + + struct bcm2835_desc { +@@ -169,6 +171,16 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + ++/* the max dma length for different channels */ ++#define MAX_DMA_LEN SZ_1G ++#define MAX_LITE_DMA_LEN (SZ_64K - 4) ++ ++static inline size_t bcm2835_dma_max_frame_length(struct bcm2835_chan *c) ++{ ++ /* lite and normal channels have different max frame length */ ++ return c->is_lite_channel ? MAX_LITE_DMA_LEN : MAX_DMA_LEN; ++} ++ + /* how many frames of max_len size do we need to transfer len bytes */ + static inline size_t bcm2835_dma_frames_for_length(size_t len, + size_t max_len) +@@ -217,8 +229,10 @@ static void bcm2835_dma_create_cb_set_length( + size_t *total_len, + u32 finalextrainfo) + { +- /* set the length */ +- control_block->length = len; ++ size_t max_len = bcm2835_dma_max_frame_length(chan); ++ ++ /* set the length taking lite-channel limitations into account */ ++ control_block->length = min_t(u32, len, max_len); + + /* finished if we have no period_length */ + if (!period_len) +@@ -544,6 +558,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + dma_addr_t src, dst; + u32 info = BCM2835_DMA_WAIT_RESP; + u32 extra = BCM2835_DMA_INT_EN; ++ size_t max_len = bcm2835_dma_max_frame_length(c); + size_t frames; + + /* Grab configuration */ +@@ -586,7 +601,10 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + } + + /* calculate number of frames */ +- frames = DIV_ROUND_UP(buf_len, period_len); ++ frames = /* number of periods */ ++ DIV_ROUND_UP(buf_len, period_len) * ++ /* number of frames per period */ ++ bcm2835_dma_frames_for_length(period_len, max_len); + + /* + * allocate the CB chain +@@ -685,6 +703,11 @@ static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) + c->ch = chan_id; + c->irq_number = irq; + ++ /* check in DEBUG register if this is a LITE channel */ ++ if (readl(c->chan_base + BCM2835_DMA_DEBUG) & ++ BCM2835_DMA_DEBUG_LITE) ++ c->is_lite_channel = true; ++ + return 0; + } + + +From 000a63d30d091087df1a895f54ade67fe4a3c5dd Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:01 -0700 +Subject: [PATCH 127/141] dmaengine: bcm2835: add slave_sg support to + bcm2835-dma + +Add slave_sg support to bcm2835-dma using shared allocation +code for bcm2835_desc and DMA-control blocks already used by +dma_cyclic. + +Note that bcm2835_dma_callback had to get modified to support +both modes of operation (cyclic and non-cyclic). + +Tested using: +* Hifiberry I2S card (using cyclic DMA) +* fb_st7735r SPI-framebuffer (using slave_sg DMA via spi-bcm2835) +playing BigBuckBunny for audio and video. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 113 ++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 108 insertions(+), 5 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 59c5ef36d97059a4f988f083a64f084da02093cd..b46b12f66f387e0b87aa6d09192071b58da9e953 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -260,6 +260,23 @@ static void bcm2835_dma_create_cb_set_length( + control_block->info |= finalextrainfo; + } + ++static inline size_t bcm2835_dma_count_frames_for_sg( ++ struct bcm2835_chan *c, ++ struct scatterlist *sgl, ++ unsigned int sg_len) ++{ ++ size_t frames = 0; ++ struct scatterlist *sgent; ++ unsigned int i; ++ size_t plength = bcm2835_dma_max_frame_length(c); ++ ++ for_each_sg(sgl, sgent, sg_len, i) ++ frames += bcm2835_dma_frames_for_length( ++ sg_dma_len(sgent), plength); ++ ++ return frames; ++} ++ + /** + * bcm2835_dma_create_cb_chain - create a control block and fills data in + * +@@ -361,6 +378,32 @@ error_cb: + return NULL; + } + ++static void bcm2835_dma_fill_cb_chain_with_sg( ++ struct dma_chan *chan, ++ enum dma_transfer_direction direction, ++ struct bcm2835_cb_entry *cb, ++ struct scatterlist *sgl, ++ unsigned int sg_len) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ size_t max_len = bcm2835_dma_max_frame_length(c); ++ unsigned int i, len; ++ dma_addr_t addr; ++ struct scatterlist *sgent; ++ ++ for_each_sg(sgl, sgent, sg_len, i) { ++ for (addr = sg_dma_address(sgent), len = sg_dma_len(sgent); ++ len > 0; ++ addr += cb->cb->length, len -= cb->cb->length, cb++) { ++ if (direction == DMA_DEV_TO_MEM) ++ cb->cb->dst = addr; ++ else ++ cb->cb->src = addr; ++ cb->cb->length = min(len, max_len); ++ } ++ } ++} ++ + static int bcm2835_dma_abort(void __iomem *chan_base) + { + unsigned long cs; +@@ -428,13 +471,19 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + d = c->desc; + + if (d) { +- /* TODO Only works for cyclic DMA */ +- vchan_cyclic_callback(&d->vd); ++ if (d->cyclic) { ++ /* call the cyclic callback */ ++ vchan_cyclic_callback(&d->vd); ++ ++ /* Keep the DMA engine running */ ++ writel(BCM2835_DMA_ACTIVE, ++ c->chan_base + BCM2835_DMA_CS); ++ } else { ++ vchan_cookie_complete(&c->desc->vd); ++ bcm2835_dma_start_desc(c); ++ } + } + +- /* Keep the DMA engine running */ +- writel(BCM2835_DMA_ACTIVE, c->chan_base + BCM2835_DMA_CS); +- + spin_unlock_irqrestore(&c->vc.lock, flags); + + return IRQ_HANDLED; +@@ -548,6 +597,58 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + spin_unlock_irqrestore(&c->vc.lock, flags); + } + ++static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( ++ struct dma_chan *chan, ++ struct scatterlist *sgl, unsigned int sg_len, ++ enum dma_transfer_direction direction, ++ unsigned long flags, void *context) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ struct bcm2835_desc *d; ++ dma_addr_t src = 0, dst = 0; ++ u32 info = BCM2835_DMA_WAIT_RESP; ++ u32 extra = BCM2835_DMA_INT_EN; ++ size_t frames; ++ ++ if (!is_slave_direction(direction)) { ++ dev_err(chan->device->dev, ++ "%s: bad direction?\n", __func__); ++ return NULL; ++ } ++ ++ if (c->dreq != 0) ++ info |= BCM2835_DMA_PER_MAP(c->dreq); ++ ++ if (direction == DMA_DEV_TO_MEM) { ++ if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ src = c->cfg.src_addr; ++ info |= BCM2835_DMA_S_DREQ | BCM2835_DMA_D_INC; ++ } else { ++ if (c->cfg.dst_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ dst = c->cfg.dst_addr; ++ info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; ++ } ++ ++ /* count frames in sg list */ ++ frames = bcm2835_dma_count_frames_for_sg(c, sgl, sg_len); ++ ++ /* allocate the CB chain */ ++ d = bcm2835_dma_create_cb_chain(chan, direction, false, ++ info, extra, ++ frames, src, dst, 0, 0, ++ GFP_KERNEL); ++ if (!d) ++ return NULL; ++ ++ /* fill in frames with scatterlist pointers */ ++ bcm2835_dma_fill_cb_chain_with_sg(chan, direction, d->cb_list, ++ sgl, sg_len); ++ ++ return vchan_tx_prep(&c->vc, &d->vd, flags); ++} ++ + static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, + size_t period_len, enum dma_transfer_direction direction, +@@ -778,11 +879,13 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); + dma_cap_set(DMA_PRIVATE, od->ddev.cap_mask); + dma_cap_set(DMA_CYCLIC, od->ddev.cap_mask); ++ dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); + od->ddev.device_alloc_chan_resources = bcm2835_dma_alloc_chan_resources; + od->ddev.device_free_chan_resources = bcm2835_dma_free_chan_resources; + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; ++ od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); + +From 041cb749ce522529987642e6aa75af9678d60ceb Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:02 -0700 +Subject: [PATCH 128/141] dmaengine: bcm2835: add dma_memcopy support to + bcm2835-dma + +Also added check for an error condition in bcm2835_dma_create_cb_chain +that showed up during development of this patch. + +Tested using dmatest for all enabled channels. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 36 +++++++++++++++++++++++++++++++++++- + 1 file changed, 35 insertions(+), 1 deletion(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index b46b12f66f387e0b87aa6d09192071b58da9e953..cc771cd35dd0c28829b6500421af686be865000b 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -310,6 +310,9 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( + struct bcm2835_cb_entry *cb_entry; + struct bcm2835_dma_cb *control_block; + ++ if (!frames) ++ return NULL; ++ + /* allocate and setup the descriptor. */ + d = kzalloc(sizeof(*d) + frames * sizeof(struct bcm2835_cb_entry), + gfp); +@@ -597,6 +600,34 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + spin_unlock_irqrestore(&c->vc.lock, flags); + } + ++struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( ++ struct dma_chan *chan, dma_addr_t dst, dma_addr_t src, ++ size_t len, unsigned long flags) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ struct bcm2835_desc *d; ++ u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC; ++ u32 extra = BCM2835_DMA_INT_EN | BCM2835_DMA_WAIT_RESP; ++ size_t max_len = bcm2835_dma_max_frame_length(c); ++ size_t frames; ++ ++ /* if src, dst or len is not given return with an error */ ++ if (!src || !dst || !len) ++ return NULL; ++ ++ /* calculate number of frames */ ++ frames = bcm2835_dma_frames_for_length(len, max_len); ++ ++ /* allocate the CB chain - this also fills in the pointers */ ++ d = bcm2835_dma_create_cb_chain(chan, DMA_MEM_TO_MEM, false, ++ info, extra, frames, ++ src, dst, len, 0, GFP_KERNEL); ++ if (!d) ++ return NULL; ++ ++ return vchan_tx_prep(&c->vc, &d->vd, flags); ++} ++ + static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( + struct dma_chan *chan, + struct scatterlist *sgl, unsigned int sg_len, +@@ -880,17 +911,20 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + dma_cap_set(DMA_PRIVATE, od->ddev.cap_mask); + dma_cap_set(DMA_CYCLIC, od->ddev.cap_mask); + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); ++ dma_cap_set(DMA_MEMCPY, od->ddev.cap_mask); + od->ddev.device_alloc_chan_resources = bcm2835_dma_alloc_chan_resources; + od->ddev.device_free_chan_resources = bcm2835_dma_free_chan_resources; + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; + od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; ++ od->ddev.device_prep_dma_memcpy = bcm2835_dma_prep_dma_memcpy; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); + od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); +- od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); ++ od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV) | ++ BIT(DMA_MEM_TO_MEM); + od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST; + od->ddev.dev = &pdev->dev; + INIT_LIST_HEAD(&od->ddev.channels); + +From a377d1836521d0dc5170c939c3311bf5e083c997 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Mon, 11 Apr 2016 13:29:08 +0000 +Subject: [PATCH 129/141] dmaengine: bcm2835: use platform_get_irq_byname + +Use platform_get_irq_byname to allow for correct mapping of +interrupts to dma channels. + +The currently implemented device tree is unfortunately +implemented with the wrong assumption, that each dma-channel +has its own dma channel, but dma-irq 11 is handling +dma-channel 11-14 and dma-irq 12 is actually a "catch all" +interrupt. + +So here we use the byname variant and require that interrupts +are explicitly named via the interrupts-name property in the +device tree. + +The use of shared interrupts is also implemented. + +As a side-effect this means we can now use dma channels 12, 13 and 14 +in a correct manner - also testing shows that onl using +channels 11 to 14 for spi and i2s works perfectly (when playing +some video) + +Signed-off-by: Martin Sperl +Acked-by: Eric Anholt +Acked-by: Mark Rutland +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 77 ++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 63 insertions(+), 14 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index cc771cd35dd0c28829b6500421af686be865000b..974015193b93cdb398f1157b89b6e2cf5234354e 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -46,6 +46,9 @@ + + #include "virt-dma.h" + ++#define BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED 14 ++#define BCM2835_DMA_CHAN_NAME_SIZE 8 ++ + struct bcm2835_dmadev { + struct dma_device ddev; + spinlock_t lock; +@@ -81,6 +84,7 @@ struct bcm2835_chan { + + void __iomem *chan_base; + int irq_number; ++ unsigned int irq_flags; + + bool is_lite_channel; + }; +@@ -466,6 +470,15 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + struct bcm2835_desc *d; + unsigned long flags; + ++ /* check the shared interrupt */ ++ if (c->irq_flags & IRQF_SHARED) { ++ /* check if the interrupt is enabled */ ++ flags = readl(c->chan_base + BCM2835_DMA_CS); ++ /* if not set then we are not the reason for the irq */ ++ if (!(flags & BCM2835_DMA_INT)) ++ return IRQ_NONE; ++ } ++ + spin_lock_irqsave(&c->vc.lock, flags); + + /* Acknowledge interrupt */ +@@ -506,8 +519,8 @@ static int bcm2835_dma_alloc_chan_resources(struct dma_chan *chan) + return -ENOMEM; + } + +- return request_irq(c->irq_number, +- bcm2835_dma_callback, 0, "DMA IRQ", c); ++ return request_irq(c->irq_number, bcm2835_dma_callback, ++ c->irq_flags, "DMA IRQ", c); + } + + static void bcm2835_dma_free_chan_resources(struct dma_chan *chan) +@@ -819,7 +832,8 @@ static int bcm2835_dma_terminate_all(struct dma_chan *chan) + return 0; + } + +-static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) ++static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, ++ int irq, unsigned int irq_flags) + { + struct bcm2835_chan *c; + +@@ -834,6 +848,7 @@ static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) + c->chan_base = BCM2835_DMA_CHANIO(d->base, chan_id); + c->ch = chan_id; + c->irq_number = irq; ++ c->irq_flags = irq_flags; + + /* check in DEBUG register if this is a LITE channel */ + if (readl(c->chan_base + BCM2835_DMA_DEBUG) & +@@ -882,9 +897,11 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + struct resource *res; + void __iomem *base; + int rc; +- int i; +- int irq; ++ int i, j; ++ int irq[BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED + 1]; ++ int irq_flags; + uint32_t chans_available; ++ char chan_name[BCM2835_DMA_CHAN_NAME_SIZE]; + + if (!pdev->dev.dma_mask) + pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; +@@ -941,16 +958,48 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- for (i = 0; i < pdev->num_resources; i++) { +- irq = platform_get_irq(pdev, i); +- if (irq < 0) +- break; +- +- if (chans_available & (1 << i)) { +- rc = bcm2835_dma_chan_init(od, i, irq); +- if (rc) +- goto err_no_dma; ++ /* get irqs for each channel that we support */ ++ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { ++ /* skip masked out channels */ ++ if (!(chans_available & (1 << i))) { ++ irq[i] = -1; ++ continue; + } ++ ++ /* get the named irq */ ++ snprintf(chan_name, sizeof(chan_name), "dma%i", i); ++ irq[i] = platform_get_irq_byname(pdev, chan_name); ++ if (irq[i] >= 0) ++ continue; ++ ++ /* legacy device tree case handling */ ++ dev_warn_once(&pdev->dev, ++ "missing interrupts-names property in device tree - legacy interpretation is used"); ++ /* ++ * in case of channel >= 11 ++ * use the 11th interrupt and that is shared ++ */ ++ irq[i] = platform_get_irq(pdev, i < 11 ? i : 11); ++ } ++ ++ /* get irqs for each channel */ ++ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { ++ /* skip channels without irq */ ++ if (irq[i] < 0) ++ continue; ++ ++ /* check if there are other channels that also use this irq */ ++ irq_flags = 0; ++ for (j = 0; j <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; j++) ++ if ((i != j) && (irq[j] == irq[i])) { ++ irq_flags = IRQF_SHARED; ++ break; ++ } ++ ++ /* initialize the channel */ ++ rc = bcm2835_dma_chan_init(od, i, irq[i], irq_flags); ++ if (rc) ++ goto err_no_dma; + } + + dev_dbg(&pdev->dev, "Initialized %i DMA channels\n", i); + +From 4aa29cc8bf827e058b81cc8ae2c3e17c2207aef4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sat, 3 Oct 2015 22:22:55 +0200 +Subject: [PATCH 130/141] dmaengine: bcm2835: Load driver early and support + legacy API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Load driver early since at least bcm2708_fb doesn't support deferred +probing and even if it did, we don't want the video driver deferred. + +Support the legacy DMA API which is needed by bcm2708_fb +(but only using the dedicated dma channel 0). + +Signed-off-by: Noralf Trønnes +Signed-off-by: Martin Sperl +--- + drivers/dma/Kconfig | 2 +- + drivers/dma/bcm2835-dma.c | 27 ++++++++++++++++++++++++++- + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index 1acfa84be0d1f74f5a830b04cab05ba7fa0841ab..b7863f0cf95ca656859a355098aa334e20d121c3 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -108,7 +108,7 @@ config COH901318 + + config DMA_BCM2835 + tristate "BCM2835 DMA engine support" +- depends on ARCH_BCM2835 ++ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709 + select DMA_ENGINE + select DMA_VIRTUAL_CHANNELS + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 974015193b93cdb398f1157b89b6e2cf5234354e..2d7aba118640447854732384351601137b502839 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1021,6 +1022,14 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + + dev_dbg(&pdev->dev, "Load BCM2835 DMA engine driver\n"); + ++ /* load the legacy api if bit 0 in the mask is cleared */ ++ if ((chans_available & BIT(0)) == 0) { ++ rc = bcm_dmaman_probe(pdev, base, BIT(0)); ++ if (rc) ++ dev_err(&pdev->dev, ++ "Failed to initialize the legacy API\n"); ++ } ++ + return 0; + + err_no_dma: +@@ -1032,6 +1041,7 @@ static int bcm2835_dma_remove(struct platform_device *pdev) + { + struct bcm2835_dmadev *od = platform_get_drvdata(pdev); + ++ bcm_dmaman_remove(pdev); + dma_async_device_unregister(&od->ddev); + bcm2835_dma_free(od); + +@@ -1047,7 +1057,22 @@ static struct platform_driver bcm2835_dma_driver = { + }, + }; + +-module_platform_driver(bcm2835_dma_driver); ++static int bcm2835_dma_init(void) ++{ ++ return platform_driver_register(&bcm2835_dma_driver); ++} ++ ++static void bcm2835_dma_exit(void) ++{ ++ platform_driver_unregister(&bcm2835_dma_driver); ++} ++ ++/* ++ * Load after serial driver (arch_initcall) so we see the messages if it fails, ++ * but before drivers (module_init) that need a DMA channel. ++ */ ++subsys_initcall(bcm2835_dma_init); ++module_exit(bcm2835_dma_exit); + + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + +From 25fea97b0fa774c421d15765ba3ca0b22dd13303 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 16:13:59 +0000 +Subject: [PATCH 131/141] ARM: bcm270x: changed bcrm,dma-channel-mask to mask + out the used channel + +Dma channel0 is used by the legacy api - to avoid confilcts this +needs to get masked out in the device-tree instead of hardcoding it +in the driver. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/bcm2708_common.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi +index 6ea37c57f7b1f298c10a599982f347098219d468..d85862e2028487b0c357b3a7cd8e78524abc3c92 100644 +--- a/arch/arm/boot/dts/bcm2708_common.dtsi ++++ b/arch/arm/boot/dts/bcm2708_common.dtsi +@@ -59,7 +59,7 @@ + <1 27>; + + #dma-cells = <1>; +- brcm,dma-channel-mask = <0x0f35>; ++ brcm,dma-channel-mask = <0x0f34>; + }; + + intc: interrupt-controller@7e00b200 { + +From 46a2b5181e5c193cb47c92b5e8c54212bb0eb0a3 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Sat, 23 Apr 2016 14:07:03 +0000 +Subject: [PATCH 132/141] ARM: bcm2835: add interrupt-names and apply correct + mapping + +Add interrupt-names properties to dt and apply the correct +mapping between irq and dma channels. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/bcm2708_common.dtsi | 26 ++++++++++++++++++++++++-- + 1 file changed, 24 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi +index d85862e2028487b0c357b3a7cd8e78524abc3c92..18a28c8578a322bdef73cdb5ff4131b40f9321e4 100644 +--- a/arch/arm/boot/dts/bcm2708_common.dtsi ++++ b/arch/arm/boot/dts/bcm2708_common.dtsi +@@ -56,10 +56,32 @@ + <1 24>, + <1 25>, + <1 26>, +- <1 27>; ++ /* dma channel 11-14 share one irq */ ++ <1 27>, ++ <1 27>, ++ <1 27>, ++ <1 27>, ++ /* unused shared irq for all channels */ ++ <1 28>; ++ interrupt-names = "dma0", ++ "dma1", ++ "dma2", ++ "dma3", ++ "dma4", ++ "dma5", ++ "dma6", ++ "dma7", ++ "dma8", ++ "dma9", ++ "dma10", ++ "dma11", ++ "dma12", ++ "dma13", ++ "dma14", ++ "dma-shared-all"; + + #dma-cells = <1>; +- brcm,dma-channel-mask = <0x0f34>; ++ brcm,dma-channel-mask = <0x7f34>; + }; + + intc: interrupt-controller@7e00b200 { + +From a9453ef9018a01817e17b63262660aeec6b5b0cb Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Sat, 23 Apr 2016 14:20:41 +0000 +Subject: [PATCH 133/141] ARM: bcm2835: make dma-channel-0 available for kms + setups + +Enable the use of dma-channel 0 when using the vc4-kms-v3d overlay. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +index a4ca2cabd4cd19d3a82ad1135604dfa52784fb3f..4f1cc20f90dc6780f74e08ebee00e5a1a6062c85 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +@@ -119,6 +119,13 @@ + }; + }; + ++ fragment@15 { ++ target-path = "/soc/dma"; ++ __overlay__ { ++ brcm,dma-channel-mask = <0x7f35>; ++ }; ++ }; ++ + __overrides__ { + cma-256 = <0>,"+0-1-2-3-4"; + cma-192 = <0>,"-0+1-2-3-4"; + +From 5dd8fd214588185192ac39f32ece199801cbea55 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Tue, 7 Jun 2016 19:37:10 +0200 +Subject: [PATCH 134/141] dmaengine: bcm2835: Fix cyclic DMA period splitting + +The code responsible for splitting periods into chunks that +can be handled by the DMA controller missed to update total_len, +the number of bytes processed in the current period, when there +are more chunks to follow. + +Therefore total_len was stuck at 0 and the code didn't work at all. +This resulted in a wrong control block layout and audio issues because +the cyclic DMA callback wasn't executing on period boundaries. + +Fix this by adding the missing total_len update. + +Signed-off-by: Matthias Reichl +Signed-off-by: Martin Sperl +Tested-by: Clive Messer +--- + drivers/dma/bcm2835-dma.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 2d7aba118640447854732384351601137b502839..ea58967594c5a2d712026f50307c2d4de7089e8d 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -252,8 +252,11 @@ static void bcm2835_dma_create_cb_set_length( + */ + + /* have we filled in period_length yet? */ +- if (*total_len + control_block->length < period_len) ++ if (*total_len + control_block->length < period_len) { ++ /* update number of bytes in this period so far */ ++ *total_len += control_block->length; + return; ++ } + + /* calculate the length that remains to reach period_length */ + control_block->length = period_len - *total_len; + +From 9a51bc189fe473d194694e068449905ea01ebd39 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Wed, 8 Jun 2016 13:09:56 +0200 +Subject: [PATCH 135/141] dmaengine: bcm2835: Avoid splitting periods into very + small chunks + +The current cyclic DMA period splitting implementation can generate +very small chunks at the end of each period. For example a 65536 byte +period will be split into a 65532 byte chunk and a 4 byte chunk on +the "lite" DMA channels. + +This increases pressure on the RAM controller as the DMA controller +needs to fetch two control blocks from RAM in quick succession and +could potentially cause latency issues if the RAM is tied up by other +devices. + +We can easily avoid these situations by distributing the remaining +length evenly between the last-but-one and the last chunk, making +sure that split chunks will be at least half the maximum length the +DMA controller can handle. + +This patch checks if the last chunk would be less than half of +the maximum DMA length and if yes distributes the max len+4...max_len*1.5 +bytes evenly between the last 2 chunks. This results in chunk sizes +between max_len/2 and max_len*0.75 bytes. + +Signed-off-by: Matthias Reichl +Signed-off-by: Martin Sperl +Tested-by: Clive Messer +--- + drivers/dma/bcm2835-dma.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index ea58967594c5a2d712026f50307c2d4de7089e8d..0173b912afb26b8f59e623a9055513df34cd3caa 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -253,6 +253,20 @@ static void bcm2835_dma_create_cb_set_length( + + /* have we filled in period_length yet? */ + if (*total_len + control_block->length < period_len) { ++ /* ++ * If the next control block is the last in the period ++ * and it's length would be less than half of max_len ++ * change it so that both control blocks are (almost) ++ * equally long. This avoids generating very short ++ * control blocks (worst case would be 4 bytes) which ++ * might be problematic. We also have to make sure the ++ * new length is a multiple of 4 bytes. ++ */ ++ if (*total_len + control_block->length + max_len / 2 > ++ period_len) { ++ control_block->length = ++ DIV_ROUND_UP(period_len - *total_len, 8) * 4; ++ } + /* update number of bytes in this period so far */ + *total_len += control_block->length; + return; + +From 60fbaa3fe333d07205485a6e6e8466f5d3e160a0 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Fri, 3 Jun 2016 19:29:11 -0700 +Subject: [PATCH 136/141] dmaengine: bcm2835: Fix polling for completion of DMA + with interrupts masked. + +The tx_status hook is supposed to be safe to call from interrupt +context, but it wouldn't ever return completion for the last transfer, +meaning you couldn't poll for DMA completion with interrupts masked. + +This fixes IRQ handling for bcm2835's DSI1, which requires using the +DMA engine to write its registers due to a bug in the AXI bridge. + +Signed-off-by: Eric Anholt +--- + drivers/dma/bcm2835-dma.c | 24 +++++++++++++++++++----- + 1 file changed, 19 insertions(+), 5 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 0173b912afb26b8f59e623a9055513df34cd3caa..a98e2c2e6888f6351461c25f9f7d2a34330d0a76 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -588,16 +588,16 @@ static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, + struct virt_dma_desc *vd; + enum dma_status ret; + unsigned long flags; ++ u32 residue; + + ret = dma_cookie_status(chan, cookie, txstate); +- if (ret == DMA_COMPLETE || !txstate) ++ if (ret == DMA_COMPLETE) + return ret; + + spin_lock_irqsave(&c->vc.lock, flags); + vd = vchan_find_desc(&c->vc, cookie); + if (vd) { +- txstate->residue = +- bcm2835_dma_desc_size(to_bcm2835_dma_desc(&vd->tx)); ++ residue = bcm2835_dma_desc_size(to_bcm2835_dma_desc(&vd->tx)); + } else if (c->desc && c->desc->vd.tx.cookie == cookie) { + struct bcm2835_desc *d = c->desc; + dma_addr_t pos; +@@ -609,11 +609,25 @@ static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, + else + pos = 0; + +- txstate->residue = bcm2835_dma_desc_size_pos(d, pos); ++ residue = bcm2835_dma_desc_size_pos(d, pos); ++ ++ /* ++ * If our non-cyclic transfer is done, then report ++ * complete and trigger the next tx now. This lets ++ * the dmaengine API be used synchronously from an IRQ ++ * handler. ++ */ ++ if (!d->cyclic && residue == 0) { ++ vchan_cookie_complete(&c->desc->vd); ++ bcm2835_dma_start_desc(c); ++ ret = dma_cookie_status(chan, cookie, txstate); ++ } + } else { +- txstate->residue = 0; ++ residue = 0; + } + ++ dma_set_residue(txstate, residue); ++ + spin_unlock_irqrestore(&c->vc.lock, flags); + + return ret; + +From 17729f364b572e5ab87aafe377c29f9bc67b2ff7 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 9 Jun 2016 18:53:56 +0100 +Subject: [PATCH 137/141] dwc_otg: add FIQ latency profiling histogram + +Add a sysfs-based FIQ latency profiler that times differences between +start-of-frame interrupts. Stats readout is via the sof_histogram +attribute. + +Writing to the sof_histogram attribute resets the bucket counters. +--- + drivers/usb/host/dwc_otg/dwc_otg_attr.c | 23 ++++++++++++++++- + drivers/usb/host/dwc_otg/dwc_otg_attr.h | 1 + + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 7 +++++- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h | 6 +++++ + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 38 ++++++++++++++++++++++++++++- + drivers/usb/host/dwc_otg/dwc_otg_hcd.h | 7 ++++++ + drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h | 2 ++ + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 27 ++++++++++++++++++++ + 8 files changed, 108 insertions(+), 3 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c +index 9da0c92aaeca2fc393016442cc6578cb4a52c978..e536f7e828174c193b3967f022e32e6f0f3e41d2 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c +@@ -1016,6 +1016,26 @@ static ssize_t wr_reg_test_show(struct device *_dev, + + DEVICE_ATTR(wr_reg_test, S_IRUGO, wr_reg_test_show, 0); + ++static ssize_t sof_histogram_reset(struct device *_dev, ++ struct device_attribute *attr, const char *buf, size_t count) ++{ ++ dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev); ++ dwc_otg_hcd_t *hcd = otg_dev->hcd; ++ dwc_otg_hcd_sof_histogram_reset(hcd); ++ return count; ++} ++ ++static ssize_t sof_histogram_show(struct device *_dev, struct device_attribute *attr, char *buf) ++{ ++ dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev); ++ dwc_otg_hcd_t *hcd = otg_dev->hcd; ++ ++ return dwc_otg_hcd_dump_sof_histogram(hcd, buf); ++ ++} ++ ++DEVICE_ATTR(sof_histogram, S_IRUGO | S_IWUSR, sof_histogram_show, sof_histogram_reset); ++ + #ifdef CONFIG_USB_DWC_OTG_LPM + + /** +@@ -1113,7 +1133,7 @@ void dwc_otg_attr_create( + ) + { + int error; +- ++ error = device_create_file(&dev->dev, &dev_attr_sof_histogram); + error = device_create_file(&dev->dev, &dev_attr_regoffset); + error = device_create_file(&dev->dev, &dev_attr_regvalue); + error = device_create_file(&dev->dev, &dev_attr_mode); +@@ -1168,6 +1188,7 @@ void dwc_otg_attr_remove( + #endif + ) + { ++ device_remove_file(&dev->dev, &dev_attr_sof_histogram); + device_remove_file(&dev->dev, &dev_attr_regoffset); + device_remove_file(&dev->dev, &dev_attr_regvalue); + device_remove_file(&dev->dev, &dev_attr_mode); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h +index e10b67f97c522094b553b7675741ba1b3cae293d..f86ed9534c0d36329d60b52b4b05f31ac073b1b5 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h +@@ -39,6 +39,7 @@ + */ + extern struct device_attribute dev_attr_regoffset; + extern struct device_attribute dev_attr_regvalue; ++extern struct device_attribute dev_attr_sof_histogram; + + extern struct device_attribute dev_attr_mode; + extern struct device_attribute dev_attr_hnpcapable; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index 85d82f31cb49631f03b23631882d2b6c063b33db..9f7cec1ddfc761e61ebb208ea234e82545bf1e49 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -580,8 +580,13 @@ static int notrace noinline fiq_fsm_update_hs_isoc(struct fiq_state *state, int + static int notrace noinline fiq_fsm_do_sof(struct fiq_state *state, int num_channels) + { + hfnum_data_t hfnum = { .d32 = FIQ_READ(state->dwc_regs_base + HFNUM) }; +- int n; ++ int n, i; + int kick_irq = 0; ++ ++ for (i = FIQ_NR_TIMESTAMPS - 1; i > 0; i--) { ++ state->sof_timestamps[i] = state->sof_timestamps[i - 1]; ++ } ++ state->sof_timestamps[0] = FIQ_READ(STC_LO); + + if ((hfnum.b.frnum & 0x7) == 1) { + /* We cannot issue csplits for transactions in the last frame past (n+1).1 +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h +index f9fddfbcffb37f32c808fd78f222b676378398b1..a3e0a784d9567c861410d0d1271d5f95729b5ccb 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + + #if 0 + #define FLAME_ON(x) \ +@@ -80,6 +81,9 @@ do { \ + #define FIQ_WRITE(_addr_,_data_) (*(volatile unsigned int *) (_addr_) = (_data_)) + #define FIQ_READ(_addr_) (*(volatile unsigned int *) (_addr_)) + ++#define FIQ_NR_TIMESTAMPS 32 ++#define STC_LO __io_address(ST_BASE + 0x04) ++ + /* FIQ-ified register definitions. Offsets are from dwc_regs_base. */ + #define GINTSTS 0x014 + #define GINTMSK 0x018 +@@ -339,12 +343,14 @@ struct fiq_state { + fiq_lock_t lock; + mphi_regs_t mphi_regs; + void *dwc_regs_base; ++ void *stc_base; + dma_addr_t dma_base; + struct fiq_dma_blob *fiq_dmab; + void *dummy_send; + gintmsk_data_t gintmsk_saved; + haintmsk_data_t haintmsk_saved; + int mphi_int_count; ++ int sof_timestamps[FIQ_NR_TIMESTAMPS]; + unsigned int fiq_done; + unsigned int kick_np_queues; + unsigned int next_sched_frame; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 135b611abe08e141c937612ab7baada6b13113fc..cb7ec4af267459494194be54e5321df8326bf3c4 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -1047,7 +1047,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) + sizeof(struct fiq_dma_channel) * num_channels); + + DWC_MEMSET(hcd->fiq_dmab, 0x6b, 9024); +- ++ ++ for(i = 0; i < NR_BINS; i++) { ++ hcd->histogram_bins[i] = BIN_START + (i * BIN_STRIDE); ++ hcd->histogram_counts[i] = 0; ++ } ++ + /* pointer for debug in fiq_print */ + hcd->fiq_state->fiq_dmab = hcd->fiq_dmab; + if (fiq_fsm_enable) { +@@ -4001,6 +4006,37 @@ int dwc_otg_hcd_is_bandwidth_freed(dwc_otg_hcd_t * hcd, void *ep_handle) + return freed; + } + ++ssize_t dwc_otg_hcd_dump_sof_histogram(dwc_otg_hcd_t *hcd, char *buf) ++{ ++ ssize_t inc = 0, count = 0; ++ int i; ++ inc = sprintf(buf, "FIQ SOF latency histogram:\n Read overflows: %d\n", ++ hcd->sof_timestamp_overflows); ++ if (inc < 0) ++ return inc; ++ else ++ count += inc; ++ ++ for (i = 0; i < NR_BINS; i++) { ++ inc = sprintf(buf + count, " >%dus : %d\n", hcd->histogram_bins[i], hcd->histogram_counts[i]); ++ if (inc < 0) ++ return inc; ++ else ++ count += inc; ++ } ++ return count; ++} ++ ++void dwc_otg_hcd_sof_histogram_reset(dwc_otg_hcd_t *hcd) ++{ ++ int i; ++ unsigned long flags; ++ DWC_SPINLOCK_IRQSAVE(hcd->lock, &flags); ++ for(i = 0; i < NR_BINS; i++) ++ hcd->histogram_counts[i] = 0; ++ DWC_SPINUNLOCK_IRQRESTORE(hcd->lock, flags); ++} ++ + uint8_t dwc_otg_hcd_get_ep_bandwidth(dwc_otg_hcd_t * hcd, void *ep_handle) + { + dwc_otg_qh_t *qh = (dwc_otg_qh_t *) ep_handle; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +index 43dbed9fddbf5491bab33cc6e551b99ca8dce7dc..53ec21b15feebf91ef3ce9d13dbb265a7f856609 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +@@ -589,6 +589,13 @@ struct dwc_otg_hcd { + + struct fiq_stack *fiq_stack; + struct fiq_state *fiq_state; ++ int last_sof_timestamp; ++ int sof_timestamp_overflows; ++#define NR_BINS 16 ++#define BIN_STRIDE 5 ++#define BIN_START 100 ++ int histogram_bins[NR_BINS]; ++ int histogram_counts[NR_BINS]; + + /** Virtual address for split transaction DMA bounce buffers */ + struct fiq_dma_blob *fiq_dmab; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +index fb57db09378f4ab95d57cb58aa570a915ccb61c3..6103f7085b417d29eca323c1ed9667c6614c9ecd 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +@@ -411,6 +411,8 @@ extern int dwc_otg_hcd_is_bandwidth_freed(dwc_otg_hcd_t * hcd, void *ep_handle); + extern uint8_t dwc_otg_hcd_get_ep_bandwidth(dwc_otg_hcd_t * hcd, + void *ep_handle); + ++extern ssize_t dwc_otg_hcd_dump_sof_histogram(dwc_otg_hcd_t *hcd, char *buf); ++extern void dwc_otg_hcd_sof_histogram_reset(dwc_otg_hcd_t *hcd); + /** @} */ + + #endif /* __DWC_HCD_IF_H__ */ +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index e6b38ac330b72152204c2a6879c20f0ce02ac2e5..a72438c9ed0b45471c736c52248480399511aca3 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -72,6 +72,31 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...) + } + #endif + ++void dwc_otg_hcd_update_histogram(dwc_otg_hcd_t *hcd) ++{ ++ int i, j, delta; ++ /* Search through the stack of SOF timestamps to find the last congruent timestamp */ ++ for(i = FIQ_NR_TIMESTAMPS - 1; i >= 0; i--) { ++ if ((hcd->last_sof_timestamp - hcd->fiq_state->sof_timestamps[i]) <= 0) ++ break; ++ } ++ if (i < 0) { ++ hcd->sof_timestamp_overflows++; ++ i += 1; ++ } ++ for(; i < FIQ_NR_TIMESTAMPS - 1; i++) { ++ /* Compute deltas, add to histogram buckets */ ++ delta = hcd->fiq_state->sof_timestamps[i] - hcd->fiq_state->sof_timestamps[i+1]; ++ for (j = 0; j < NR_BINS; j++) { ++ if(hcd->histogram_bins[j] >= delta || j == NR_BINS - 1) { ++ hcd->histogram_counts[j]++; ++ break; ++ } ++ } ++ } ++ hcd->last_sof_timestamp = hcd->fiq_state->sof_timestamps[0]; ++} ++ + /** This function handles interrupts for the HCD. */ + int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) + { +@@ -104,6 +129,8 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) + /* Pull in from the FIQ's disabled mask */ + gintmsk.d32 = gintmsk.d32 | ~(dwc_otg_hcd->fiq_state->gintmsk_saved.d32); + dwc_otg_hcd->fiq_state->gintmsk_saved.d32 = ~0; ++ ++ dwc_otg_hcd_update_histogram(dwc_otg_hcd); + } + + if (fiq_fsm_enable && ( 0x0000FFFF & ~(dwc_otg_hcd->fiq_state->haintmsk_saved.b2.chint))) { + +From 8aa86d0116b8c3a23a67d3a53fc75f075d417de3 Mon Sep 17 00:00:00 2001 +From: Matt Flax +Date: Fri, 17 Jun 2016 12:03:39 +1000 +Subject: [PATCH 138/141] Added support for headphones, microphone and + bclk_ratio settings. + +This patch adds headphone and microphone capability to the Audio Injector sound card. The patch also sets the bit clock ratio for use in the bcm2835-i2s driver. The bcm2835-i2s can't handle an 8 kHz sample rate when the bit clock is at 12 MHz because its register is only 10 bits wide which can't represent the ch2 offset of 1508. For that reason, the rate constraint is added. +--- + sound/soc/bcm/audioinjector-pi-soundcard.c | 67 ++++++++++++++++++++++++++---- + 1 file changed, 58 insertions(+), 9 deletions(-) + +diff --git a/sound/soc/bcm/audioinjector-pi-soundcard.c b/sound/soc/bcm/audioinjector-pi-soundcard.c +index 39f29e26897226a413b4fa0a11a9bc160a485281..5ff0985e07efb96b95634a65995f09f7c68d9e99 100644 +--- a/sound/soc/bcm/audioinjector-pi-soundcard.c ++++ b/sound/soc/bcm/audioinjector-pi-soundcard.c +@@ -29,16 +29,56 @@ + + #include "../codecs/wm8731.h" + +-static int audioinjector_pi_soundcard_dai_init(struct snd_soc_pcm_runtime *rtd) ++static const unsigned int bcm2835_rates_12000000[] = { ++ 32000, 44100, 48000, 96000, 88200, ++}; ++ ++static struct snd_pcm_hw_constraint_list bcm2835_constraints_12000000 = { ++ .list = bcm2835_rates_12000000, ++ .count = ARRAY_SIZE(bcm2835_rates_12000000), ++}; ++ ++static int snd_audioinjector_pi_soundcard_startup(struct snd_pcm_substream *substream) + { +- struct snd_soc_dapm_context *dapm = &rtd->card->dapm; ++ /* Setup constraints, because there is a 12 MHz XTAL on the board */ ++ snd_pcm_hw_constraint_list(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_RATE, ++ &bcm2835_constraints_12000000); ++ return 0; ++} + +- // not connected +- snd_soc_dapm_nc_pin(dapm, "Mic Bias"); +- snd_soc_dapm_nc_pin(dapm, "MICIN"); +- snd_soc_dapm_nc_pin(dapm, "RHPOUT"); +- snd_soc_dapm_nc_pin(dapm, "LHPOUT"); ++static int snd_audioinjector_pi_soundcard_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_dai *cpu_dai = rtd->cpu_dai; ++ ++ switch (params_rate(params)){ ++ case 8000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 1508); ++ case 32000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 378); ++ case 44100: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 274); ++ case 48000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 252); ++ case 88200: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 136); ++ case 96000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 126); ++ default: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 126); ++ } ++} ++ ++/* machine stream operations */ ++static struct snd_soc_ops snd_audioinjector_pi_soundcard_ops = { ++ .startup = snd_audioinjector_pi_soundcard_startup, ++ .hw_params = snd_audioinjector_pi_soundcard_hw_params, ++}; + ++static int audioinjector_pi_soundcard_dai_init(struct snd_soc_pcm_runtime *rtd) ++{ + return snd_soc_dai_set_sysclk(rtd->codec_dai, WM8731_SYSCLK_XTAL, 12000000, SND_SOC_CLOCK_IN); + } + +@@ -50,30 +90,39 @@ static struct snd_soc_dai_link audioinjector_pi_soundcard_dai[] = { + .codec_dai_name = "wm8731-hifi", + .platform_name = "bcm2835-i2s.0", + .codec_name = "wm8731.1-001a", ++ .ops = &snd_audioinjector_pi_soundcard_ops, + .init = audioinjector_pi_soundcard_dai_init, + .dai_fmt = SND_SOC_DAIFMT_CBM_CFM|SND_SOC_DAIFMT_I2S|SND_SOC_DAIFMT_NB_NF, + }, + }; + + static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = { ++ SND_SOC_DAPM_HP("Headphone Jack", NULL), + SND_SOC_DAPM_SPK("Ext Spk", NULL), + SND_SOC_DAPM_LINE("Line In Jacks", NULL), ++ SND_SOC_DAPM_MIC("Microphone", NULL), + }; + +-/* Corgi machine connections to the codec pins */ + static const struct snd_soc_dapm_route audioinjector_audio_map[] = { ++ /* headphone connected to LHPOUT, RHPOUT */ ++ {"Headphone Jack", NULL, "LHPOUT"}, ++ {"Headphone Jack", NULL, "RHPOUT"}, ++ + /* speaker connected to LOUT, ROUT */ + {"Ext Spk", NULL, "ROUT"}, + {"Ext Spk", NULL, "LOUT"}, + + /* line inputs */ + {"Line In Jacks", NULL, "Line Input"}, ++ ++ /* mic is connected to Mic Jack, with WM8731 Mic Bias */ ++ {"Microphone", NULL, "Mic Bias"}, + }; + + static struct snd_soc_card snd_soc_audioinjector = { + .name = "audioinjector-pi-soundcard", + .dai_link = audioinjector_pi_soundcard_dai, +- .num_links = 1, ++ .num_links = ARRAY_SIZE(audioinjector_pi_soundcard_dai), + + .dapm_widgets = wm8731_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets), + +From 900340bd2b43711372627df83e4ffcc4ce4c2294 Mon Sep 17 00:00:00 2001 +From: Thomas Kriechbaumer +Date: Fri, 3 Jun 2016 09:40:44 +0200 +Subject: [PATCH 139/141] BCM270X_DT: Add spi-rtc overlay on SPI0.0 + +Initial version only supports PCF2123 RTC. + +See: https://github.com/raspberrypi/linux/pull/1510 +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 +++++ + arch/arm/boot/dts/overlays/spi-rtc-overlay.dts | 33 ++++++++++++++++++++++++++ + 3 files changed, 40 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/spi-rtc-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index ed62846e18e4d3098169f05a1a8ba16caf1619aa..988884db1861a6f1b032e8e88d812e9721e75d26 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -77,6 +77,7 @@ dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-nand.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += spi-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-3cs.dtbo +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 628cff3fc60a13b26b3f2f572573884df480c7bf..f105bbc3d55caacfedc346699d96cbc6bc611fce 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -953,6 +953,12 @@ Load: dtoverlay=spi-gpio35-39 + Params: + + ++Name: spi-rtc ++Info: Adds support for a number of SPI Real Time Clock devices ++Load: dtoverlay=spi-rtc,= ++Params: pcf2123 Select the PCF2123 device ++ ++ + Name: spi1-1cs + Info: Enables spi1 with a single chip select (CS) line and associated spidev + dev node. The gpio pin number for the CS line and spidev device node +diff --git a/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..88d1800d63c9f6727b46d4e590c8e96c671c3755 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts +@@ -0,0 +1,33 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spi0>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ rtc-pcf2123@0 { ++ compatible = "nxp,rtc-pcf2123"; ++ spi-max-frequency = <5000000>; ++ spi-cs-high = <1>; ++ reg = <0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ pcf2123 = <0>, "=0=1"; ++ }; ++}; + +From 5e2ceb5da81488cd4be7625e0ffb2d7bd4faac13 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 15 Jun 2016 16:48:41 +0100 +Subject: [PATCH 140/141] rtc: Add SPI alias for pcf2123 driver + +Without this alias, Device Tree won't cause the driver +to be loaded. + +See: https://github.com/raspberrypi/linux/pull/1510 +--- + drivers/rtc/rtc-pcf2123.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c +index da27738b12428eaac52771cfc62261995d1aa58e..3164be24eba3c123ea8cc49f16d409ea1de9e605 100644 +--- a/drivers/rtc/rtc-pcf2123.c ++++ b/drivers/rtc/rtc-pcf2123.c +@@ -475,3 +475,4 @@ MODULE_AUTHOR("Chris Verges "); + MODULE_DESCRIPTION("NXP PCF2123 RTC driver"); + MODULE_LICENSE("GPL"); + MODULE_VERSION(DRV_VERSION); ++MODULE_ALIAS("spi:rtc-pcf2123"); + +From 474abc9360db6f40c3b9cd42faaff458cd265ec5 Mon Sep 17 00:00:00 2001 +From: Wang Sheng-Hui +Date: Wed, 8 Jun 2016 15:33:56 -0700 +Subject: [PATCH 141/141] mm: introduce dedicated WQ_MEM_RECLAIM workqueue to + do lru_add_drain_all + +Backport of upstream commit f3a932baa7f65072434f1c04c02c8a4d2746fcfc + +See: https://github.com/raspberrypi/linux/issues/1534 + +-- + +This patch is based on https://patchwork.ozlabs.org/patch/574623/. + +Tejun submitted commit 23d11a58a9a6 ("workqueue: skip flush dependency +checks for legacy workqueues") for the legacy create*_workqueue() +interface. + +But some workq created by alloc_workqueue still reports warning on +memory reclaim, e.g nvme_workq with flag WQ_MEM_RECLAIM set: + + workqueue: WQ_MEM_RECLAIM nvme:nvme_reset_work is flushing !WQ_MEM_RECLAIM events:lru_add_drain_per_cpu + ------------[ cut here ]------------ + WARNING: CPU: 0 PID: 6 at SoC/linux/kernel/workqueue.c:2448 check_flush_dependency+0xb4/0x10c + ... + check_flush_dependency+0xb4/0x10c + flush_work+0x54/0x140 + lru_add_drain_all+0x138/0x188 + migrate_prep+0xc/0x18 + alloc_contig_range+0xf4/0x350 + cma_alloc+0xec/0x1e4 + dma_alloc_from_contiguous+0x38/0x40 + __dma_alloc+0x74/0x25c + nvme_alloc_queue+0xcc/0x36c + nvme_reset_work+0x5c4/0xda8 + process_one_work+0x128/0x2ec + worker_thread+0x58/0x434 + kthread+0xd4/0xe8 + ret_from_fork+0x10/0x50 + +That's because lru_add_drain_all() will schedule the drain work on +system_wq, whose flag is set to 0, !WQ_MEM_RECLAIM. + +Introduce a dedicated WQ_MEM_RECLAIM workqueue to do +lru_add_drain_all(), aiding in getting memory freed. + +Link: http://lkml.kernel.org/r/1464917521-9775-1-git-send-email-shhuiw@foxmail.com +Signed-off-by: Wang Sheng-Hui +Acked-by: Tejun Heo +Cc: Keith Busch +Cc: Peter Zijlstra +Cc: Thierry Reding +Cc: Ingo Molnar +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +--- + mm/swap.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/mm/swap.c b/mm/swap.c +index 03aacbcb013f2be47efbb15d78387c8b368e2604..f02d8fb2110a85d25451d5466b8bc22a3b7d7577 100644 +--- a/mm/swap.c ++++ b/mm/swap.c +@@ -666,6 +666,24 @@ static void lru_add_drain_per_cpu(struct work_struct *dummy) + + static DEFINE_PER_CPU(struct work_struct, lru_add_drain_work); + ++/* ++ * lru_add_drain_wq is used to do lru_add_drain_all() from a WQ_MEM_RECLAIM ++ * workqueue, aiding in getting memory freed. ++ */ ++static struct workqueue_struct *lru_add_drain_wq; ++ ++static int __init lru_init(void) ++{ ++ lru_add_drain_wq = alloc_workqueue("lru-add-drain", WQ_MEM_RECLAIM, 0); ++ ++ if (WARN(!lru_add_drain_wq, ++ "Failed to create workqueue lru_add_drain_wq")) ++ return -ENOMEM; ++ ++ return 0; ++} ++early_initcall(lru_init); ++ + void lru_add_drain_all(void) + { + static DEFINE_MUTEX(lock); +@@ -685,7 +703,7 @@ void lru_add_drain_all(void) + pagevec_count(&per_cpu(lru_deactivate_pvecs, cpu)) || + need_activate_page_drain(cpu)) { + INIT_WORK(work, lru_add_drain_per_cpu); +- schedule_work_on(cpu, work); ++ queue_work_on(cpu, lru_add_drain_wq, work); + cpumask_set_cpu(cpu, &has_work); + } + } diff --git a/projects/RPi2/patches/linux/linux-01-RPi_support.patch b/projects/RPi2/patches/linux/linux-01-RPi_support.patch index e868fd5d79..5cfc23b7e3 100644 --- a/projects/RPi2/patches/linux/linux-01-RPi_support.patch +++ b/projects/RPi2/patches/linux/linux-01-RPi_support.patch @@ -1,7 +1,7 @@ From 4ea3d80111eaec2f84b553f771cdc3eaa53d81a3 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 17:43:28 +0100 -Subject: [PATCH 001/112] Revert "SUNRPC: Make NFS swap work with multipath" +Subject: [PATCH 001/141] Revert "SUNRPC: Make NFS swap work with multipath" This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. --- @@ -9,7 +9,7 @@ This reverts commit 15001e5a7e1e207b6bd258cd8f187814cd15b6dc. 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/net/sunrpc/clnt.c b/net/sunrpc/clnt.c -index 7e0c9bf..0693685 100644 +index 7e0c9bf22df811475385496007cfac321e0422a5..06936855313fe14abac8af7929a7a35381886e9e 100644 --- a/net/sunrpc/clnt.c +++ b/net/sunrpc/clnt.c @@ -2683,39 +2683,57 @@ void rpc_show_tasks(struct net *net) @@ -98,7 +98,7 @@ index 7e0c9bf..0693685 100644 From ec83e1899f7401a737271704e13aef2360dc9bb8 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 002/112] smsx95xx: fix crimes against truesize +Subject: [PATCH 002/141] 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. @@ -110,7 +110,7 @@ Signed-off-by: Steve Glendinning 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 2edc2bc..2ce8d2b 100644 +index 2edc2bc6d1b9fb3201a5f4d564dffed93e30bddc..2ce8d2b7d35b6784b7d4faf85e765b233d7a0081 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -75,6 +75,10 @@ static bool turbo_mode = true; @@ -148,14 +148,14 @@ index 2edc2bc..2ce8d2b 100644 From b0f55205237174555211736e3b6472ab9783bb02 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 17 Apr 2015 16:58:45 +0100 -Subject: [PATCH 003/112] smsc95xx: Disable turbo mode by default +Subject: [PATCH 003/141] smsc95xx: Disable turbo mode by default --- drivers/net/usb/smsc95xx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 2ce8d2b..35ebf75 100644 +index 2ce8d2b7d35b6784b7d4faf85e765b233d7a0081..35ebf75d9949d945b7833ac8cb3c19083045fbd9 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -71,7 +71,7 @@ struct smsc95xx_priv { @@ -171,7 +171,7 @@ index 2ce8d2b..35ebf75 100644 From d6e3695a49d2fb22c521adac2b24458414c1e508 Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 004/112] add smsc95xx packetsize module_param +Subject: [PATCH 004/141] add smsc95xx packetsize module_param Signed-off-by: Sam Nazarko --- @@ -179,7 +179,7 @@ Signed-off-by: Sam Nazarko 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 35ebf75..3cac3c9 100644 +index 35ebf75d9949d945b7833ac8cb3c19083045fbd9..3cac3c9b276e4c76af92aa9b19451875769f7798 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -79,6 +79,10 @@ static bool truesize_mode = false; @@ -216,7 +216,7 @@ index 35ebf75..3cac3c9 100644 From 0fd771797e99ddec1f9336187344c6863b86d7f4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 005/112] Allow mac address to be set in smsc95xx +Subject: [PATCH 005/141] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -224,7 +224,7 @@ Signed-off-by: popcornmix 1 file changed, 56 insertions(+) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c -index 3cac3c9..d9bdc74 100644 +index 3cac3c9b276e4c76af92aa9b19451875769f7798..d9bdc74086f3d656a930375b6e0ea2c98fa635e6 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -60,6 +60,7 @@ @@ -315,7 +315,7 @@ index 3cac3c9..d9bdc74 100644 From 61022ce3ea95a14a2ad16b4a3e8f310e327e9600 Mon Sep 17 00:00:00 2001 From: Nicolas Boullis Date: Sun, 10 Apr 2016 13:23:05 +0200 -Subject: [PATCH 006/112] rtc: ds1307: ensure that any pending alarm is cleared +Subject: [PATCH 006/141] rtc: ds1307: ensure that any pending alarm is cleared before a new alarm is enabled MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -341,7 +341,7 @@ Signed-off-by: Alexandre Belloni 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index ecb7dba..e94eb09 100644 +index ecb7dbae9be9daa0ee96ede34a446a78e8e7debd..e94eb0952286300ec9847cddaf317476ddd05423 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -538,12 +538,8 @@ static int ds1337_set_alarm(struct device *dev, struct rtc_wkalrm *t) @@ -376,7 +376,7 @@ index ecb7dba..e94eb09 100644 From 72c09cf49710f661332c34ad016d8a3768bd0ad6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 13:28:24 +0000 -Subject: [PATCH 007/112] serial: Take care starting a hung-up tty's port +Subject: [PATCH 007/141] serial: Take care starting a hung-up tty's port tty_port_hangup sets a port's tty field to NULL (holding the port lock), but uart_tx_stopped, called from __uart_start (with the port lock), @@ -391,7 +391,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h -index cbfcf38..96bc15a 100644 +index cbfcf38e220def6070e3de57c56ce34f3536bd6c..96bc15aa5c2190287590dc32949d873289858e97 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h @@ -403,7 +403,7 @@ int uart_resume_port(struct uart_driver *reg, struct uart_port *port); @@ -407,7 +407,7 @@ index cbfcf38..96bc15a 100644 From 1ec14b21462e368076fe6dc5f37a80b69ddc1822 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Jun 2014 13:42:01 +0100 -Subject: [PATCH 008/112] vmstat: Workaround for issue where dirty page count +Subject: [PATCH 008/141] vmstat: Workaround for issue where dirty page count goes negative See: @@ -418,7 +418,7 @@ http://www.spinics.net/lists/linux-mm/msg72236.html 1 file changed, 4 insertions(+) diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h -index 73fae8c..5dd1278 100644 +index 73fae8c4a5fb50d94b72f12bed28f98d170f5787..5dd127883ad1dee89dd72be4cccb2ffb069d3521 100644 --- a/include/linux/vmstat.h +++ b/include/linux/vmstat.h @@ -220,7 +220,11 @@ static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item) @@ -437,7 +437,7 @@ index 73fae8c..5dd1278 100644 From 08a0e3f5f7317c8bd3abbd692f8deb75860b5f11 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 009/112] Protect __release_resource against resources without +Subject: [PATCH 009/141] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -448,7 +448,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+) diff --git a/kernel/resource.c b/kernel/resource.c -index 9b5f044..f8a9af6 100644 +index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b4010644bdc882 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -246,6 +246,12 @@ static int __release_resource(struct resource *old, bool release_child) @@ -468,7 +468,7 @@ index 9b5f044..f8a9af6 100644 From 28c2d214e5540706073521cd1e8503e8cfffdc85 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 010/112] mm: Remove the PFN busy warning +Subject: [PATCH 010/141] mm: Remove the PFN busy warning See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is expected sometimes when using CMA. However, that commit still spams @@ -480,7 +480,7 @@ Signed-off-by: Eric Anholt 1 file changed, 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 898fe3f..5a578b1 100644 +index 898fe3f909f91df712b34d52797e5aca384e418b..5a578b1e37f0e566f9ff930bdf13a4647085c514 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -7101,8 +7101,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, @@ -496,7 +496,7 @@ index 898fe3f..5a578b1 100644 From 143a9f1fe93904316f26a0a23917f5b827cdcc95 Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 011/112] BCM2835_DT: Fix I2S register map +Subject: [PATCH 011/141] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -504,7 +504,7 @@ Subject: [PATCH 011/112] BCM2835_DT: Fix I2S register map 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt -index 1396078..2db8294 100644 +index 1396078d15ac625e737487bb242f79b330796951..2db8294474db47d8c199796d4d50a3a0a8a3cac5 100644 --- a/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt +++ b/Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt @@ -48,8 +48,8 @@ Example: @@ -519,7 +519,7 @@ index 1396078..2db8294 100644 dmas = <&dma 2>, <&dma 3>; diff --git a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt -index 65783de..a89fe42 100644 +index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554427118a2 100644 --- a/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt +++ b/Documentation/devicetree/bindings/sound/brcm,bcm2835-i2s.txt @@ -16,8 +16,8 @@ Example: @@ -537,7 +537,7 @@ index 65783de..a89fe42 100644 From f54d56eaa7981101f815282191a0995f5ef0160e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 012/112] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 012/141] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -552,7 +552,7 @@ though, so trap them early. 1 file changed, 1 insertion(+) diff --git a/drivers/irqchip/irq-bcm2836.c b/drivers/irqchip/irq-bcm2836.c -index b6e950d..bbb92c2 100644 +index b6e950d4782a1e020acddb50705efb180fe758b3..bbb92c290448fcabcb468302dfa5762b44b60d4a 100644 --- a/drivers/irqchip/irq-bcm2836.c +++ b/drivers/irqchip/irq-bcm2836.c @@ -175,6 +175,7 @@ __exception_irq_entry bcm2836_arm_irqchip_handle_irq(struct pt_regs *regs) @@ -567,7 +567,7 @@ index b6e950d..bbb92c2 100644 From 97af81452eaa1804af8e8af3591aff4a9dc83988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 12 Jun 2015 19:01:05 +0200 -Subject: [PATCH 013/112] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 013/141] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -585,7 +585,7 @@ Acked-by: Stephen Warren 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 7ef1214..b1a5a7b 100644 +index 7ef121472cdd4761d059ae9f3eaf26b04ac141a2..b1a5a7b68158c55317418ee87e1df0325f8e4482 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig @@ -143,6 +143,7 @@ config ARCH_BCM2835 @@ -597,7 +597,7 @@ index 7ef1214..b1a5a7b 100644 select PINCTRL_BCM2835 help diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index bf9cc5f..3f601f9 100644 +index bf9cc5f2e839e845fe1ce65caa672b6212d3ffbc..3f601f98aa884b941fbb84edb349f6c469b940b1 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -55,7 +55,7 @@ @@ -699,7 +699,7 @@ index bf9cc5f..3f601f9 100644 From 57f8362b1afdc00d082a6793ce374555ab6b948e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 23 Oct 2015 16:26:55 +0200 -Subject: [PATCH 014/112] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 014/141] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -710,7 +710,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 3f601f9..20deb28 100644 +index 3f601f98aa884b941fbb84edb349f6c469b940b1..20deb282286834b1f234a65e614b8584688a25d7 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -50,6 +50,8 @@ @@ -798,7 +798,7 @@ index 3f601f9..20deb28 100644 From fbe0188b2994a519faac03ee98b62234b5239639 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 015/112] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 015/141] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -807,7 +807,7 @@ See: https://github.com/raspberrypi/linux/issues/1054 1 file changed, 1 insertion(+) diff --git a/drivers/spi/spidev.c b/drivers/spi/spidev.c -index e3c19f3..f4963e3 100644 +index e3c19f30f591115a823467033702ff1b232c5ebc..f4963e3c1dbcd13edb9b97e9dad65438214ec9d3 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c @@ -695,6 +695,7 @@ static struct class *spidev_class; @@ -822,14 +822,14 @@ index e3c19f3..f4963e3 100644 From 3c33af8ff64e72175cf48b44a6daa0d1719f9905 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 30 Jun 2015 14:12:42 +0100 -Subject: [PATCH 016/112] serial: 8250: Don't crash when nr_uarts is 0 +Subject: [PATCH 016/141] serial: 8250: Don't crash when nr_uarts is 0 --- drivers/tty/serial/8250/8250_core.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/tty/serial/8250/8250_core.c b/drivers/tty/serial/8250/8250_core.c -index 2f4f5ee..edc1355 100644 +index 2f4f5ee651db63c040255347b56d0ac385e36415..edc1355f6381410fb79f48e17a2d2f47da66d841 100644 --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c @@ -509,6 +509,8 @@ static void __init serial8250_isa_init_ports(void) @@ -845,7 +845,7 @@ index 2f4f5ee..edc1355 100644 From a5ae9d0c48cb9844944e7d7576b697471bd36a4c Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 017/112] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 017/141] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -854,7 +854,7 @@ Signed-off-by: Noralf Tronnes 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 08b1d93..0a23c81 100644 +index 08b1d93da9fedb36e1ae6ed3450221271f25998f..0a23c813397f14e503beb795b1f448124db74b9a 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -373,7 +373,7 @@ static struct gpio_chip bcm2835_gpio_chip = { @@ -870,7 +870,7 @@ index 08b1d93..0a23c81 100644 From 6c19fef04e584bcc5bb5fe5e98f5082cf6478be6 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 018/112] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 018/141] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -891,7 +891,7 @@ the pins are often used for I2S instead. 1 file changed, 39 insertions(+), 12 deletions(-) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 0a23c81..b793bbd 100644 +index 0a23c813397f14e503beb795b1f448124db74b9a..b793bbdb12dca12722a7f0d07a29fe238c7f09cf 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -47,6 +47,7 @@ @@ -1019,7 +1019,7 @@ index 0a23c81..b793bbd 100644 From 6d508dd5ec01abf12aa444d70991d7b780e53f75 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 019/112] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 019/141] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -1033,7 +1033,7 @@ interface, is unlikely to be a problem. 1 file changed, 2 insertions(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index b793bbd..8683a1b 100644 +index b793bbdb12dca12722a7f0d07a29fe238c7f09cf..8683a1be5ecc45e1e664d5e078f25e6ff0ebe282 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -1029,6 +1029,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) @@ -1049,7 +1049,7 @@ index b793bbd..8683a1b 100644 From 70a973e06f8d27093536bd00e87b74621de0ac02 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 May 2016 12:32:47 +0100 -Subject: [PATCH 020/112] pinctrl-bcm2835: Return pins to inputs when freed +Subject: [PATCH 020/141] pinctrl-bcm2835: Return pins to inputs when freed When dynamically unloading overlays, it is important that freed pins are restored to being inputs to prevent functions from being enabled in @@ -1061,7 +1061,7 @@ Signed-off-by: Phil Elwell 1 file changed, 11 insertions(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 8683a1b..6327122 100644 +index 8683a1be5ecc45e1e664d5e078f25e6ff0ebe282..6327122cb13b2a0229be4de7c3409b54afdd2847 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -831,6 +831,16 @@ static const struct pinctrl_ops bcm2835_pctl_ops = { @@ -1093,7 +1093,7 @@ index 8683a1b..6327122 100644 From f2d2360f3b75dd50b9e62f02e21b0c6be7a9c1e8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 021/112] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 021/141] spi-bcm2835: Support pin groups other than 7-11 The spi-bcm2835 driver automatically uses GPIO chip-selects due to some unreliability of the native ones. In doing so it chooses the @@ -1110,7 +1110,7 @@ Signed-off-by: Phil Elwell 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c -index f35cc10..5dfe20f 100644 +index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175a29705b6 100644 --- a/drivers/spi/spi-bcm2835.c +++ b/drivers/spi/spi-bcm2835.c @@ -688,6 +688,8 @@ static int bcm2835_spi_setup(struct spi_device *spi) @@ -1177,7 +1177,7 @@ index f35cc10..5dfe20f 100644 From e18b7eb8c9563fb8d83a7edf8d2ebbaf798415c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Wed, 3 Jun 2015 12:26:13 +0200 -Subject: [PATCH 022/112] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 022/141] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1202,7 +1202,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 9 insertions(+) diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 834d676..3b68a8d 100644 +index 834d67684e205a185971c13ebc6620434eeac788..3b68a8d3501a5dcb1b4790c35d921cf5fa641ec7 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -17,12 +17,16 @@ @@ -1238,7 +1238,7 @@ index 834d676..3b68a8d 100644 From 79b0ba4e2932f0f13035581c36bb3bd4a515f8d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Thu, 9 Apr 2015 12:34:11 +0200 -Subject: [PATCH 023/112] dmaengine: bcm2835: Add slave dma support +Subject: [PATCH 023/141] dmaengine: bcm2835: Add slave dma support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1255,7 +1255,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 192 insertions(+), 14 deletions(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 996c4b0..b278c66 100644 +index 996c4b00d323ed5c2dd6455f80eb36ed8e9a8b23..b278c663e3b31a7c906dd32d53db5e670f6bbc10 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -1,11 +1,10 @@ @@ -1561,7 +1561,7 @@ index 996c4b0..b278c66 100644 From edef61f03f6ad3e6bdba78ea074ba0d1514a7a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 15:58:59 +0200 -Subject: [PATCH 024/112] dmaengine: bcm2835: set residue_granularity field +Subject: [PATCH 024/141] dmaengine: bcm2835: set residue_granularity field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1578,7 +1578,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 1 insertion(+) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index b278c66..696fb30 100644 +index b278c663e3b31a7c906dd32d53db5e670f6bbc10..696fb30b4f5a01cda9b98038b8e548368cea05f4 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -802,6 +802,7 @@ static int bcm2835_dma_probe(struct platform_device *pdev) @@ -1593,7 +1593,7 @@ index b278c66..696fb30 100644 From 7225bfaf5d36f4e320f96e6f2433f9fd4a6e2cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 3 Oct 2015 22:22:55 +0200 -Subject: [PATCH 025/112] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 025/141] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1611,7 +1611,7 @@ Signed-off-by: Noralf Trønnes 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index d96d87c..4d0425c 100644 +index d96d87c56f2e13a6c85a815626f67b67c9940116..4d0425c820d476fc7e5d5acf12a32de074c91b1d 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -108,7 +108,7 @@ config COH901318 @@ -1624,7 +1624,7 @@ index d96d87c..4d0425c 100644 select DMA_VIRTUAL_CHANNELS diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 696fb30..5db0a95 100644 +index 696fb30b4f5a01cda9b98038b8e548368cea05f4..5db0a95985b20a2086c65762ea8f125511f67471 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -36,6 +36,7 @@ @@ -1696,7 +1696,7 @@ index 696fb30..5db0a95 100644 From 35af6481c2b4f5ab8316f5531e911dc239d37267 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 12:28:30 +0200 -Subject: [PATCH 026/112] bcm2835-dma: Limit cyclic transfers on lite channels +Subject: [PATCH 026/141] bcm2835-dma: Limit cyclic transfers on lite channels to 32k Transfers larger than 32k cause repeated clicking with I2S soundcards. @@ -1707,7 +1707,7 @@ did as an intermediate fix. 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 5db0a95..6b87ce2 100644 +index 5db0a95985b20a2086c65762ea8f125511f67471..6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -144,6 +144,12 @@ struct bcm2835_desc { @@ -1736,14 +1736,14 @@ index 5db0a95..6b87ce2 100644 From fae40bf186c307fb98d4cfa8705c2b6a5a785a75 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 16 Nov 2015 14:05:35 +0000 -Subject: [PATCH 027/112] bcm2835-dma: Fix up convert to DMA pool +Subject: [PATCH 027/141] bcm2835-dma: Fix up convert to DMA pool --- drivers/dma/bcm2835-dma.c | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c -index 6b87ce2..d26b6bd 100644 +index 6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9..d26b6bdbcf1ab33ab92937b889a37e505c925311 100644 --- a/drivers/dma/bcm2835-dma.c +++ b/drivers/dma/bcm2835-dma.c @@ -488,6 +488,17 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( @@ -1824,7 +1824,7 @@ index 6b87ce2..d26b6bd 100644 From 045c252001479259dc420de9112db61f255ca851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Sat, 15 Aug 2015 20:50:02 +0200 -Subject: [PATCH 028/112] bcm2835: Add support for uart1 +Subject: [PATCH 028/141] bcm2835: Add support for uart1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1838,7 +1838,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 25 insertions(+) diff --git a/arch/arm/mach-bcm/board_bcm2835.c b/arch/arm/mach-bcm/board_bcm2835.c -index 3b68a8d..e72e522 100644 +index 3b68a8d3501a5dcb1b4790c35d921cf5fa641ec7..e72e522fbc840c36a39cb6550850b3c663bcff2e 100644 --- a/arch/arm/mach-bcm/board_bcm2835.c +++ b/arch/arm/mach-bcm/board_bcm2835.c @@ -22,6 +22,29 @@ @@ -1884,14 +1884,14 @@ index 3b68a8d..e72e522 100644 From 1cadf2793639c7b319413826cd5e27056de89747 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 029/112] firmware: Updated mailbox header +Subject: [PATCH 029/141] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h -index 3fb3571..227a107 100644 +index 3fb357193f09914fe21f8555a4b8613f74f22bc3..227a107214a02deadcca3db202da265eba1fdd21 100644 --- a/include/soc/bcm2835/raspberrypi-firmware.h +++ b/include/soc/bcm2835/raspberrypi-firmware.h @@ -63,6 +63,7 @@ enum rpi_firmware_property_tag { @@ -1950,7 +1950,7 @@ index 3fb3571..227a107 100644 From c65d61684a0f31137cf35dad86e2f8c5b50e9d70 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 030/112] Main bcm2708/bcm2709 linux port +Subject: [PATCH 030/141] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2022,7 +2022,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 arch/arm/mach-bcm2709/vc_mem.c diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index cdfa6c2..aad7157 100644 +index cdfa6c2b7626f3a761364ac072fc359b5f02592a..aad71574d78fbf13ddb5616d5f9fdd742bfa6487 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -322,6 +322,52 @@ choice @@ -2089,7 +2089,7 @@ index cdfa6c2..aad7157 100644 source "arch/arm/mach-alpine/Kconfig" diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug -index 1098e91..e119675 100644 +index 1098e91d6d3f34ff5ca9abd4784dd1793897115c..e11967517b52614b4babf9e8cbafd0f920aaf208 100644 --- a/arch/arm/Kconfig.debug +++ b/arch/arm/Kconfig.debug @@ -1302,6 +1302,14 @@ choice @@ -2108,7 +2108,7 @@ index 1098e91..e119675 100644 config DEBUG_EXYNOS_UART diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 8c3ce2a..c4d7d10 100644 +index 8c3ce2ac44c4a675e091e8b107f1dd04f5f0b299..c4d7d102840699013aca416a1e7b8d14110be166 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile @@ -153,6 +153,8 @@ textofs-$(CONFIG_ARCH_AXXIA) := 0x00308000 @@ -2121,7 +2121,7 @@ index 8c3ce2a..c4d7d10 100644 machine-$(CONFIG_ARCH_ARTPEC) += artpec machine-$(CONFIG_ARCH_AT91) += at91 diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S -index 04286fd..ed82628 100644 +index 04286fd9e09ce7a27259c4d375a05a965e3be0ea..ed826280e744828ebb1c5ae6b7a62d70f28c1429 100644 --- a/arch/arm/kernel/head.S +++ b/arch/arm/kernel/head.S @@ -700,6 +700,14 @@ ARM_BE8(rev16 ip, ip) @@ -2140,7 +2140,7 @@ index 04286fd..ed82628 100644 ENDPROC(__fixup_a_pv_table) diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c -index 4adfb46..69aad0e 100644 +index 4adfb46e3ee93276ea506b723eb11e33c57459f4..69aad0ebc902b82a83afd24938cafdfe1686136d 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -91,6 +91,16 @@ void arch_cpu_idle_exit(void) @@ -2162,7 +2162,7 @@ index 4adfb46..69aad0e 100644 unsigned long flags; diff --git a/arch/arm/mach-bcm2708/Kconfig b/arch/arm/mach-bcm2708/Kconfig new file mode 100644 -index 0000000..6eabe84 +index 0000000000000000000000000000000000000000..6eabe844767f7fa9bdc09a897bab83e5149fc0dd --- /dev/null +++ b/arch/arm/mach-bcm2708/Kconfig @@ -0,0 +1,23 @@ @@ -2191,7 +2191,7 @@ index 0000000..6eabe84 +endmenu diff --git a/arch/arm/mach-bcm2708/Makefile b/arch/arm/mach-bcm2708/Makefile new file mode 100644 -index 0000000..3da1a1b +index 0000000000000000000000000000000000000000..3da1a1b4ea1fb04ae0b535b2915ea9f386f5701c --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile @@ -0,0 +1,5 @@ @@ -2202,7 +2202,7 @@ index 0000000..3da1a1b +obj-$(CONFIG_MACH_BCM2708) += bcm2708.o diff --git a/arch/arm/mach-bcm2708/Makefile.boot b/arch/arm/mach-bcm2708/Makefile.boot new file mode 100644 -index 0000000..67039c3 +index 0000000000000000000000000000000000000000..67039c3e0c48fa6b94f1147b3316f74afcecba9e --- /dev/null +++ b/arch/arm/mach-bcm2708/Makefile.boot @@ -0,0 +1,3 @@ @@ -2211,7 +2211,7 @@ index 0000000..67039c3 +initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-bcm2708/bcm2708.c b/arch/arm/mach-bcm2708/bcm2708.c new file mode 100644 -index 0000000..280628b +index 0000000000000000000000000000000000000000..280628ba8907d2a4323fc86dfc6db7fc684aeabc --- /dev/null +++ b/arch/arm/mach-bcm2708/bcm2708.c @@ -0,0 +1,231 @@ @@ -2448,7 +2448,7 @@ index 0000000..280628b +module_param(reboot_part, uint, 0644); diff --git a/arch/arm/mach-bcm2708/include/mach/debug-macro.S b/arch/arm/mach-bcm2708/include/mach/debug-macro.S new file mode 100644 -index 0000000..b24304a +index 0000000000000000000000000000000000000000..b24304a6755e965b8a28eb048b7f4e2d868820f9 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/debug-macro.S @@ -0,0 +1,22 @@ @@ -2476,7 +2476,7 @@ index 0000000..b24304a +#include diff --git a/arch/arm/mach-bcm2708/include/mach/io.h b/arch/arm/mach-bcm2708/include/mach/io.h new file mode 100644 -index 0000000..e6eb84d +index 0000000000000000000000000000000000000000..e6eb84d71006db417dbd0afc4d08d3b19b09a619 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/io.h @@ -0,0 +1,27 @@ @@ -2509,7 +2509,7 @@ index 0000000..e6eb84d +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/memory.h b/arch/arm/mach-bcm2708/include/mach/memory.h new file mode 100644 -index 0000000..7548a52 +index 0000000000000000000000000000000000000000..7548a52dcf84affa4d1b0667e5e2f89f591891b8 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/memory.h @@ -0,0 +1,57 @@ @@ -2572,7 +2572,7 @@ index 0000000..7548a52 +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h new file mode 100644 -index 0000000..4fb43cf +index 0000000000000000000000000000000000000000..4fb43cf391e50e702d0a0588ceff397c79c501d7 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -0,0 +1,112 @@ @@ -2690,7 +2690,7 @@ index 0000000..4fb43cf +/* END */ diff --git a/arch/arm/mach-bcm2708/include/mach/system.h b/arch/arm/mach-bcm2708/include/mach/system.h new file mode 100644 -index 0000000..c9a9c9a +index 0000000000000000000000000000000000000000..c9a9c9a881102c5354971d15203a746906761a70 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/system.h @@ -0,0 +1,37 @@ @@ -2733,7 +2733,7 @@ index 0000000..c9a9c9a +#endif diff --git a/arch/arm/mach-bcm2708/include/mach/uncompress.h b/arch/arm/mach-bcm2708/include/mach/uncompress.h new file mode 100644 -index 0000000..de7504b +index 0000000000000000000000000000000000000000..de7504bfc20ba24be8707861b8389783860adb77 --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/uncompress.h @@ -0,0 +1,84 @@ @@ -2823,7 +2823,7 @@ index 0000000..de7504b +#define arch_decomp_wdog() diff --git a/arch/arm/mach-bcm2708/include/mach/vmalloc.h b/arch/arm/mach-bcm2708/include/mach/vmalloc.h new file mode 100644 -index 0000000..502c617 +index 0000000000000000000000000000000000000000..502c6178101be60b10c9eb31afec938b5534c33f --- /dev/null +++ b/arch/arm/mach-bcm2708/include/mach/vmalloc.h @@ -0,0 +1,20 @@ @@ -2849,7 +2849,7 @@ index 0000000..502c617 +#define VMALLOC_END (0xe8000000) diff --git a/arch/arm/mach-bcm2709/Kconfig b/arch/arm/mach-bcm2709/Kconfig new file mode 100644 -index 0000000..643b4b9 +index 0000000000000000000000000000000000000000..643b4b984512a5f2ae33cee9beffa70a53e005ff --- /dev/null +++ b/arch/arm/mach-bcm2709/Kconfig @@ -0,0 +1,16 @@ @@ -2871,7 +2871,7 @@ index 0000000..643b4b9 +endmenu diff --git a/arch/arm/mach-bcm2709/Makefile b/arch/arm/mach-bcm2709/Makefile new file mode 100644 -index 0000000..26cd67d +index 0000000000000000000000000000000000000000..26cd67d3dc343dbd250fa97855a82c28bbd95af0 --- /dev/null +++ b/arch/arm/mach-bcm2709/Makefile @@ -0,0 +1,5 @@ @@ -2882,7 +2882,7 @@ index 0000000..26cd67d +obj-$(CONFIG_MACH_BCM2709) += bcm2709.o diff --git a/arch/arm/mach-bcm2709/Makefile.boot b/arch/arm/mach-bcm2709/Makefile.boot new file mode 100644 -index 0000000..67039c3 +index 0000000000000000000000000000000000000000..67039c3e0c48fa6b94f1147b3316f74afcecba9e --- /dev/null +++ b/arch/arm/mach-bcm2709/Makefile.boot @@ -0,0 +1,3 @@ @@ -2891,7 +2891,7 @@ index 0000000..67039c3 +initrd_phys-y := 0x00800000 diff --git a/arch/arm/mach-bcm2709/bcm2709.c b/arch/arm/mach-bcm2709/bcm2709.c new file mode 100644 -index 0000000..90773a3 +index 0000000000000000000000000000000000000000..90773a30b87abbfda1615326c6faf59b9db6d68e --- /dev/null +++ b/arch/arm/mach-bcm2709/bcm2709.c @@ -0,0 +1,380 @@ @@ -3277,7 +3277,7 @@ index 0000000..90773a3 +module_param(reboot_part, uint, 0644); diff --git a/arch/arm/mach-bcm2709/include/mach/debug-macro.S b/arch/arm/mach-bcm2709/include/mach/debug-macro.S new file mode 100644 -index 0000000..b24304a +index 0000000000000000000000000000000000000000..b24304a6755e965b8a28eb048b7f4e2d868820f9 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/debug-macro.S @@ -0,0 +1,22 @@ @@ -3305,7 +3305,7 @@ index 0000000..b24304a +#include diff --git a/arch/arm/mach-bcm2709/include/mach/entry-macro.S b/arch/arm/mach-bcm2709/include/mach/entry-macro.S new file mode 100644 -index 0000000..d08591b +index 0000000000000000000000000000000000000000..d08591b63c1a1710c40350d343d3eddc97ae74c1 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/entry-macro.S @@ -0,0 +1,123 @@ @@ -3434,7 +3434,7 @@ index 0000000..d08591b + .endm diff --git a/arch/arm/mach-bcm2709/include/mach/io.h b/arch/arm/mach-bcm2709/include/mach/io.h new file mode 100644 -index 0000000..e6eb84d +index 0000000000000000000000000000000000000000..e6eb84d71006db417dbd0afc4d08d3b19b09a619 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/io.h @@ -0,0 +1,27 @@ @@ -3467,7 +3467,7 @@ index 0000000..e6eb84d +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/memory.h b/arch/arm/mach-bcm2709/include/mach/memory.h new file mode 100644 -index 0000000..7548a52 +index 0000000000000000000000000000000000000000..7548a52dcf84affa4d1b0667e5e2f89f591891b8 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/memory.h @@ -0,0 +1,57 @@ @@ -3530,7 +3530,7 @@ index 0000000..7548a52 +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h new file mode 100644 -index 0000000..311b9f2 +index 0000000000000000000000000000000000000000..311b9f26fab7dd770bdcd684c7691442b0872d55 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/platform.h @@ -0,0 +1,188 @@ @@ -3724,7 +3724,7 @@ index 0000000..311b9f2 +/* END */ diff --git a/arch/arm/mach-bcm2709/include/mach/system.h b/arch/arm/mach-bcm2709/include/mach/system.h new file mode 100644 -index 0000000..c9a9c9a +index 0000000000000000000000000000000000000000..c9a9c9a881102c5354971d15203a746906761a70 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/system.h @@ -0,0 +1,37 @@ @@ -3767,7 +3767,7 @@ index 0000000..c9a9c9a +#endif diff --git a/arch/arm/mach-bcm2709/include/mach/uncompress.h b/arch/arm/mach-bcm2709/include/mach/uncompress.h new file mode 100644 -index 0000000..de7504b +index 0000000000000000000000000000000000000000..de7504bfc20ba24be8707861b8389783860adb77 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/uncompress.h @@ -0,0 +1,84 @@ @@ -3857,7 +3857,7 @@ index 0000000..de7504b +#define arch_decomp_wdog() diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h new file mode 100644 -index 0000000..4a4a338 +index 0000000000000000000000000000000000000000..4a4a33845cbc02f0e0d5368fed3609f6ba9ff92b --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/vc_mem.h @@ -0,0 +1,35 @@ @@ -3898,7 +3898,7 @@ index 0000000..4a4a338 +#endif /* VC_MEM_H */ diff --git a/arch/arm/mach-bcm2709/include/mach/vmalloc.h b/arch/arm/mach-bcm2709/include/mach/vmalloc.h new file mode 100644 -index 0000000..6aa6826 +index 0000000000000000000000000000000000000000..6aa68260dd866c83527dffece8de483913231fb3 --- /dev/null +++ b/arch/arm/mach-bcm2709/include/mach/vmalloc.h @@ -0,0 +1,20 @@ @@ -3924,7 +3924,7 @@ index 0000000..6aa6826 +#define VMALLOC_END (0xff000000) diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c new file mode 100644 -index 0000000..d2adfd1 +index 0000000000000000000000000000000000000000..d2adfd1db2421984ea8ab8fb809d1adb0765714e --- /dev/null +++ b/arch/arm/mach-bcm2709/vc_mem.c @@ -0,0 +1,431 @@ @@ -4360,7 +4360,7 @@ index 0000000..d2adfd1 +module_param(mem_size, uint, 0644); +module_param(mem_base, uint, 0644); diff --git a/arch/arm/mm/proc-v6.S b/arch/arm/mm/proc-v6.S -index 06d890a..30d96e8 100644 +index 06d890a2342b1600e2eae6e350994ad59f5c3a08..30d96e81c0e052c725bdb00bb3df56194023ab9f 100644 --- a/arch/arm/mm/proc-v6.S +++ b/arch/arm/mm/proc-v6.S @@ -73,10 +73,19 @@ ENDPROC(cpu_v6_reset) @@ -4387,7 +4387,7 @@ index 06d890a..30d96e8 100644 ENTRY(cpu_v6_dcache_clean_area) diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types -index 2ed1b8a..b52d949 100644 +index 2ed1b8a922ed02b9e3545991873af77b4c1bf871..b52d949ee91d96eb7672fbbb4969bfa1e7afc376 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -522,6 +522,8 @@ torbreck MACH_TORBRECK TORBRECK 3090 @@ -4400,7 +4400,7 @@ index 2ed1b8a..b52d949 100644 ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile -index dc2b899..c38fb1a 100644 +index dc2b8997f6e637c0ae83f09b4b6bd4b92bffbf8d..c38fb1af8210f0a494ba58c3b6f1f99e54b88c1e 100644 --- a/drivers/clocksource/Makefile +++ b/drivers/clocksource/Makefile @@ -19,7 +19,7 @@ obj-$(CONFIG_CLKSRC_NOMADIK_MTU) += nomadik-mtu.o @@ -4413,7 +4413,7 @@ index dc2b899..c38fb1a 100644 obj-$(CONFIG_ARCH_ATLAS7) += timer-atlas7.o obj-$(CONFIG_ARCH_MOXART) += moxart_timer.o diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile -index b03cfcb..70cad6b 100644 +index b03cfcbbac6b949b69c8b2f96ac7d307dd5b54e8..70cad6bd86fa78accb3bb39756442042aa4f2ee0 100644 --- a/drivers/irqchip/Makefile +++ b/drivers/irqchip/Makefile @@ -5,6 +5,9 @@ obj-$(CONFIG_ATH79) += irq-ath79-cpu.o @@ -4427,7 +4427,7 @@ index b03cfcb..70cad6b 100644 obj-$(CONFIG_ARCH_HIP04) += irq-hip04.o obj-$(CONFIG_ARCH_MMP) += irq-mmp.o diff --git a/drivers/irqchip/irq-bcm2835.c b/drivers/irqchip/irq-bcm2835.c -index 20deb28..c02bf8a 100644 +index 20deb282286834b1f234a65e614b8584688a25d7..c02bf8a9f9970401dc98c4f656c20c35d8070123 100644 --- a/drivers/irqchip/irq-bcm2835.c +++ b/drivers/irqchip/irq-bcm2835.c @@ -82,6 +82,7 @@ @@ -4448,7 +4448,7 @@ index 20deb28..c02bf8a 100644 } init_FIQ(FIQ_START); diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h -index 8dd4d29..f7fe8bd 100644 +index 8dd4d290ab0d8608b9596c18da8db1096715badb..f7fe8bd8ac26e68b51359b868a1e1eff3e344bdf 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -291,6 +291,7 @@ struct mmc_host { @@ -4463,7 +4463,7 @@ index 8dd4d29..f7fe8bd 100644 From dbe38bc6b0b6a93f0c7f3d58c18b79ec71371967 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 031/112] reboot: Use power off rather than busy spinning when +Subject: [PATCH 031/141] reboot: Use power off rather than busy spinning when halt is requested --- @@ -4471,7 +4471,7 @@ Subject: [PATCH 031/112] reboot: Use power off rather than busy spinning when 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c -index 71a2ff9..812c15e 100644 +index 71a2ff9ec4900c58677f12114c85c82e8cfaa575..812c15ee02742f4d1578895ac13e1e983a9ce3da 100644 --- a/arch/arm/kernel/reboot.c +++ b/arch/arm/kernel/reboot.c @@ -102,11 +102,7 @@ void machine_shutdown(void) @@ -4491,7 +4491,7 @@ index 71a2ff9..812c15e 100644 From cd74d63be82b161857e9c1abf8e0b18eb618f386 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 11 Nov 2015 21:01:15 +0000 -Subject: [PATCH 032/112] squash: include ARCH_BCM2708 / ARCH_BCM2709 +Subject: [PATCH 032/141] squash: include ARCH_BCM2708 / ARCH_BCM2709 --- drivers/char/hw_random/Kconfig | 2 +- @@ -4506,7 +4506,7 @@ Subject: [PATCH 032/112] squash: include ARCH_BCM2708 / ARCH_BCM2709 9 files changed, 26 insertions(+), 11 deletions(-) diff --git a/drivers/char/hw_random/Kconfig b/drivers/char/hw_random/Kconfig -index 67ee8b0..b3ca2ee 100644 +index 67ee8b08ab5318dca13054e6e1e65da9dcd1c000..b3ca2ee0a8f413151d70db1612ebb07e25416748 100644 --- a/drivers/char/hw_random/Kconfig +++ b/drivers/char/hw_random/Kconfig @@ -90,7 +90,7 @@ config HW_RANDOM_BCM63XX @@ -4519,7 +4519,7 @@ index 67ee8b0..b3ca2ee 100644 ---help--- This driver provides kernel-side support for the Random Number diff --git a/drivers/clk/bcm/Makefile b/drivers/clk/bcm/Makefile -index 1d79bd2..fcf1bb5 100644 +index 1d79bd2c36f004669d1dcf78fa681025c3f074e2..fcf1bb5d792111a31226c33dec6b1da309a36e0d 100644 --- a/drivers/clk/bcm/Makefile +++ b/drivers/clk/bcm/Makefile @@ -4,8 +4,8 @@ obj-$(CONFIG_CLK_BCM_KONA) += clk-kona-setup.o @@ -4534,7 +4534,7 @@ index 1d79bd2..fcf1bb5 100644 obj-$(CONFIG_ARCH_BCM_CYGNUS) += clk-cygnus.o obj-$(CONFIG_ARCH_BCM_NSP) += clk-nsp.o diff --git a/drivers/mailbox/Kconfig b/drivers/mailbox/Kconfig -index 5305923..3de0dcb 100644 +index 5305923752d283d31a6c2a0435cf7e68dbf200b7..3de0dcbace67415412405903b720db495ebf76a7 100644 --- a/drivers/mailbox/Kconfig +++ b/drivers/mailbox/Kconfig @@ -74,7 +74,7 @@ config ALTERA_MBOX @@ -4547,7 +4547,7 @@ index 5305923..3de0dcb 100644 An implementation of the BCM2385 Mailbox. It is used to invoke the services of the Videocore. Say Y here if you want to use the diff --git a/drivers/mailbox/bcm2835-mailbox.c b/drivers/mailbox/bcm2835-mailbox.c -index cfb4b44..d9c6c21 100644 +index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f27006f4edd15 100644 --- a/drivers/mailbox/bcm2835-mailbox.c +++ b/drivers/mailbox/bcm2835-mailbox.c @@ -51,12 +51,15 @@ @@ -4596,7 +4596,7 @@ index cfb4b44..d9c6c21 100644 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); diff --git a/drivers/pinctrl/Makefile b/drivers/pinctrl/Makefile -index e4bc115..d996fe7 100644 +index e4bc1151e04f3c2d7ed0eac8b659ae27244432ba..d996fe7f5b733864f26739aa0988b2466842dc19 100644 --- a/drivers/pinctrl/Makefile +++ b/drivers/pinctrl/Makefile @@ -35,6 +35,7 @@ obj-$(CONFIG_PINCTRL_TB10X) += pinctrl-tb10x.o @@ -4608,7 +4608,7 @@ index e4bc115..d996fe7 100644 obj-$(CONFIG_PINCTRL_BERLIN) += berlin/ obj-y += freescale/ diff --git a/drivers/pwm/Kconfig b/drivers/pwm/Kconfig -index c182efc..fe0f845 100644 +index c182efc62c7bc3ffe31d81a539c88c35f55abac9..fe0f845fa21e1a2fa129814358f172ad3cd4627b 100644 --- a/drivers/pwm/Kconfig +++ b/drivers/pwm/Kconfig @@ -85,7 +85,7 @@ config PWM_BCM_KONA @@ -4621,7 +4621,7 @@ index c182efc..fe0f845 100644 PWM framework driver for BCM2835 controller (Raspberry Pi) diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig -index 9d8c84b..2a27a37 100644 +index 9d8c84bb15446a75153d64f94a5900ab165193ac..2a27a37c54d8cf7c28620744147f7dc97771c3e5 100644 --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig @@ -94,7 +94,7 @@ config SPI_AXI_SPI_ENGINE @@ -4643,7 +4643,7 @@ index 9d8c84b..2a27a37 100644 This selects a driver for the Broadcom BCM2835 SPI aux master. diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig -index fb94765..8b2de7f 100644 +index fb947655badd02de231dd0777e88499c8a552044..8b2de7fb47f34888dd81262e793020afdc2dd44d 100644 --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig @@ -1401,7 +1401,7 @@ config BCM63XX_WDT @@ -4656,7 +4656,7 @@ index fb94765..8b2de7f 100644 help Watchdog driver for the built in watchdog hardware in Broadcom diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 6a834e1..c5070ae 100644 +index 6a834e109f1de47e533d17e87cdc73d8ee86fc4d..c5070aec5996aafb2d9daaf75163e16a29bc6892 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -1,6 +1,6 @@ @@ -4671,7 +4671,7 @@ index 6a834e1..c5070ae 100644 From 857a46fb8b937d7271b576702ee121cccdf355d9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 033/112] Add dwc_otg driver +Subject: [PATCH 033/141] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -5298,7 +5298,7 @@ Signed-off-by: popcornmix create mode 100644 drivers/usb/host/dwc_otg/test/test_sysfs.pl diff --git a/arch/arm/include/asm/irqflags.h b/arch/arm/include/asm/irqflags.h -index e6b70d9..a48ccf7 100644 +index e6b70d9d084ea5d369c237f9a3f81c92e331a429..a48ccf7c73d873eb236b61e25a9e1cbde93b60e7 100644 --- a/arch/arm/include/asm/irqflags.h +++ b/arch/arm/include/asm/irqflags.h @@ -162,13 +162,23 @@ static inline unsigned long arch_local_save_flags(void) @@ -5329,7 +5329,7 @@ index e6b70d9..a48ccf7 100644 : "r" (flags) : "memory", "cc"); diff --git a/arch/arm/kernel/fiqasm.S b/arch/arm/kernel/fiqasm.S -index 8dd26e1..eef4847 100644 +index 8dd26e1a9bd69051a1548d99c157cad2e65ba81b..eef484756af2179be8acd76b9ddbd3e983605990 100644 --- a/arch/arm/kernel/fiqasm.S +++ b/arch/arm/kernel/fiqasm.S @@ -47,3 +47,7 @@ ENTRY(__get_fiq_regs) @@ -5341,7 +5341,7 @@ index 8dd26e1..eef4847 100644 + mov pc, r8 +ENDPROC(__FIQ_Branch) diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile -index dca7856..5c467de 100644 +index dca78565eb5500263051e9e1c889d84d6afd8fd9..5c467de6914e742b2ba25eb16e0c08b2e363532c 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile @@ -7,6 +7,7 @@ @@ -5353,7 +5353,7 @@ index dca7856..5c467de 100644 obj-$(CONFIG_USB_DWC2) += dwc2/ obj-$(CONFIG_USB_ISP1760) += isp1760/ diff --git a/drivers/usb/core/generic.c b/drivers/usb/core/generic.c -index 358ca8d..abaac7c 100644 +index 358ca8dd784fe43700ae070764fa783500a792fe..abaac7c7142d8887c1516957fc52162c0e1683f7 100644 --- a/drivers/usb/core/generic.c +++ b/drivers/usb/core/generic.c @@ -152,6 +152,7 @@ int usb_choose_configuration(struct usb_device *udev) @@ -5365,7 +5365,7 @@ index 358ca8d..abaac7c 100644 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 1ab42bf..292a26c 100644 +index 1ab42bfbecaf6cf7780c87f2ae32a5948e48486e..292a26cefbbc2eee58433d792385f60f88c6a424 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c @@ -5044,7 +5044,7 @@ static void port_event(struct usb_hub *hub, int port1) @@ -5378,7 +5378,7 @@ index 1ab42bf..292a26c 100644 USB_PORT_FEAT_C_OVER_CURRENT); msleep(100); /* Cool down */ diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 8e641b5..de3ed7d 100644 +index 8e641b5893edb7a6195c34e43248540fbff39aa6..de3ed7d5d3dd3e9b2d20025e0c35a728248f4026 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -1909,6 +1909,85 @@ free_interfaces: @@ -5468,7 +5468,7 @@ index 8e641b5..de3ed7d 100644 /* Now that the interfaces are installed, re-enable LPM. */ usb_unlocked_enable_lpm(dev); diff --git a/drivers/usb/core/otg_whitelist.h b/drivers/usb/core/otg_whitelist.h -index a95b0c9..17b605f 100644 +index a95b0c989c216eca774abd0709451096fda19792..17b605f5e1a3219b2c878e2aeeb45cec8e56ff3a 100644 --- a/drivers/usb/core/otg_whitelist.h +++ b/drivers/usb/core/otg_whitelist.h @@ -19,33 +19,82 @@ @@ -5626,7 +5626,7 @@ index a95b0c9..17b605f 100644 diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c new file mode 100644 -index 0000000..a896d73 +index 0000000000000000000000000000000000000000..a896d73f7a9336f5a34015c44ea5a6b04ce34f10 --- /dev/null +++ b/drivers/usb/gadget/file_storage.c @@ -0,0 +1,3676 @@ @@ -9307,7 +9307,7 @@ index 0000000..a896d73 +} +module_exit(fsg_cleanup); diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index e9d4dde..867dc98 100644 +index e9d4dde3e9b3dac1990d5dc58c8e6c2e196771a5..867dc98d83eb3cf38b50b52a922d5c543aa70a33 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig @@ -753,6 +753,19 @@ config USB_HWA_HCD @@ -9331,7 +9331,7 @@ index e9d4dde..867dc98 100644 tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index a9ddd3c..11d7761 100644 +index a9ddd3c9ec9499b556789844eaaad5574a01d887..11d7761c61f59f08289a9b9ab78666cb069ba445 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile @@ -73,6 +73,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o @@ -9345,7 +9345,7 @@ index a9ddd3c..11d7761 100644 obj-$(CONFIG_USB_EHCI_FSL) += fsl-mph-dr-of.o diff --git a/drivers/usb/host/dwc_common_port/Makefile b/drivers/usb/host/dwc_common_port/Makefile new file mode 100644 -index 0000000..f10d466 +index 0000000000000000000000000000000000000000..f10d466d1aea8696fb394aebebb9945e6b79a991 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile @@ -0,0 +1,58 @@ @@ -9409,7 +9409,7 @@ index 0000000..f10d466 + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ diff --git a/drivers/usb/host/dwc_common_port/Makefile.fbsd b/drivers/usb/host/dwc_common_port/Makefile.fbsd new file mode 100644 -index 0000000..45db991 +index 0000000000000000000000000000000000000000..45db9915b9d31f39dd9aaf97772b3c31234c4ce6 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.fbsd @@ -0,0 +1,17 @@ @@ -9432,7 +9432,7 @@ index 0000000..45db991 +.include diff --git a/drivers/usb/host/dwc_common_port/Makefile.linux b/drivers/usb/host/dwc_common_port/Makefile.linux new file mode 100644 -index 0000000..0cef7b4 +index 0000000000000000000000000000000000000000..0cef7b461bd5084f261b28ebd05d62418956956e --- /dev/null +++ b/drivers/usb/host/dwc_common_port/Makefile.linux @@ -0,0 +1,49 @@ @@ -9487,7 +9487,7 @@ index 0000000..0cef7b4 + rm -rf *.o *.ko .*.cmd *.mod.c .*.o.d .*.o.tmp modules.order Module.markers Module.symvers .tmp_versions/ diff --git a/drivers/usb/host/dwc_common_port/changes.txt b/drivers/usb/host/dwc_common_port/changes.txt new file mode 100644 -index 0000000..f6839f9 +index 0000000000000000000000000000000000000000..f6839f92c2760d8dc29e514a1f6833d356cfd217 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/changes.txt @@ -0,0 +1,174 @@ @@ -9667,7 +9667,7 @@ index 0000000..f6839f9 +library code directly into a driver module, instead of as a standalone module. diff --git a/drivers/usb/host/dwc_common_port/doc/doxygen.cfg b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg new file mode 100644 -index 0000000..89aa887 +index 0000000000000000000000000000000000000000..89aa887af29dfc3a71580acec4f10dc7cf00185d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/doc/doxygen.cfg @@ -0,0 +1,270 @@ @@ -9943,7 +9943,7 @@ index 0000000..89aa887 +SEARCHENGINE = NO diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.c b/drivers/usb/host/dwc_common_port/dwc_cc.c new file mode 100644 -index 0000000..5ec2ae2 +index 0000000000000000000000000000000000000000..5ec2ae28698c15d1c441d3104706b04e9f1dde27 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.c @@ -0,0 +1,532 @@ @@ -10481,7 +10481,7 @@ index 0000000..5ec2ae2 +#endif /* DWC_CCLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_cc.h b/drivers/usb/host/dwc_common_port/dwc_cc.h new file mode 100644 -index 0000000..f86e6f2 +index 0000000000000000000000000000000000000000..f86e6f21792b9961bda7d569f4d35f7076947546 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_cc.h @@ -0,0 +1,224 @@ @@ -10711,7 +10711,7 @@ index 0000000..f86e6f2 +#endif /* _DWC_CC_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c new file mode 100644 -index 0000000..6dd04b5 +index 0000000000000000000000000000000000000000..6dd04b58f8f6c6d5ddad3b0b0148ff5dd936ac28 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_fbsd.c @@ -0,0 +1,1308 @@ @@ -12025,7 +12025,7 @@ index 0000000..6dd04b5 +} diff --git a/drivers/usb/host/dwc_common_port/dwc_common_linux.c b/drivers/usb/host/dwc_common_port/dwc_common_linux.c new file mode 100644 -index 0000000..4664684 +index 0000000000000000000000000000000000000000..46646841dda96fb2bed01152de552ccac5f0e5e4 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_linux.c @@ -0,0 +1,1433 @@ @@ -13464,7 +13464,7 @@ index 0000000..4664684 +#endif /* DWC_LIBMODULE */ diff --git a/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c new file mode 100644 -index 0000000..49b07e1 +index 0000000000000000000000000000000000000000..49b07e1722645105e0433dceaec91add3412523f --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_common_nbsd.c @@ -0,0 +1,1275 @@ @@ -14745,7 +14745,7 @@ index 0000000..49b07e1 +} diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.c b/drivers/usb/host/dwc_common_port/dwc_crypto.c new file mode 100644 -index 0000000..3b03532 +index 0000000000000000000000000000000000000000..3b0353296148f6297b5bdc2f45e9fe92a17c680d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.c @@ -0,0 +1,308 @@ @@ -15059,7 +15059,7 @@ index 0000000..3b03532 +#endif /* DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_crypto.h b/drivers/usb/host/dwc_common_port/dwc_crypto.h new file mode 100644 -index 0000000..26fcddc +index 0000000000000000000000000000000000000000..26fcddcfe9ba4b83c921cd2ef8498021176a287f --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_crypto.h @@ -0,0 +1,111 @@ @@ -15176,7 +15176,7 @@ index 0000000..26fcddc +#endif /* _DWC_CRYPTO_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.c b/drivers/usb/host/dwc_common_port/dwc_dh.c new file mode 100644 -index 0000000..2b429a3 +index 0000000000000000000000000000000000000000..2b429a32aaf0903c2b73e9aa30ef78ba280393ee --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.c @@ -0,0 +1,291 @@ @@ -15473,7 +15473,7 @@ index 0000000..2b429a3 +#endif /* DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_dh.h b/drivers/usb/host/dwc_common_port/dwc_dh.h new file mode 100644 -index 0000000..25c1cc0 +index 0000000000000000000000000000000000000000..25c1cc0d588a44b7c3594c21031e32daca2d38cc --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_dh.h @@ -0,0 +1,106 @@ @@ -15585,7 +15585,7 @@ index 0000000..25c1cc0 +#endif /* _DWC_DH_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_list.h b/drivers/usb/host/dwc_common_port/dwc_list.h new file mode 100644 -index 0000000..4ce560d +index 0000000000000000000000000000000000000000..4ce560df0cae63c7adea9af95daf4e087870346d --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_list.h @@ -0,0 +1,594 @@ @@ -16185,7 +16185,7 @@ index 0000000..4ce560d +#endif /* _DWC_LIST_H_ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_mem.c b/drivers/usb/host/dwc_common_port/dwc_mem.c new file mode 100644 -index 0000000..ad645ff +index 0000000000000000000000000000000000000000..ad645ff1ba7e06c852440396767e69279b3b31db --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_mem.c @@ -0,0 +1,245 @@ @@ -16436,7 +16436,7 @@ index 0000000..ad645ff +#endif /* DWC_DEBUG_MEMORY */ diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.c b/drivers/usb/host/dwc_common_port/dwc_modpow.c new file mode 100644 -index 0000000..2004538 +index 0000000000000000000000000000000000000000..20045381208a31d5dfb420318b0a4fbb1eca51a1 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.c @@ -0,0 +1,636 @@ @@ -17078,7 +17078,7 @@ index 0000000..2004538 +#endif /*DWC_CRYPTOLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_modpow.h b/drivers/usb/host/dwc_common_port/dwc_modpow.h new file mode 100644 -index 0000000..64f00c2 +index 0000000000000000000000000000000000000000..64f00c276e71bf2e1d58bc9e02ff64c13489dbd4 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_modpow.h @@ -0,0 +1,34 @@ @@ -17118,7 +17118,7 @@ index 0000000..64f00c2 +#endif /* _LINUX_BIGNUM_H */ diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.c b/drivers/usb/host/dwc_common_port/dwc_notifier.c new file mode 100644 -index 0000000..8b3772a +index 0000000000000000000000000000000000000000..8b3772afe11d1d81bdb7cabe335f0f3bc834fb7a --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.c @@ -0,0 +1,319 @@ @@ -17443,7 +17443,7 @@ index 0000000..8b3772a +#endif /* DWC_NOTIFYLIB */ diff --git a/drivers/usb/host/dwc_common_port/dwc_notifier.h b/drivers/usb/host/dwc_common_port/dwc_notifier.h new file mode 100644 -index 0000000..4a8cdfe +index 0000000000000000000000000000000000000000..4a8cdfe565b1fcefb400706dc7bc13cf69a9d3b2 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_notifier.h @@ -0,0 +1,122 @@ @@ -17571,7 +17571,7 @@ index 0000000..4a8cdfe +#endif /* __DWC_NOTIFIER_H__ */ diff --git a/drivers/usb/host/dwc_common_port/dwc_os.h b/drivers/usb/host/dwc_common_port/dwc_os.h new file mode 100644 -index 0000000..a2bbe23 +index 0000000000000000000000000000000000000000..a2bbe232ffc3b58001d026864c3019792cdf5efa --- /dev/null +++ b/drivers/usb/host/dwc_common_port/dwc_os.h @@ -0,0 +1,1276 @@ @@ -18853,7 +18853,7 @@ index 0000000..a2bbe23 +#endif /* _DWC_OS_H_ */ diff --git a/drivers/usb/host/dwc_common_port/usb.h b/drivers/usb/host/dwc_common_port/usb.h new file mode 100644 -index 0000000..27bda82 +index 0000000000000000000000000000000000000000..27bda82dac2eb27923120c43aac3610974610221 --- /dev/null +++ b/drivers/usb/host/dwc_common_port/usb.h @@ -0,0 +1,946 @@ @@ -19805,7 +19805,7 @@ index 0000000..27bda82 +#endif /* _USB_H_ */ diff --git a/drivers/usb/host/dwc_otg/Makefile b/drivers/usb/host/dwc_otg/Makefile new file mode 100644 -index 0000000..e7bdd12 +index 0000000000000000000000000000000000000000..e7bdd12015fee1727a7956ae3e3b2786e88892c1 --- /dev/null +++ b/drivers/usb/host/dwc_otg/Makefile @@ -0,0 +1,82 @@ @@ -19893,7 +19893,7 @@ index 0000000..e7bdd12 +endif diff --git a/drivers/usb/host/dwc_otg/doc/doxygen.cfg b/drivers/usb/host/dwc_otg/doc/doxygen.cfg new file mode 100644 -index 0000000..712b057 +index 0000000000000000000000000000000000000000..712b057ef7c293e8ddfa95d89e2471fb96a38006 --- /dev/null +++ b/drivers/usb/host/dwc_otg/doc/doxygen.cfg @@ -0,0 +1,224 @@ @@ -20123,7 +20123,7 @@ index 0000000..712b057 +SEARCHENGINE = NO diff --git a/drivers/usb/host/dwc_otg/dummy_audio.c b/drivers/usb/host/dwc_otg/dummy_audio.c new file mode 100644 -index 0000000..225decf +index 0000000000000000000000000000000000000000..225decf765ce825b896ba98771ccb19c20d99404 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dummy_audio.c @@ -0,0 +1,1575 @@ @@ -21704,7 +21704,7 @@ index 0000000..225decf +module_exit (cleanup); diff --git a/drivers/usb/host/dwc_otg/dwc_cfi_common.h b/drivers/usb/host/dwc_otg/dwc_cfi_common.h new file mode 100644 -index 0000000..7770e20 +index 0000000000000000000000000000000000000000..7770e201ad3bd877f1bb613284091301d084ade9 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_cfi_common.h @@ -0,0 +1,142 @@ @@ -21852,7 +21852,7 @@ index 0000000..7770e20 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.c b/drivers/usb/host/dwc_otg/dwc_otg_adp.c new file mode 100644 -index 0000000..ce0618d +index 0000000000000000000000000000000000000000..ce0618dd3f4a6b2b2e7e65ba75f1214faca7c6f0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.c @@ -0,0 +1,854 @@ @@ -22712,7 +22712,7 @@ index 0000000..ce0618d +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_adp.h b/drivers/usb/host/dwc_otg/dwc_otg_adp.h new file mode 100644 -index 0000000..4110b25 +index 0000000000000000000000000000000000000000..4110b25d2002ed64a760cf41bbf81c903b5bc572 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_adp.h @@ -0,0 +1,80 @@ @@ -22798,7 +22798,7 @@ index 0000000..4110b25 +#endif //__DWC_OTG_ADP_H__ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c new file mode 100644 -index 0000000..9da0c92 +index 0000000000000000000000000000000000000000..9da0c92aaeca2fc393016442cc6578cb4a52c978 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c @@ -0,0 +1,1210 @@ @@ -24014,7 +24014,7 @@ index 0000000..9da0c92 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h new file mode 100644 -index 0000000..e10b67f +index 0000000000000000000000000000000000000000..e10b67f97c522094b553b7675741ba1b3cae293d --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h @@ -0,0 +1,89 @@ @@ -24109,7 +24109,7 @@ index 0000000..e10b67f +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.c b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c new file mode 100644 -index 0000000..bbb3d32 +index 0000000000000000000000000000000000000000..bbb3d32093d029e93f903bd76f45a3f715e55afd --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.c @@ -0,0 +1,1876 @@ @@ -25991,7 +25991,7 @@ index 0000000..bbb3d32 +#endif //DWC_UTE_CFI diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cfi.h b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h new file mode 100644 -index 0000000..55fd337 +index 0000000000000000000000000000000000000000..55fd337a283c39512eb1409dfc1183c56dfd7680 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cfi.h @@ -0,0 +1,320 @@ @@ -26317,7 +26317,7 @@ index 0000000..55fd337 +#endif /* (__DWC_OTG_CFI_H__) */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.c b/drivers/usb/host/dwc_otg/dwc_otg_cil.c new file mode 100644 -index 0000000..38abd0b +index 0000000000000000000000000000000000000000..38abd0b1f0341b50a2d7ad7493e2d09b6b8a55a9 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.c @@ -0,0 +1,7141 @@ @@ -33464,7 +33464,7 @@ index 0000000..38abd0b +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil.h b/drivers/usb/host/dwc_otg/dwc_otg_cil.h new file mode 100644 -index 0000000..79dbf83 +index 0000000000000000000000000000000000000000..79dbf8374f023e262e3bfb755ff0f67604a456cb --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil.h @@ -0,0 +1,1464 @@ @@ -34934,7 +34934,7 @@ index 0000000..79dbf83 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c new file mode 100644 -index 0000000..96c76e3 +index 0000000000000000000000000000000000000000..96c76e38cd372b8ca8c375ae8d8653f32a3faf80 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_cil_intr.c @@ -0,0 +1,1594 @@ @@ -36534,7 +36534,7 @@ index 0000000..96c76e3 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_core_if.h b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h new file mode 100644 -index 0000000..4138fd1 +index 0000000000000000000000000000000000000000..4138fd173337dd566d402d5b924d4dc121e32428 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_core_if.h @@ -0,0 +1,705 @@ @@ -37245,7 +37245,7 @@ index 0000000..4138fd1 +#endif /* __DWC_CORE_IF_H__ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_dbg.h b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h new file mode 100644 -index 0000000..ccc24e0 +index 0000000000000000000000000000000000000000..ccc24e010e449cbda488050d901e9a3995236e33 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_dbg.h @@ -0,0 +1,117 @@ @@ -37368,7 +37368,7 @@ index 0000000..ccc24e0 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.c b/drivers/usb/host/dwc_otg/dwc_otg_driver.c new file mode 100644 -index 0000000..cb060a7 +index 0000000000000000000000000000000000000000..cb060a7179a3eec791506ed2779b553cad9841b0 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.c @@ -0,0 +1,1757 @@ @@ -39131,7 +39131,7 @@ index 0000000..cb060a7 +*/ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_driver.h b/drivers/usb/host/dwc_otg/dwc_otg_driver.h new file mode 100644 -index 0000000..6a8be63 +index 0000000000000000000000000000000000000000..6a8be63a0ab20f4e1c56251b85648aa2a1d66383 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_driver.h @@ -0,0 +1,86 @@ @@ -39223,7 +39223,7 @@ index 0000000..6a8be63 +#endif diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c new file mode 100644 -index 0000000..85d82f3 +index 0000000000000000000000000000000000000000..85d82f31cb49631f03b23631882d2b6c063b33db --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c @@ -0,0 +1,1355 @@ @@ -40584,7 +40584,7 @@ index 0000000..85d82f3 +} diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h new file mode 100644 -index 0000000..f9fddfb +index 0000000000000000000000000000000000000000..f9fddfbcffb37f32c808fd78f222b676378398b1 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h @@ -0,0 +1,370 @@ @@ -40960,7 +40960,7 @@ index 0000000..f9fddfb +#endif /* DWC_OTG_FIQ_FSM_H_ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S new file mode 100644 -index 0000000..ffa8d21 +index 0000000000000000000000000000000000000000..ffa8d21bc61e893fee86ba04955587e7661d3ff2 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_stub.S @@ -0,0 +1,80 @@ @@ -41046,7 +41046,7 @@ index 0000000..ffa8d21 +END(_dwc_otg_fiq_stub) diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c new file mode 100644 -index 0000000..135b611 +index 0000000000000000000000000000000000000000..135b611abe08e141c937612ab7baada6b13113fc --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c @@ -0,0 +1,4257 @@ @@ -45309,7 +45309,7 @@ index 0000000..135b611 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h new file mode 100644 -index 0000000..43dbed9 +index 0000000000000000000000000000000000000000..43dbed9fddbf5491bab33cc6e551b99ca8dce7dc --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h @@ -0,0 +1,862 @@ @@ -46177,7 +46177,7 @@ index 0000000..43dbed9 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c new file mode 100644 -index 0000000..ee920c4 +index 0000000000000000000000000000000000000000..ee920c4d8f4a2980e4406cb878b81d809fec4e70 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_ddma.c @@ -0,0 +1,1132 @@ @@ -47315,7 +47315,7 @@ index 0000000..ee920c4 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h new file mode 100644 -index 0000000..fb57db0 +index 0000000000000000000000000000000000000000..fb57db09378f4ab95d57cb58aa570a915ccb61c3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h @@ -0,0 +1,417 @@ @@ -47738,7 +47738,7 @@ index 0000000..fb57db0 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c new file mode 100644 -index 0000000..e6b38ac +index 0000000000000000000000000000000000000000..e6b38ac330b72152204c2a6879c20f0ce02ac2e5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c @@ -0,0 +1,2727 @@ @@ -50471,7 +50471,7 @@ index 0000000..e6b38ac +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c new file mode 100644 -index 0000000..2ceed42 +index 0000000000000000000000000000000000000000..2ceed4212980f04ad082e78851c6a7e83aee1443 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_linux.c @@ -0,0 +1,1005 @@ @@ -51482,7 +51482,7 @@ index 0000000..2ceed42 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c new file mode 100644 -index 0000000..3b2a607 +index 0000000000000000000000000000000000000000..3b2a60763b92fb2e9261a8ade3d4b33e3896cd62 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_queue.c @@ -0,0 +1,962 @@ @@ -52450,7 +52450,7 @@ index 0000000..3b2a607 +#endif /* DWC_DEVICE_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h new file mode 100644 -index 0000000..6b2c7d0 +index 0000000000000000000000000000000000000000..6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_os_dep.h @@ -0,0 +1,188 @@ @@ -52644,7 +52644,7 @@ index 0000000..6b2c7d0 +#endif /* _DWC_OS_DEP_H_ */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c new file mode 100644 -index 0000000..ae0c72d +index 0000000000000000000000000000000000000000..ae0c72d02d007d5e7ce0f2dfb79b35d3d7ef86b8 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.c @@ -0,0 +1,2712 @@ @@ -55362,7 +55362,7 @@ index 0000000..ae0c72d +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h new file mode 100644 -index 0000000..8ef7ba6 +index 0000000000000000000000000000000000000000..8ef7ba648ad92b9b7e141f22db2a0c2837ddcfa8 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd.h @@ -0,0 +1,266 @@ @@ -55634,7 +55634,7 @@ index 0000000..8ef7ba6 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h new file mode 100644 -index 0000000..c8d2e0e +index 0000000000000000000000000000000000000000..c8d2e0e0c99486558a4964a8c82de80c64b496b4 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_if.h @@ -0,0 +1,360 @@ @@ -56000,7 +56000,7 @@ index 0000000..c8d2e0e +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c new file mode 100644 -index 0000000..c8590b5 +index 0000000000000000000000000000000000000000..c8590b527110753b8064d35fab4c34226d094f84 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_intr.c @@ -0,0 +1,5147 @@ @@ -61153,7 +61153,7 @@ index 0000000..c8590b5 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c new file mode 100644 -index 0000000..0eb0f35 +index 0000000000000000000000000000000000000000..0eb0f3572d1230fdd23966c47ba9370d22bb8cb5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_pcd_linux.c @@ -0,0 +1,1280 @@ @@ -62439,7 +62439,7 @@ index 0000000..0eb0f35 +#endif /* DWC_HOST_ONLY */ diff --git a/drivers/usb/host/dwc_otg/dwc_otg_regs.h b/drivers/usb/host/dwc_otg/dwc_otg_regs.h new file mode 100644 -index 0000000..8e0e7b5 +index 0000000000000000000000000000000000000000..8e0e7b569f1ac00fdbf3cdd2e22102cf195c74b7 --- /dev/null +++ b/drivers/usb/host/dwc_otg/dwc_otg_regs.h @@ -0,0 +1,2550 @@ @@ -64995,7 +64995,7 @@ index 0000000..8e0e7b5 +#endif diff --git a/drivers/usb/host/dwc_otg/test/Makefile b/drivers/usb/host/dwc_otg/test/Makefile new file mode 100644 -index 0000000..fc45375 +index 0000000000000000000000000000000000000000..fc453759dea3e88b8f79a1a151bbcaab7e242899 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/Makefile @@ -0,0 +1,16 @@ @@ -65017,7 +65017,7 @@ index 0000000..fc45375 + done diff --git a/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm new file mode 100644 -index 0000000..85e55fd +index 0000000000000000000000000000000000000000..85e55fd6ddbc78051d65a11125d4265aea6c24e3 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/dwc_otg_test.pm @@ -0,0 +1,337 @@ @@ -65360,7 +65360,7 @@ index 0000000..85e55fd +1; diff --git a/drivers/usb/host/dwc_otg/test/test_mod_param.pl b/drivers/usb/host/dwc_otg/test/test_mod_param.pl new file mode 100644 -index 0000000..dc3820d +index 0000000000000000000000000000000000000000..dc3820df577bae2c51bc2b1cef57ac9c4fdfc6e5 --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_mod_param.pl @@ -0,0 +1,133 @@ @@ -65499,7 +65499,7 @@ index 0000000..dc3820d +0; diff --git a/drivers/usb/host/dwc_otg/test/test_sysfs.pl b/drivers/usb/host/dwc_otg/test/test_sysfs.pl new file mode 100644 -index 0000000..cdc9963 +index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c578d7130a --- /dev/null +++ b/drivers/usb/host/dwc_otg/test/test_sysfs.pl @@ -0,0 +1,193 @@ @@ -65700,7 +65700,7 @@ index 0000000..cdc9963 From 9c0052e0a433612ee04fc7fbfbc5a23787f1ab14 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 034/112] bcm2708 framebuffer driver +Subject: [PATCH 034/141] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -65782,7 +65782,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/video/fbdev/bcm2708_fb.c diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index 983280e..ee72c3a 100644 +index 983280e8d93f3df4030c737978402ada4deaed10..ee72c3a2866f716cd68c646b7c501589a05b48f5 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -228,6 +228,20 @@ config FB_TILEBLITTING @@ -65807,7 +65807,7 @@ index 983280e..ee72c3a 100644 tristate "Aeroflex Gaisler framebuffer support" depends on FB && SPARC diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index 65fb150..df473d8 100644 +index 65fb15075c8f7f150febb09966766287c3aa0e07..df473d825c2e2481a871d794317e56b8d643370f 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_FB_MACMODES) += macmodes.o @@ -65820,7 +65820,7 @@ index 65fb150..df473d8 100644 obj-$(CONFIG_FB_CLPS711X) += clps711x-fb.o diff --git a/drivers/video/fbdev/bcm2708_fb.c b/drivers/video/fbdev/bcm2708_fb.c new file mode 100644 -index 0000000..cae5aab +index 0000000000000000000000000000000000000000..cae5aab6848d1c6e82993f8b809dc937babeba30 --- /dev/null +++ b/drivers/video/fbdev/bcm2708_fb.c @@ -0,0 +1,844 @@ @@ -66669,7 +66669,7 @@ index 0000000..cae5aab +MODULE_PARM_DESC(fbdepth, "Bit depth of ARM Framebuffer"); +MODULE_PARM_DESC(fbswap, "Swap order of red and blue in 24 and 32 bit modes"); diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm -index 3c14e43..7626beb 100644 +index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f66ae85d0 100644 --- a/drivers/video/logo/logo_linux_clut224.ppm +++ b/drivers/video/logo/logo_linux_clut224.ppm @@ -1,1604 +1,883 @@ @@ -69162,7 +69162,7 @@ index 3c14e43..7626beb 100644 From eff8e2e15b825e912a7e72e8c7eb3130a2d0699f Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 035/112] dmaengine: Add support for BCM2708 +Subject: [PATCH 035/141] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69319,7 +69319,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/platform_data/dma-bcm2708.h diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 4d0425c..b7863f0 100644 +index 4d0425c820d476fc7e5d5acf12a32de074c91b1d..b7863f0cf95ca656859a355098aa334e20d121c3 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig @@ -474,6 +474,10 @@ config TIMB_DMA @@ -69334,7 +69334,7 @@ index 4d0425c..b7863f0 100644 tristate "AM33xx CPPI41 DMA support" depends on ARCH_OMAP diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index 6084127..8188c36 100644 +index 6084127c14866ced0bef9865c8e5d9ffb13c16b6..8188c368a85f12950220942c28791bdc952c8848 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o @@ -69347,7 +69347,7 @@ index 6084127..8188c36 100644 obj-$(CONFIG_DMA_JZ4780) += dma-jz4780.o diff --git a/drivers/dma/bcm2708-dmaengine.c b/drivers/dma/bcm2708-dmaengine.c new file mode 100644 -index 0000000..56f18dc +index 0000000000000000000000000000000000000000..56f18dc4aa5627625e9620daa9d6482e0098af7e --- /dev/null +++ b/drivers/dma/bcm2708-dmaengine.c @@ -0,0 +1,281 @@ @@ -69634,7 +69634,7 @@ index 0000000..56f18dc +MODULE_LICENSE("GPL"); diff --git a/include/linux/platform_data/dma-bcm2708.h b/include/linux/platform_data/dma-bcm2708.h new file mode 100644 -index 0000000..99cc7fd +index 0000000000000000000000000000000000000000..99cc7fdbf543207208bf3638a0d4dbb6ec4ea8c2 --- /dev/null +++ b/include/linux/platform_data/dma-bcm2708.h @@ -0,0 +1,143 @@ @@ -69785,7 +69785,7 @@ index 0000000..99cc7fd From 2cc7ab14c498858876361c2fce89d979d0cc3839 Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 036/112] MMC: added alternative MMC driver +Subject: [PATCH 036/141] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -69876,7 +69876,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-mmc.c diff --git a/drivers/mmc/core/quirks.c b/drivers/mmc/core/quirks.c -index fad660b..b79fe14 100644 +index fad660b95809224e3a06abde0709be3d50acf307..b79fe14c18f1fe521fadf8adfc136de62140c8b9 100644 --- a/drivers/mmc/core/quirks.c +++ b/drivers/mmc/core/quirks.c @@ -53,6 +53,9 @@ static const struct mmc_fixup mmc_fixup_methods[] = { @@ -69903,7 +69903,7 @@ index fad660b..b79fe14 100644 } EXPORT_SYMBOL(mmc_fixup_device); diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index e657af0..0476061 100644 +index e657af0e95fafce5bf65e0127540339dfbbb2ba5..04760616f94ce470a73d7ac99f27631db80849b5 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -4,6 +4,35 @@ @@ -69943,7 +69943,7 @@ index e657af0..0476061 100644 tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index af918d2..3ba94f0 100644 +index af918d261ff9625d1d42146da1173031cd9917dd..3ba94f0af9b1793aa66d95d8fbd9bb661ca82778 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -69956,7 +69956,7 @@ index af918d2..3ba94f0 100644 obj-$(CONFIG_MMC_MTK) += mtk-sd.o diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c new file mode 100644 -index 0000000..ceb3793 +index 0000000000000000000000000000000000000000..ceb37930e167f47c9c848e8de757ad098eec9a19 --- /dev/null +++ b/drivers/mmc/host/bcm2835-mmc.c @@ -0,0 +1,1571 @@ @@ -71535,7 +71535,7 @@ index 0000000..ceb3793 From 1dba91fa3b6ad00a2d1cb90effab5772d73e07df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 037/112] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 037/141] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -71687,7 +71687,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-sdhost.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 0476061..2595474 100644 +index 04760616f94ce470a73d7ac99f27631db80849b5..259547484f859ae69c65af13bcbb1d06b53e29ac 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -33,6 +33,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER @@ -71708,7 +71708,7 @@ index 0476061..2595474 100644 tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 3ba94f0..8daaa94 100644 +index 3ba94f0af9b1793aa66d95d8fbd9bb661ca82778..8daaa94ab268495bbbf335ccad5a35e2d37b6fe5 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -71721,7 +71721,7 @@ index 3ba94f0..8daaa94 100644 obj-$(CONFIG_MMC_AU1X) += au1xmmc.o diff --git a/drivers/mmc/host/bcm2835-sdhost.c b/drivers/mmc/host/bcm2835-sdhost.c new file mode 100644 -index 0000000..a57faed +index 0000000000000000000000000000000000000000..a57faedd8ba71a38d057664f3b7e599026d43785 --- /dev/null +++ b/drivers/mmc/host/bcm2835-sdhost.c @@ -0,0 +1,2158 @@ @@ -73887,7 +73887,7 @@ index 0000000..a57faed From 268751484e188e6aade41856b663578dc29304ce Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 038/112] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 038/141] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards Some SD cards have been found that corrupt data when small blocks are erased. Add a quirk to indicate that ERASE should not be used, @@ -73916,7 +73916,7 @@ Signed-off-by: Phil Elwell 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/card/block.c b/drivers/mmc/card/block.c -index b0a2741..9ce8676 100644 +index b0a27413cb1348052d68e783ce307d545f789e42..9ce8676ff613f5e63503f8280afd6d73ce9dca60 100644 --- a/drivers/mmc/card/block.c +++ b/drivers/mmc/card/block.c @@ -132,6 +132,13 @@ enum { @@ -73995,7 +73995,7 @@ index b0a2741..9ce8676 100644 if (mmc_blk_alloc_parts(card, md)) goto out; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 9eba56c..4b1ff84 100644 +index 9eba56c68ca134f02a8328fe6bcd4ea0bcc7a45f..4b1ff84e016f6ba2a9387c54d999205696f056f7 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c @@ -2253,7 +2253,8 @@ EXPORT_SYMBOL(mmc_erase); @@ -74009,7 +74009,7 @@ index 9eba56c..4b1ff84 100644 return 0; } diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h -index eb0151b..fa4e645 100644 +index eb0151bac50c1fd796f479d017bc3c3d7017c9e9..fa4e6454456747f02a10621f4f4da3ac1a5be2c1 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -281,6 +281,9 @@ struct mmc_card { @@ -74026,7 +74026,7 @@ index eb0151b..fa4e645 100644 From 284795b2743ddf50b68885221b6d20bc2b3d57c2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:31:47 +0100 -Subject: [PATCH 039/112] cma: Add vc_cma driver to enable use of CMA +Subject: [PATCH 039/141] cma: Add vc_cma driver to enable use of CMA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -74058,7 +74058,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/broadcom/vc_cma.h diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 3ec0766..aec9337 100644 +index 3ec0766ed5e97a80390f3e8dcbe009c4414c9cf2..aec9337379b730de016972fb523bebb7a7c6aff7 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -4,6 +4,8 @@ @@ -74071,7 +74071,7 @@ index 3ec0766..aec9337 100644 config DEVMEM diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index d8a7579..9d8662e 100644 +index d8a7579300d2df1112446c3a69a29713fd2af163..9d8662e2ccc637cabb56e31c936ca23bcc15e120 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -60,3 +60,4 @@ js-rtc-y = rtc.o @@ -74081,7 +74081,7 @@ index d8a7579..9d8662e 100644 +obj-$(CONFIG_BRCM_CHAR_DRIVERS) += broadcom/ diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig new file mode 100644 -index 0000000..2d8bd6e +index 0000000000000000000000000000000000000000..2d8bd6e5016aab7340636c1f5dc4dd0cbacae6c0 --- /dev/null +++ b/drivers/char/broadcom/Kconfig @@ -0,0 +1,15 @@ @@ -74102,14 +74102,14 @@ index 0000000..2d8bd6e + Helper for videocore CMA access. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile new file mode 100644 -index 0000000..13c5bca +index 0000000000000000000000000000000000000000..13c5bca291ccc0df090c4e61169ace8f18ba60fe --- /dev/null +++ b/drivers/char/broadcom/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_BCM_VC_CMA) += vc_cma/ diff --git a/drivers/char/broadcom/vc_cma/Makefile b/drivers/char/broadcom/vc_cma/Makefile new file mode 100644 -index 0000000..6a94de4 +index 0000000000000000000000000000000000000000..6a94de4a7576f7c608f5bd01eb9f21a1a852120f --- /dev/null +++ b/drivers/char/broadcom/vc_cma/Makefile @@ -0,0 +1,14 @@ @@ -74129,7 +74129,7 @@ index 0000000..6a94de4 +vc-cma-objs := vc_cma.o diff --git a/drivers/char/broadcom/vc_cma/vc_cma.c b/drivers/char/broadcom/vc_cma/vc_cma.c new file mode 100644 -index 0000000..85f6e9d +index 0000000000000000000000000000000000000000..85f6e9da9e5baa0abfba618a171881c078f38496 --- /dev/null +++ b/drivers/char/broadcom/vc_cma/vc_cma.c @@ -0,0 +1,1193 @@ @@ -75328,7 +75328,7 @@ index 0000000..85f6e9d +MODULE_AUTHOR("Broadcom Corporation"); diff --git a/include/linux/broadcom/vc_cma.h b/include/linux/broadcom/vc_cma.h new file mode 100644 -index 0000000..be2819d +index 0000000000000000000000000000000000000000..be2819d5d41f9d5ed65daf8eedb94c9e9a4c2f1a --- /dev/null +++ b/include/linux/broadcom/vc_cma.h @@ -0,0 +1,36 @@ @@ -75372,7 +75372,7 @@ index 0000000..be2819d From 869fdce5e879e33da9112158f3d1aab158691c7e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 26 Mar 2012 22:15:50 +0100 -Subject: [PATCH 040/112] bcm2708: alsa sound driver +Subject: [PATCH 040/141] bcm2708: alsa sound driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -75435,7 +75435,7 @@ probably always be called under our own audio lock. create mode 100644 sound/arm/vc_vchi_audioserv_defs.h diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig -index e040621..7746e5d2 100644 +index e0406211716b003daae37efbc8cdfd73213b31f3..7746e5d28d49f2ea9161546b35ae278a718101b5 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -40,5 +40,13 @@ config SND_PXA2XX_AC97 @@ -75453,7 +75453,7 @@ index e040621..7746e5d2 100644 endif # SND_ARM diff --git a/sound/arm/Makefile b/sound/arm/Makefile -index 8c0c851..6796d7f 100644 +index 8c0c851d464109819beb296c2624bbec7af131e9..6796d7f5c7803ccfdaadbe56b2520c5454678686 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile @@ -14,3 +14,8 @@ snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97) += pxa2xx-ac97-lib.o @@ -75467,7 +75467,7 @@ index 8c0c851..6796d7f 100644 +ccflags-y += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 diff --git a/sound/arm/bcm2835-ctl.c b/sound/arm/bcm2835-ctl.c new file mode 100755 -index 0000000..75dc322 +index 0000000000000000000000000000000000000000..75dc3224be7ce8353378e9676ad2c6847dd0750b --- /dev/null +++ b/sound/arm/bcm2835-ctl.c @@ -0,0 +1,350 @@ @@ -75823,7 +75823,7 @@ index 0000000..75dc322 +} diff --git a/sound/arm/bcm2835-pcm.c b/sound/arm/bcm2835-pcm.c new file mode 100755 -index 0000000..d2de13c +index 0000000000000000000000000000000000000000..d2de13cbd76ed16634f27c0843474825671a28eb --- /dev/null +++ b/sound/arm/bcm2835-pcm.c @@ -0,0 +1,561 @@ @@ -76390,7 +76390,7 @@ index 0000000..d2de13c +} diff --git a/sound/arm/bcm2835-vchiq.c b/sound/arm/bcm2835-vchiq.c new file mode 100755 -index 0000000..3de3094 +index 0000000000000000000000000000000000000000..3de30945d8155b90d244734881a7caa81930fa7c --- /dev/null +++ b/sound/arm/bcm2835-vchiq.c @@ -0,0 +1,902 @@ @@ -77298,7 +77298,7 @@ index 0000000..3de3094 +MODULE_PARM_DESC(force_bulk, "Force use of vchiq bulk for audio"); diff --git a/sound/arm/bcm2835.c b/sound/arm/bcm2835.c new file mode 100644 -index 0000000..7a2ed78 +index 0000000000000000000000000000000000000000..7a2ed78ba19912aad37d46430c7ab36899880581 --- /dev/null +++ b/sound/arm/bcm2835.c @@ -0,0 +1,511 @@ @@ -77815,7 +77815,7 @@ index 0000000..7a2ed78 +MODULE_ALIAS("platform:bcm2835_alsa"); diff --git a/sound/arm/bcm2835.h b/sound/arm/bcm2835.h new file mode 100755 -index 0000000..0f71c5d +index 0000000000000000000000000000000000000000..0f71c5def314a63252fa4fe18ae2ba5a339f2cfb --- /dev/null +++ b/sound/arm/bcm2835.h @@ -0,0 +1,167 @@ @@ -77988,7 +77988,7 @@ index 0000000..0f71c5d +#endif /* __SOUND_ARM_BCM2835_H */ diff --git a/sound/arm/vc_vchi_audioserv_defs.h b/sound/arm/vc_vchi_audioserv_defs.h new file mode 100644 -index 0000000..af3e6eb +index 0000000000000000000000000000000000000000..af3e6eb690113fc32ce9e06bd2f0f294da7a7f00 --- /dev/null +++ b/sound/arm/vc_vchi_audioserv_defs.h @@ -0,0 +1,116 @@ @@ -78112,7 +78112,7 @@ index 0000000..af3e6eb From ffa8b498a24627e17d91222019995ffcbd8987c4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 2 Jul 2013 23:42:01 +0100 -Subject: [PATCH 041/112] bcm2708 vchiq driver +Subject: [PATCH 041/141] bcm2708 vchiq driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -78399,7 +78399,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c diff --git a/arch/arm/mach-bcm2708/include/mach/platform.h b/arch/arm/mach-bcm2708/include/mach/platform.h -index 4fb43cf..e98ec5a 100644 +index 4fb43cf391e50e702d0a0588ceff397c79c501d7..e98ec5acc70ba9eb2bc7ff560ed3c92e21518b73 100644 --- a/arch/arm/mach-bcm2708/include/mach/platform.h +++ b/arch/arm/mach-bcm2708/include/mach/platform.h @@ -78,6 +78,8 @@ @@ -78412,7 +78412,7 @@ index 4fb43cf..e98ec5a 100644 /* * Watchdog diff --git a/arch/arm/mach-bcm2709/include/mach/platform.h b/arch/arm/mach-bcm2709/include/mach/platform.h -index 311b9f2..9a638f5 100644 +index 311b9f26fab7dd770bdcd684c7691442b0872d55..9a638f528fcebc9206419a2cc68f3c9856dda3c3 100644 --- a/arch/arm/mach-bcm2709/include/mach/platform.h +++ b/arch/arm/mach-bcm2709/include/mach/platform.h @@ -78,6 +78,8 @@ @@ -78425,7 +78425,7 @@ index 311b9f2..9a638f5 100644 /* * Watchdog diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index a216b46..90af750 100644 +index a216b46677429402168c587c638cc1d710632960..90af750e589982a5dcd854f54e8270d935ea6768 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -812,6 +812,7 @@ source "drivers/misc/lis3lv02d/Kconfig" @@ -78437,7 +78437,7 @@ index a216b46..90af750 100644 source "drivers/misc/genwqe/Kconfig" source "drivers/misc/echo/Kconfig" diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index b2fb6dbf..1a58cf7 100644 +index b2fb6dbffcef0c4999439287b3e1c1a10bdcf264..1a58cf720b9a162ac654b7a8dc21855363f34136 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -51,6 +51,7 @@ obj-$(CONFIG_INTEL_MEI) += mei/ @@ -78450,7 +78450,7 @@ index b2fb6dbf..1a58cf7 100644 obj-$(CONFIG_ECHO) += echo/ diff --git a/drivers/misc/vc04_services/Kconfig b/drivers/misc/vc04_services/Kconfig new file mode 100644 -index 0000000..db8e1be +index 0000000000000000000000000000000000000000..db8e1beb89f9f8c48ea5964016c8285ea82497d8 --- /dev/null +++ b/drivers/misc/vc04_services/Kconfig @@ -0,0 +1,9 @@ @@ -78465,7 +78465,7 @@ index 0000000..db8e1be + are included in the build, N otherwise. diff --git a/drivers/misc/vc04_services/Makefile b/drivers/misc/vc04_services/Makefile new file mode 100644 -index 0000000..8d038fe +index 0000000000000000000000000000000000000000..8d038feb42105cb2cad688690086ba69379b12e1 --- /dev/null +++ b/drivers/misc/vc04_services/Makefile @@ -0,0 +1,14 @@ @@ -78485,7 +78485,7 @@ index 0000000..8d038fe + diff --git a/drivers/misc/vc04_services/interface/vchi/connections/connection.h b/drivers/misc/vc04_services/interface/vchi/connections/connection.h new file mode 100644 -index 0000000..fef6ac3 +index 0000000000000000000000000000000000000000..fef6ac34c6d2c04dfdba66f33850e72c24c613c2 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/connections/connection.h @@ -0,0 +1,328 @@ @@ -78819,7 +78819,7 @@ index 0000000..fef6ac3 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h new file mode 100644 -index 0000000..8b3f767 +index 0000000000000000000000000000000000000000..8b3f76735bd45ab09a12dc6e17e335241fd11755 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/message_drivers/message.h @@ -0,0 +1,204 @@ @@ -79029,7 +79029,7 @@ index 0000000..8b3f767 +/****************************** End of file ***********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi.h b/drivers/misc/vc04_services/interface/vchi/vchi.h new file mode 100644 -index 0000000..1b17e98 +index 0000000000000000000000000000000000000000..1b17e98f737979eef19906609bc19ecd19455618 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi.h @@ -0,0 +1,378 @@ @@ -79413,7 +79413,7 @@ index 0000000..1b17e98 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h new file mode 100644 -index 0000000..26bc2d3 +index 0000000000000000000000000000000000000000..26bc2d38d725e3c4c24a4cb894da11e65d01625a --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg.h @@ -0,0 +1,224 @@ @@ -79643,7 +79643,7 @@ index 0000000..26bc2d3 +/****************************** End of file **********************************/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h new file mode 100644 -index 0000000..35dcba4 +index 0000000000000000000000000000000000000000..35dcba4837d492307f3b273acaefa752cdbd6478 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_cfg_internal.h @@ -0,0 +1,71 @@ @@ -79720,7 +79720,7 @@ index 0000000..35dcba4 +#endif /*VCHI_CFG_INTERNAL_H_*/ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_common.h b/drivers/misc/vc04_services/interface/vchi/vchi_common.h new file mode 100644 -index 0000000..d535a72 +index 0000000000000000000000000000000000000000..d535a72970d3f1ee63d2038550db8f4e43589c72 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_common.h @@ -0,0 +1,175 @@ @@ -79901,7 +79901,7 @@ index 0000000..d535a72 +#endif // VCHI_COMMON_H_ diff --git a/drivers/misc/vc04_services/interface/vchi/vchi_mh.h b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h new file mode 100644 -index 0000000..198bd07 +index 0000000000000000000000000000000000000000..198bd076b6668d729e0b6619a1f38eb927a2398b --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchi/vchi_mh.h @@ -0,0 +1,42 @@ @@ -79949,7 +79949,7 @@ index 0000000..198bd07 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h new file mode 100644 -index 0000000..ad398ba +index 0000000000000000000000000000000000000000..ad398bae6ee4c3d64fc1a37808398397a9a0fefe --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq.h @@ -0,0 +1,40 @@ @@ -79995,7 +79995,7 @@ index 0000000..ad398ba +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h new file mode 100644 -index 0000000..7ea5c64 +index 0000000000000000000000000000000000000000..7ea5c64d5343d43786903161518ef1ce0287e27d --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835.h @@ -0,0 +1,42 @@ @@ -80043,7 +80043,7 @@ index 0000000..7ea5c64 +#endif /* VCHIQ_2835_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c new file mode 100644 -index 0000000..4cb5bff +index 0000000000000000000000000000000000000000..4cb5bff237288a4ee80d80ba53a2efe96f2749f3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_2835_arm.c @@ -0,0 +1,586 @@ @@ -80635,7 +80635,7 @@ index 0000000..4cb5bff +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c new file mode 100644 -index 0000000..51e6018 +index 0000000000000000000000000000000000000000..51e6018f413ca177146adfc4a2b947dbd860cf90 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.c @@ -0,0 +1,2920 @@ @@ -83561,7 +83561,7 @@ index 0000000..51e6018 +MODULE_AUTHOR("Broadcom Corporation"); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h new file mode 100644 -index 0000000..9740e1a +index 0000000000000000000000000000000000000000..9740e1afbc9dc6223f2fea5106916062a3e783ce --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -0,0 +1,220 @@ @@ -83787,7 +83787,7 @@ index 0000000..9740e1a +#endif /* VCHIQ_ARM_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h new file mode 100644 -index 0000000..df64581 +index 0000000000000000000000000000000000000000..df645813bdaeb2cd6296154af434ebc1b0c5939a --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_build_info.h @@ -0,0 +1,37 @@ @@ -83830,7 +83830,7 @@ index 0000000..df64581 +const char *vchiq_get_build_date(void); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h new file mode 100644 -index 0000000..d2797db +index 0000000000000000000000000000000000000000..d2797db702f9fd2e35beb3dd2d5ac9323ccedfc6 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_cfg.h @@ -0,0 +1,69 @@ @@ -83905,7 +83905,7 @@ index 0000000..d2797db +#endif /* VCHIQ_CFG_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c new file mode 100644 -index 0000000..5efc62f +index 0000000000000000000000000000000000000000..5efc62ffb2f5e441cb307d0a575565338b407249 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.c @@ -0,0 +1,120 @@ @@ -84031,7 +84031,7 @@ index 0000000..5efc62f +EXPORT_SYMBOL(vchiq_add_connected_callback); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h new file mode 100644 -index 0000000..863b3e3 +index 0000000000000000000000000000000000000000..863b3e335c1aa4bbe7f8652e0e6c3713ea1aed45 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_connected.h @@ -0,0 +1,50 @@ @@ -84087,7 +84087,7 @@ index 0000000..863b3e3 +#endif /* VCHIQ_CONNECTED_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c new file mode 100644 -index 0000000..160db24 +index 0000000000000000000000000000000000000000..160db24aeea33a8296923501009c1f02bc41e599 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.c @@ -0,0 +1,3929 @@ @@ -88022,7 +88022,7 @@ index 0000000..160db24 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h new file mode 100644 -index 0000000..9be484c +index 0000000000000000000000000000000000000000..9be484c776d044a51bb3904c6a1e2cd11a852e35 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_core.h @@ -0,0 +1,712 @@ @@ -88740,7 +88740,7 @@ index 0000000..9be484c +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c new file mode 100644 -index 0000000..7e03213 +index 0000000000000000000000000000000000000000..7e032130d967a69384926ddbe614e9af4be8f22e --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.c @@ -0,0 +1,383 @@ @@ -89129,7 +89129,7 @@ index 0000000..7e03213 +#endif /* CONFIG_DEBUG_FS */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h new file mode 100644 -index 0000000..4d6a378 +index 0000000000000000000000000000000000000000..4d6a3788e9c508c9eb1379980c4f3a67791e428e --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_debugfs.h @@ -0,0 +1,52 @@ @@ -89187,7 +89187,7 @@ index 0000000..4d6a378 +#endif /* VCHIQ_DEBUGFS_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion new file mode 100644 -index 0000000..9f5b634 +index 0000000000000000000000000000000000000000..9f5b6344b9b77f72ebd4ff6621c90fd0ac47efb1 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_genversion @@ -0,0 +1,87 @@ @@ -89280,7 +89280,7 @@ index 0000000..9f5b634 +EOF diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h new file mode 100644 -index 0000000..8067bbe +index 0000000000000000000000000000000000000000..8067bbe7ce8d70c41b2e6e0466d20a4612e39d93 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_if.h @@ -0,0 +1,189 @@ @@ -89475,7 +89475,7 @@ index 0000000..8067bbe +#endif /* VCHIQ_IF_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h new file mode 100644 -index 0000000..6137ae9 +index 0000000000000000000000000000000000000000..6137ae9de1c19cb0ffc486dc60505061a10aea6c --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_ioctl.h @@ -0,0 +1,131 @@ @@ -89612,7 +89612,7 @@ index 0000000..6137ae9 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c new file mode 100644 -index 0000000..25e7011 +index 0000000000000000000000000000000000000000..25e7011edc5094372919d7e3be482f3bbd7b6155 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c @@ -0,0 +1,458 @@ @@ -90076,7 +90076,7 @@ index 0000000..25e7011 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h new file mode 100644 -index 0000000..335446e +index 0000000000000000000000000000000000000000..335446e05476c3dbb905a69e45b37a2702566bf6 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_killable.h @@ -0,0 +1,69 @@ @@ -90151,7 +90151,7 @@ index 0000000..335446e +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h new file mode 100644 -index 0000000..d02e776 +index 0000000000000000000000000000000000000000..d02e7764bd0d8721453d2e0a4900c26c12634c8b --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_memdrv.h @@ -0,0 +1,71 @@ @@ -90228,7 +90228,7 @@ index 0000000..d02e776 +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h new file mode 100644 -index 0000000..54a3ece +index 0000000000000000000000000000000000000000..54a3ecec69ef6702c382a7af339d21b87ec8a346 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_pagelist.h @@ -0,0 +1,58 @@ @@ -90292,7 +90292,7 @@ index 0000000..54a3ece +#endif /* VCHIQ_PAGELIST_H */ diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c new file mode 100644 -index 0000000..8072ff6 +index 0000000000000000000000000000000000000000..8072ff613636121d50293693d0bd2aaf0b6e07b5 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_shim.c @@ -0,0 +1,860 @@ @@ -91158,7 +91158,7 @@ index 0000000..8072ff6 +EXPORT_SYMBOL(vchi_service_release); diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c new file mode 100644 -index 0000000..384acb8 +index 0000000000000000000000000000000000000000..384acb8d2eae12eca8aa955c274467f120e8824f --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.c @@ -0,0 +1,156 @@ @@ -91320,7 +91320,7 @@ index 0000000..384acb8 +} diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h new file mode 100644 -index 0000000..4055d4b +index 0000000000000000000000000000000000000000..4055d4bf9f740ab9f10a7e44673b9795681981f7 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_util.h @@ -0,0 +1,82 @@ @@ -91408,7 +91408,7 @@ index 0000000..4055d4b +#endif diff --git a/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c new file mode 100644 -index 0000000..b6bfa21 +index 0000000000000000000000000000000000000000..b6bfa21155e431e93bfb2c149d32437184c2b6e3 --- /dev/null +++ b/drivers/misc/vc04_services/interface/vchiq_arm/vchiq_version.c @@ -0,0 +1,59 @@ @@ -91475,7 +91475,7 @@ index 0000000..b6bfa21 From 15e17f63a0de9a7310a6be13ae66eafd88bf5c8a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 16:07:06 +0100 -Subject: [PATCH 042/112] vc_mem: Add vc_mem driver +Subject: [PATCH 042/141] vc_mem: Add vc_mem driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -91502,7 +91502,7 @@ Signed-off-by: Noralf Trønnes diff --git a/arch/arm/mach-bcm2709/include/mach/vc_mem.h b/arch/arm/mach-bcm2709/include/mach/vc_mem.h deleted file mode 100644 -index 4a4a338..0000000 +index 4a4a33845cbc02f0e0d5368fed3609f6ba9ff92b..0000000000000000000000000000000000000000 --- a/arch/arm/mach-bcm2709/include/mach/vc_mem.h +++ /dev/null @@ -1,35 +0,0 @@ @@ -91543,7 +91543,7 @@ index 4a4a338..0000000 -#endif /* VC_MEM_H */ diff --git a/arch/arm/mach-bcm2709/vc_mem.c b/arch/arm/mach-bcm2709/vc_mem.c deleted file mode 100644 -index d2adfd1..0000000 +index d2adfd1db2421984ea8ab8fb809d1adb0765714e..0000000000000000000000000000000000000000 --- a/arch/arm/mach-bcm2709/vc_mem.c +++ /dev/null @@ -1,431 +0,0 @@ @@ -91979,7 +91979,7 @@ index d2adfd1..0000000 -module_param(mem_size, uint, 0644); -module_param(mem_base, uint, 0644); diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 2d8bd6e..7037928 100644 +index 2d8bd6e5016aab7340636c1f5dc4dd0cbacae6c0..70379287f6261fd833202ac47de1bcca8b84959a 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -7,9 +7,19 @@ menuconfig BRCM_CHAR_DRIVERS @@ -92004,7 +92004,7 @@ index 2d8bd6e..7037928 100644 + +endif diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 13c5bca..fce918c 100644 +index 13c5bca291ccc0df090c4e61169ace8f18ba60fe..fce918c369f7a9430136fea3ab098350339f1b01 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1 +1,2 @@ @@ -92012,7 +92012,7 @@ index 13c5bca..fce918c 100644 +obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o diff --git a/drivers/char/broadcom/vc_mem.c b/drivers/char/broadcom/vc_mem.c new file mode 100644 -index 0000000..be64f23 +index 0000000000000000000000000000000000000000..be64f238ee0cc1e57f9401b0ee16c23e9fa238cc --- /dev/null +++ b/drivers/char/broadcom/vc_mem.c @@ -0,0 +1,422 @@ @@ -92440,7 +92440,7 @@ index 0000000..be64f23 +module_param(mem_base, uint, 0644); diff --git a/include/linux/broadcom/vc_mem.h b/include/linux/broadcom/vc_mem.h new file mode 100644 -index 0000000..20a4753 +index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35a58411b4 --- /dev/null +++ b/include/linux/broadcom/vc_mem.h @@ -0,0 +1,35 @@ @@ -92483,7 +92483,7 @@ index 0000000..20a4753 From 2cefc921e5b3d8dbed930ba64a31e2a218ff7a7a Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 043/112] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 043/141] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -92543,7 +92543,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 include/linux/broadcom/vmcs_sm_ioctl.h diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 7037928..75fa1cb 100644 +index 70379287f6261fd833202ac47de1bcca8b84959a..75fa1cba764084160f7cb77e56058f25b5e9f0ce 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -23,3 +23,12 @@ config BCM2708_VCMEM @@ -92560,7 +92560,7 @@ index 7037928..75fa1cb 100644 + Support for the VC shared memory on the Broadcom reference + design. Uses the VCHIQ stack. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index fce918c..de8feb9 100644 +index fce918c369f7a9430136fea3ab098350339f1b01..de8feb98c63ff1e6437d80a6db85a8d30f433705 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,2 +1,3 @@ @@ -92569,7 +92569,7 @@ index fce918c..de8feb9 100644 +obj-$(CONFIG_BCM_VC_SM) += vc_sm/ diff --git a/drivers/char/broadcom/vc_sm/Makefile b/drivers/char/broadcom/vc_sm/Makefile new file mode 100644 -index 0000000..68fa2aa +index 0000000000000000000000000000000000000000..68fa2aa7f725d3587c47c22489efc3418e48dce8 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/Makefile @@ -0,0 +1,20 @@ @@ -92595,7 +92595,7 @@ index 0000000..68fa2aa + vc_vchi_sm.o diff --git a/drivers/char/broadcom/vc_sm/vc_sm_defs.h b/drivers/char/broadcom/vc_sm/vc_sm_defs.h new file mode 100644 -index 0000000..c4d5ff7 +index 0000000000000000000000000000000000000000..c4d5ff718a5ba9071ef87fa4c6cf632486c4d36f --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_defs.h @@ -0,0 +1,181 @@ @@ -92782,7 +92782,7 @@ index 0000000..c4d5ff7 +#endif /* __VC_SM_DEFS_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_sm_knl.h b/drivers/char/broadcom/vc_sm/vc_sm_knl.h new file mode 100644 -index 0000000..965f9a2 +index 0000000000000000000000000000000000000000..965f9a209a025202fea8065d3947c36f4fa43d0a --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_sm_knl.h @@ -0,0 +1,55 @@ @@ -92843,7 +92843,7 @@ index 0000000..965f9a2 +#endif /* __VC_SM_KNL_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.c b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c new file mode 100644 -index 0000000..7c6ba1a +index 0000000000000000000000000000000000000000..7c6ba1a244a8aff8132e0177e02b2b2a6cd364e0 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.c @@ -0,0 +1,492 @@ @@ -93341,7 +93341,7 @@ index 0000000..7c6ba1a +} diff --git a/drivers/char/broadcom/vc_sm/vc_vchi_sm.h b/drivers/char/broadcom/vc_sm/vc_vchi_sm.h new file mode 100644 -index 0000000..5e279f5 +index 0000000000000000000000000000000000000000..5e279f5a95fac7227cea15941bf0570ddc2b0886 --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vc_vchi_sm.h @@ -0,0 +1,82 @@ @@ -93429,7 +93429,7 @@ index 0000000..5e279f5 +#endif /* __VC_VCHI_SM_H__INCLUDED__ */ diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c new file mode 100644 -index 0000000..1db6716 +index 0000000000000000000000000000000000000000..1db6716c2c0c8b2013203391501f92d09db258af --- /dev/null +++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c @@ -0,0 +1,3213 @@ @@ -96648,7 +96648,7 @@ index 0000000..1db6716 +MODULE_LICENSE("GPL v2"); diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h new file mode 100644 -index 0000000..334f36d +index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f38cf76564 --- /dev/null +++ b/include/linux/broadcom/vmcs_sm_ioctl.h @@ -0,0 +1,248 @@ @@ -96904,7 +96904,7 @@ index 0000000..334f36d From 3e4e79ceb14be9b9fb2a8135ee18865191eb00ba Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 044/112] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 044/141] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -96921,7 +96921,7 @@ See: https://github.com/raspberrypi/linux/issues/1154 create mode 100644 drivers/char/broadcom/bcm2835-gpiomem.c diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 75fa1cb..b75c9b2 100644 +index 75fa1cba764084160f7cb77e56058f25b5e9f0ce..b75c9b2639fb0e63dd2623ddc1dcaac5759c132b 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -32,3 +32,12 @@ config BCM_VC_SM @@ -96938,7 +96938,7 @@ index 75fa1cb..b75c9b2 100644 + register page to the user's pointer. + diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index de8feb9..1eb06e9 100644 +index de8feb98c63ff1e6437d80a6db85a8d30f433705..1eb06e9788663c3e75d201a559db55556cecfe2b 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,3 +1,6 @@ @@ -96950,7 +96950,7 @@ index de8feb9..1eb06e9 100644 + diff --git a/drivers/char/broadcom/bcm2835-gpiomem.c b/drivers/char/broadcom/bcm2835-gpiomem.c new file mode 100644 -index 0000000..911f5b7 +index 0000000000000000000000000000000000000000..911f5b7393ed48ceed8751f06967ae6463453f9c --- /dev/null +++ b/drivers/char/broadcom/bcm2835-gpiomem.c @@ -0,0 +1,260 @@ @@ -97218,7 +97218,7 @@ index 0000000..911f5b7 From 301848a2d27e09d2e39b263aab1a339ef96164d4 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 045/112] Add SMI driver +Subject: [PATCH 045/141] Add SMI driver Signed-off-by: Luke Wren --- @@ -97240,7 +97240,7 @@ Signed-off-by: Luke Wren diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt new file mode 100644 -index 0000000..68cc8eb +index 0000000000000000000000000000000000000000..68cc8ebc3392d45cbccac0dc0354514076d43398 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi-dev.txt @@ -0,0 +1,17 @@ @@ -97263,7 +97263,7 @@ index 0000000..68cc8eb + diff --git a/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt new file mode 100644 -index 0000000..b76dc69 +index 0000000000000000000000000000000000000000..b76dc694f1ac0b8044000ae54d312c803b1ef6f7 --- /dev/null +++ b/Documentation/devicetree/bindings/misc/brcm,bcm2835-smi.txt @@ -0,0 +1,48 @@ @@ -97316,7 +97316,7 @@ index 0000000..b76dc69 +}; + diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index b75c9b2..2292ed2 100644 +index b75c9b2639fb0e63dd2623ddc1dcaac5759c132b..2292ed2ac9f457a7d491110e673666136faa5a5e 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -41,3 +41,11 @@ config BCM2835_DEVGPIOMEM @@ -97332,7 +97332,7 @@ index b75c9b2..2292ed2 100644 + Broadcom's Secondary Memory interface. The low-level functionality is provided + by the SMI driver itself. diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 1eb06e9..667d33e 100644 +index 1eb06e9788663c3e75d201a559db55556cecfe2b..667d33ef38f3512b52818537c11d369798b6f1c0 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -3,4 +3,4 @@ obj-$(CONFIG_BCM2708_VCMEM) += vc_mem.o @@ -97343,7 +97343,7 @@ index 1eb06e9..667d33e 100644 +obj-$(CONFIG_BCM2835_SMI_DEV) += bcm2835_smi_dev.o diff --git a/drivers/char/broadcom/bcm2835_smi_dev.c b/drivers/char/broadcom/bcm2835_smi_dev.c new file mode 100644 -index 0000000..d6efd92 +index 0000000000000000000000000000000000000000..d6efd92fdfe46df5cfe219d2123e0dff23dc5ab7 --- /dev/null +++ b/drivers/char/broadcom/bcm2835_smi_dev.c @@ -0,0 +1,402 @@ @@ -97750,7 +97750,7 @@ index 0000000..d6efd92 + "Character device driver for BCM2835's secondary memory interface"); +MODULE_AUTHOR("Luke Wren "); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 90af750..7011b2d 100644 +index 90af750e589982a5dcd854f54e8270d935ea6768..7011b2daec3df832eebf9c7f40f6cb3bc6191595 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -10,6 +10,14 @@ config SENSORS_LIS3LV02D @@ -97769,7 +97769,7 @@ index 90af750..7011b2d 100644 tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 1a58cf7..28989fa 100644 +index 1a58cf720b9a162ac654b7a8dc21855363f34136..28989fae581bbfd0bc87f1542d7f6b83e8c3c5cc 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o @@ -97782,7 +97782,7 @@ index 1a58cf7..28989fa 100644 obj-$(CONFIG_BMP085_SPI) += bmp085-spi.o diff --git a/drivers/misc/bcm2835_smi.c b/drivers/misc/bcm2835_smi.c new file mode 100644 -index 0000000..63a4ea0 +index 0000000000000000000000000000000000000000..63a4ea08b9930a3a31a985f0a1d969b488ed49ec --- /dev/null +++ b/drivers/misc/bcm2835_smi.c @@ -0,0 +1,985 @@ @@ -98773,7 +98773,7 @@ index 0000000..63a4ea0 +MODULE_AUTHOR("Luke Wren "); diff --git a/include/linux/broadcom/bcm2835_smi.h b/include/linux/broadcom/bcm2835_smi.h new file mode 100644 -index 0000000..ee3a75e +index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10fd8543a3 --- /dev/null +++ b/include/linux/broadcom/bcm2835_smi.h @@ -0,0 +1,391 @@ @@ -99172,7 +99172,7 @@ index 0000000..ee3a75e From 12df7d0bcb543798517104d4390accefb14c62b5 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 046/112] Add SMI NAND driver +Subject: [PATCH 046/141] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -99186,7 +99186,7 @@ Signed-off-by: Luke Wren diff --git a/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt b/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt new file mode 100644 -index 0000000..159544d +index 0000000000000000000000000000000000000000..159544d6579070d376d146bd24a86653e7245707 --- /dev/null +++ b/Documentation/devicetree/bindings/mtd/brcm,bcm2835-smi-nand.txt @@ -0,0 +1,42 @@ @@ -99234,7 +99234,7 @@ index 0000000..159544d +}; \ No newline at end of file diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index f05e0e9..8c69541 100644 +index f05e0e9eb2f73e8b807d97fb30cf4638d07286d9..8c6954116637153776ab2e54ebabcba881ce88cf 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -41,6 +41,13 @@ config MTD_SM_COMMON @@ -99252,7 +99252,7 @@ index f05e0e9..8c69541 100644 tristate diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index f553353..ea8d647 100644 +index f55335373f7c5b755c4363574ed7abc211ec89c7..ea8d647d92ffb3b328e04a35a16430f62d534553 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -14,6 +14,7 @@ obj-$(CONFIG_MTD_NAND_DENALI) += denali.o @@ -99265,7 +99265,7 @@ index f553353..ea8d647 100644 obj-$(CONFIG_MTD_NAND_DAVINCI) += davinci_nand.o diff --git a/drivers/mtd/nand/bcm2835_smi_nand.c b/drivers/mtd/nand/bcm2835_smi_nand.c new file mode 100644 -index 0000000..02adda6 +index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79de58bfdce --- /dev/null +++ b/drivers/mtd/nand/bcm2835_smi_nand.c @@ -0,0 +1,267 @@ @@ -99540,7 +99540,7 @@ index 0000000..02adda6 From 1e8bc98cc672fc3f2d4c3946cec95432fe2da916 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 047/112] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 047/141] lirc: added support for RaspberryPi GPIO lirc_rpi: Use read_current_timer to determine transmitter delay. Thanks to jjmz and others See: https://github.com/raspberrypi/linux/issues/525 @@ -99595,7 +99595,7 @@ lirc-rpi: Also support pinctrl-bcm2835 in non-DT mode create mode 100644 include/linux/platform_data/bcm2708.h diff --git a/drivers/staging/media/lirc/Kconfig b/drivers/staging/media/lirc/Kconfig -index 6879c46..77c69f2 100644 +index 6879c4651b46c8b48460626cb346b8ee23fa6587..77c69f2d4158be625a5956095b988cd3774dbfae 100644 --- a/drivers/staging/media/lirc/Kconfig +++ b/drivers/staging/media/lirc/Kconfig @@ -32,6 +32,12 @@ config LIRC_PARALLEL @@ -99612,7 +99612,7 @@ index 6879c46..77c69f2 100644 tristate "Sasem USB IR Remote" depends on LIRC && USB diff --git a/drivers/staging/media/lirc/Makefile b/drivers/staging/media/lirc/Makefile -index 5430adf..9e53cd0 100644 +index 5430adf0475ded5abe2ef4b4cf4e7f2c08297894..9e53cd0caf58ba28a939b780c876d4017a23ac2b 100644 --- a/drivers/staging/media/lirc/Makefile +++ b/drivers/staging/media/lirc/Makefile @@ -6,6 +6,7 @@ @@ -99625,7 +99625,7 @@ index 5430adf..9e53cd0 100644 obj-$(CONFIG_LIRC_SIR) += lirc_sir.o diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c new file mode 100644 -index 0000000..0624439 +index 0000000000000000000000000000000000000000..06244398e42b9a1501a48fb4693218e017e5a651 --- /dev/null +++ b/drivers/staging/media/lirc/lirc_rpi.c @@ -0,0 +1,730 @@ @@ -100361,7 +100361,7 @@ index 0000000..0624439 +MODULE_PARM_DESC(debug, "Enable debugging messages"); diff --git a/include/linux/platform_data/bcm2708.h b/include/linux/platform_data/bcm2708.h new file mode 100644 -index 0000000..fb69624 +index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b172de57ec --- /dev/null +++ b/include/linux/platform_data/bcm2708.h @@ -0,0 +1,23 @@ @@ -100392,7 +100392,7 @@ index 0000000..fb69624 From 0fe53c97d513cf0b7f2d04bf412c4aa0e44313b4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 048/112] Add cpufreq driver +Subject: [PATCH 048/141] Add cpufreq driver Signed-off-by: popcornmix --- @@ -100403,7 +100403,7 @@ Signed-off-by: popcornmix create mode 100644 drivers/cpufreq/bcm2835-cpufreq.c diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm -index 14b1f93..c6e8bd5 100644 +index 14b1f9393b057e106d7b068883ce486ea70239ec..c6e8bd553878a81d41cbe110930fb2791d787cc2 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -229,6 +229,15 @@ config ARM_STI_CPUFREQ @@ -100423,7 +100423,7 @@ index 14b1f93..c6e8bd5 100644 bool "Tegra20 CPUFreq support" depends on ARCH_TEGRA diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile -index 9e63fb1..9e55083 100644 +index 9e63fb1b09f815fa70e1c4d908707ba39989f8fa..9e55083a9b247b86c2a29c9b268111918c10a7b9 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -74,6 +74,7 @@ obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o @@ -100436,7 +100436,7 @@ index 9e63fb1..9e55083 100644 obj-$(CONFIG_ARM_VEXPRESS_SPC_CPUFREQ) += vexpress-spc-cpufreq.o diff --git a/drivers/cpufreq/bcm2835-cpufreq.c b/drivers/cpufreq/bcm2835-cpufreq.c new file mode 100644 -index 0000000..3eb9e93 +index 0000000000000000000000000000000000000000..3eb9e9326231b08e6ee95ad486485245c71cf868 --- /dev/null +++ b/drivers/cpufreq/bcm2835-cpufreq.c @@ -0,0 +1,213 @@ @@ -100657,7 +100657,7 @@ index 0000000..3eb9e93 From f2689bfbe922ace29cdd1bb19566f3898b2903b6 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 049/112] Added hwmon/thermal driver for reporting core +Subject: [PATCH 049/141] Added hwmon/thermal driver for reporting core temperature. Thanks Dorian MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -100678,7 +100678,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/thermal/bcm2835-thermal.c diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig -index 3c3dc4a..6789340 100644 +index 3c3dc4a3d52cfb4685bdcbd2c62b55d33447804d..6789340aa1ce5d3711d23a87aafdd7e3c4793643 100644 --- a/drivers/thermal/Kconfig +++ b/drivers/thermal/Kconfig @@ -292,6 +292,13 @@ config INTEL_POWERCLAMP @@ -100696,7 +100696,7 @@ index 3c3dc4a..6789340 100644 tristate "X86 package temperature thermal driver" depends on X86_THERMAL_VECTOR diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile -index 8e9cbc3..497014c 100644 +index 8e9cbc3b5679ae221bcdd5d6bb82e91ebcfb3f1d..497014c0b271731daa831f7dbd5df0a6ca1ebe69 100644 --- a/drivers/thermal/Makefile +++ b/drivers/thermal/Makefile @@ -38,6 +38,7 @@ obj-$(CONFIG_ARMADA_THERMAL) += armada_thermal.o @@ -100709,7 +100709,7 @@ index 8e9cbc3..497014c 100644 obj-$(CONFIG_INTEL_SOC_DTS_THERMAL) += intel_soc_dts_thermal.o diff --git a/drivers/thermal/bcm2835-thermal.c b/drivers/thermal/bcm2835-thermal.c new file mode 100644 -index 0000000..c63fb9f +index 0000000000000000000000000000000000000000..c63fb9f9d143e19612a18fe530c7b2b3518a22a4 --- /dev/null +++ b/drivers/thermal/bcm2835-thermal.c @@ -0,0 +1,109 @@ @@ -100826,7 +100826,7 @@ index 0000000..c63fb9f From 5e47d2aebe36e21dc1bdb3b87a8762c238958608 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/112] Add Chris Boot's i2c driver +Subject: [PATCH 050/141] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -100917,7 +100917,7 @@ Set the BSC_CLKT clock streching timeout to 35ms as per SMBus specs. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 0967e1a..c11fce1 100644 +index 0967e1a5b3a25f1d351f83adb40f7bad0c52c659..c11fce150e1e371d17432af29ea96ab0a6c28d5d 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -8,6 +8,25 @@ menu "I2C Hardware Bus support" @@ -100956,7 +100956,7 @@ index 0967e1a..c11fce1 100644 If you say yes to this option, support will be included for the BCM2835 I2C controller. diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 37f2819..e309579 100644 +index 37f2819b4560b0e0947b74c214f5c5a0952bc0ae..e309579e691599031f25bd9b9b36430753f004a7 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -2,6 +2,8 @@ @@ -100970,7 +100970,7 @@ index 37f2819..e309579 100644 diff --git a/drivers/i2c/busses/i2c-bcm2708.c b/drivers/i2c/busses/i2c-bcm2708.c new file mode 100644 -index 0000000..c9b8e5c +index 0000000000000000000000000000000000000000..c9b8e5cb1702e4b20e45214d81a7a40ac709220f --- /dev/null +++ b/drivers/i2c/busses/i2c-bcm2708.c @@ -0,0 +1,508 @@ @@ -101486,7 +101486,7 @@ index 0000000..c9b8e5c From 1aa29b0d88ae6bb3f0c115a4d5b539fbeca1812a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:27:06 +0200 -Subject: [PATCH 051/112] char: broadcom: Add vcio module +Subject: [PATCH 051/141] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101503,7 +101503,7 @@ Signed-off-by: Noralf Trønnes create mode 100644 drivers/char/broadcom/vcio.c diff --git a/drivers/char/broadcom/Kconfig b/drivers/char/broadcom/Kconfig -index 2292ed2..5489f19 100644 +index 2292ed2ac9f457a7d491110e673666136faa5a5e..5489f19f05c620a30541e1a222d77b6ee4356d97 100644 --- a/drivers/char/broadcom/Kconfig +++ b/drivers/char/broadcom/Kconfig @@ -22,6 +22,12 @@ config BCM2708_VCMEM @@ -101520,7 +101520,7 @@ index 2292ed2..5489f19 100644 config BCM_VC_SM diff --git a/drivers/char/broadcom/Makefile b/drivers/char/broadcom/Makefile -index 667d33e..14775c9 100644 +index 667d33ef38f3512b52818537c11d369798b6f1c0..14775c9b20b4b6a58f681f3687614676b5e2a871 100644 --- a/drivers/char/broadcom/Makefile +++ b/drivers/char/broadcom/Makefile @@ -1,5 +1,6 @@ @@ -101532,7 +101532,7 @@ index 667d33e..14775c9 100644 obj-$(CONFIG_BCM2835_DEVGPIOMEM)+= bcm2835-gpiomem.o diff --git a/drivers/char/broadcom/vcio.c b/drivers/char/broadcom/vcio.c new file mode 100644 -index 0000000..c19bc20 +index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a140fe5aba0 --- /dev/null +++ b/drivers/char/broadcom/vcio.c @@ -0,0 +1,175 @@ @@ -101715,7 +101715,7 @@ index 0000000..c19bc20 From 2585136f60c92591d0a6b35c061ce29df6878461 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 26 Jun 2015 14:25:01 +0200 -Subject: [PATCH 052/112] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 052/141] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -101731,7 +101731,7 @@ Signed-off-by: Noralf Trønnes 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c -index dd506cd3..b980d53 100644 +index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..b980d531b35b9981a88356ef1c8a7b868a85f2b5 100644 --- a/drivers/firmware/raspberrypi.c +++ b/drivers/firmware/raspberrypi.c @@ -28,6 +28,8 @@ struct rpi_firmware { @@ -101824,7 +101824,7 @@ index dd506cd3..b980d53 100644 From 00070d8df28b59cdabc6c436f9a205e1a40a643a Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 30 Jan 2013 12:45:18 +0000 -Subject: [PATCH 053/112] bcm2835: add v4l2 camera device +Subject: [PATCH 053/141] bcm2835: add v4l2 camera device - Supports raw YUV capture, preview, JPEG and H264. - Uses videobuf2 for data transfer, using dma_buf. @@ -102233,7 +102233,7 @@ See: https://github.com/raspberrypi/linux/issues/1447#issuecomment-221303506 diff --git a/Documentation/video4linux/bcm2835-v4l2.txt b/Documentation/video4linux/bcm2835-v4l2.txt new file mode 100644 -index 0000000..c585a8f +index 0000000000000000000000000000000000000000..c585a8fadf91c5a04453e442fc29ed893c65bf99 --- /dev/null +++ b/Documentation/video4linux/bcm2835-v4l2.txt @@ -0,0 +1,60 @@ @@ -102298,7 +102298,7 @@ index 0000000..c585a8f + +$ v4l2-ctl --list-formats diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig -index 201f5c2..b798ab8 100644 +index 201f5c296a951a24b35f5a0495af7b77b121acfd..b798ab852b51379b9e2b12aac158b86fff12315f 100644 --- a/drivers/media/platform/Kconfig +++ b/drivers/media/platform/Kconfig @@ -11,6 +11,8 @@ menuconfig V4L_PLATFORM_DRIVERS @@ -102311,7 +102311,7 @@ index 201f5c2..b798ab8 100644 config VIDEO_VIA_CAMERA diff --git a/drivers/media/platform/Makefile b/drivers/media/platform/Makefile -index bbb7bd1..6fe5b3f 100644 +index bbb7bd1eb268d731608aba05305859958eb7b82c..6fe5b3fbceae92ec77ee20c1283418889dcd3d64 100644 --- a/drivers/media/platform/Makefile +++ b/drivers/media/platform/Makefile @@ -2,6 +2,8 @@ @@ -102325,7 +102325,7 @@ index bbb7bd1..6fe5b3f 100644 obj-$(CONFIG_VIDEO_VIA_CAMERA) += via-camera.o diff --git a/drivers/media/platform/bcm2835/Kconfig b/drivers/media/platform/bcm2835/Kconfig new file mode 100644 -index 0000000..99a5cbc +index 0000000000000000000000000000000000000000..99a5cbccf0f3fa66ad5190ec0942b0c232c3e824 --- /dev/null +++ b/drivers/media/platform/bcm2835/Kconfig @@ -0,0 +1,25 @@ @@ -102356,7 +102356,7 @@ index 0000000..99a5cbc +endif # VIDEO_BM2835 diff --git a/drivers/media/platform/bcm2835/Makefile b/drivers/media/platform/bcm2835/Makefile new file mode 100644 -index 0000000..f17c79c +index 0000000000000000000000000000000000000000..f17c79c33e4a07a2294907d3c748b4d62fc55e21 --- /dev/null +++ b/drivers/media/platform/bcm2835/Makefile @@ -0,0 +1,5 @@ @@ -102367,7 +102367,7 @@ index 0000000..f17c79c +ccflags-$(CONFIG_VIDEO_BCM2835) += -Idrivers/misc/vc04_services -Idrivers/misc/vc04_services/interface/vcos/linuxkernel -D__VCCOREVER__=0x04000000 diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c new file mode 100644 -index 0000000..1b16c63 +index 0000000000000000000000000000000000000000..1b16c63315195c043c41d6676ecfedd004c92cd3 --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -0,0 +1,1982 @@ @@ -104355,7 +104355,7 @@ index 0000000..1b16c63 +module_exit(bm2835_mmal_exit); diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h new file mode 100644 -index 0000000..13f426f +index 0000000000000000000000000000000000000000..13f426f5ecdffeab714d658a6f8b76e63af5fcdb --- /dev/null +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -0,0 +1,144 @@ @@ -104505,7 +104505,7 @@ index 0000000..13f426f +} diff --git a/drivers/media/platform/bcm2835/controls.c b/drivers/media/platform/bcm2835/controls.c new file mode 100644 -index 0000000..fe61330 +index 0000000000000000000000000000000000000000..fe61330ba2a64f850ff3e4930ff813f648889804 --- /dev/null +++ b/drivers/media/platform/bcm2835/controls.c @@ -0,0 +1,1345 @@ @@ -105856,7 +105856,7 @@ index 0000000..fe61330 +} diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h new file mode 100644 -index 0000000..840fd13 +index 0000000000000000000000000000000000000000..840fd139e03315b5d9ac2d5742ab589bc6b17ade --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-common.h @@ -0,0 +1,53 @@ @@ -105915,7 +105915,7 @@ index 0000000..840fd13 +}; diff --git a/drivers/media/platform/bcm2835/mmal-encodings.h b/drivers/media/platform/bcm2835/mmal-encodings.h new file mode 100644 -index 0000000..024d620 +index 0000000000000000000000000000000000000000..024d620dc1dfda006a9d36dffeeec691faf24ac5 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-encodings.h @@ -0,0 +1,127 @@ @@ -106048,7 +106048,7 @@ index 0000000..024d620 +#endif /* MMAL_ENCODINGS_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-common.h b/drivers/media/platform/bcm2835/mmal-msg-common.h new file mode 100644 -index 0000000..66e8a6e +index 0000000000000000000000000000000000000000..66e8a6edf628565aeb487662b0b503c0c562ac8a --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-common.h @@ -0,0 +1,50 @@ @@ -106104,7 +106104,7 @@ index 0000000..66e8a6e +#endif /* MMAL_MSG_COMMON_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-format.h b/drivers/media/platform/bcm2835/mmal-msg-format.h new file mode 100644 -index 0000000..123d86e +index 0000000000000000000000000000000000000000..123d86ef582b0d059d1d5d14ba9add56b7365419 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-format.h @@ -0,0 +1,81 @@ @@ -106191,7 +106191,7 @@ index 0000000..123d86e +#endif /* MMAL_MSG_FORMAT_H */ diff --git a/drivers/media/platform/bcm2835/mmal-msg-port.h b/drivers/media/platform/bcm2835/mmal-msg-port.h new file mode 100644 -index 0000000..a55c1ea +index 0000000000000000000000000000000000000000..a55c1ea2eceb190689910a6a84370f126b1e9cbb --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg-port.h @@ -0,0 +1,107 @@ @@ -106304,7 +106304,7 @@ index 0000000..a55c1ea +}; diff --git a/drivers/media/platform/bcm2835/mmal-msg.h b/drivers/media/platform/bcm2835/mmal-msg.h new file mode 100644 -index 0000000..67b1076 +index 0000000000000000000000000000000000000000..67b1076015a54646eb0a3b956afdc97e75d2a39c --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-msg.h @@ -0,0 +1,404 @@ @@ -106714,7 +106714,7 @@ index 0000000..67b1076 +}; diff --git a/drivers/media/platform/bcm2835/mmal-parameters.h b/drivers/media/platform/bcm2835/mmal-parameters.h new file mode 100644 -index 0000000..f6abb5c +index 0000000000000000000000000000000000000000..f6abb5cfa49d58277fddfb40b7ad329518bd397f --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-parameters.h @@ -0,0 +1,689 @@ @@ -107409,7 +107409,7 @@ index 0000000..f6abb5c +}; diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.c b/drivers/media/platform/bcm2835/mmal-vchiq.c new file mode 100644 -index 0000000..78132254 +index 0000000000000000000000000000000000000000..781322542d5a8295f3d7d5a3eaaf0cac29930c30 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.c @@ -0,0 +1,1916 @@ @@ -109331,7 +109331,7 @@ index 0000000..78132254 +} diff --git a/drivers/media/platform/bcm2835/mmal-vchiq.h b/drivers/media/platform/bcm2835/mmal-vchiq.h new file mode 100644 -index 0000000..9d1d11e +index 0000000000000000000000000000000000000000..9d1d11e4a53e510c04a416d92d195a7df15012d5 --- /dev/null +++ b/drivers/media/platform/bcm2835/mmal-vchiq.h @@ -0,0 +1,178 @@ @@ -109517,7 +109517,7 @@ index 0000000..9d1d11e From 758697fa8e1807aa1c5bf3cbdb01b5d9c1d70d78 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 054/112] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 054/141] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -109584,7 +109584,7 @@ Signed-off-by: Phil Elwell diff --git a/scripts/knlinfo b/scripts/knlinfo new file mode 100755 -index 0000000..263ec93 +index 0000000000000000000000000000000000000000..263ec937eaa70b4fd00bff18599db7f22671753c --- /dev/null +++ b/scripts/knlinfo @@ -0,0 +1,171 @@ @@ -109761,7 +109761,7 @@ index 0000000..263ec93 +} diff --git a/scripts/mkknlimg b/scripts/mkknlimg new file mode 100755 -index 0000000..78c5845 +index 0000000000000000000000000000000000000000..78c5845d2f01deb04b477327d83fa60624f87f98 --- /dev/null +++ b/scripts/mkknlimg @@ -0,0 +1,263 @@ @@ -110032,7 +110032,7 @@ index 0000000..78c5845 From 66780ef1ef8d7aa7ce0b4ccf17ec896e3f28f8bd Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 10 Aug 2015 09:49:15 +0100 -Subject: [PATCH 055/112] scripts/dtc: Update to upstream version 1.4.1 +Subject: [PATCH 055/141] scripts/dtc: Update to upstream version 1.4.1 Includes the new localfixups format. @@ -110065,7 +110065,7 @@ Signed-off-by: Phil Elwell 10 files changed, 1029 insertions(+), 654 deletions(-) diff --git a/scripts/dtc/checks.c b/scripts/dtc/checks.c -index 0c03ac9..88550b4 100644 +index 0c03ac9159c10a1e5eef0eca7136d246353aed16..88550b466b09a58ced505e1b1f73d66aa0e632c3 100644 --- a/scripts/dtc/checks.c +++ b/scripts/dtc/checks.c @@ -458,6 +458,8 @@ static void fixup_phandle_references(struct check *c, struct node *dt, @@ -110206,7 +110206,7 @@ index 0c03ac9..88550b4 100644 }; diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l -index 790fbf6..40bbc87 100644 +index 790fbf6cf2d75349780a5c849cdb9cdb697f5019..40bbc87d0f1dcaafd7275670cc678b970397f232 100644 --- a/scripts/dtc/dtc-lexer.l +++ b/scripts/dtc/dtc-lexer.l @@ -121,6 +121,11 @@ static void lexical_error(const char *fmt, ...); @@ -110222,7 +110222,7 @@ index 790fbf6..40bbc87 100644 DPRINT("Keyword: /memreserve/\n"); BEGIN_DEFAULT(); diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped -index ba525c2..1518525 100644 +index ba525c2f9fc28f596452999eaa2a66116446dc58..15185255fafdbebf805ad2bb2c63f0fdef4c8776 100644 --- a/scripts/dtc/dtc-lexer.lex.c_shipped +++ b/scripts/dtc/dtc-lexer.lex.c_shipped @@ -9,7 +9,7 @@ @@ -111203,7 +111203,7 @@ index ba525c2..1518525 100644 diff --git a/scripts/dtc/dtc-parser.tab.c_shipped b/scripts/dtc/dtc-parser.tab.c_shipped -index 31cec50..844c462 100644 +index 31cec50a12650a254a639a6a291ce74f07a0e2c2..844c4628962d0e3e2860edf1315bec4e21b7a810 100644 --- a/scripts/dtc/dtc-parser.tab.c_shipped +++ b/scripts/dtc/dtc-parser.tab.c_shipped @@ -65,6 +65,7 @@ @@ -112406,7 +112406,7 @@ index 31cec50..844c462 100644 } /* User semantic actions sometimes alter yychar, and that requires diff --git a/scripts/dtc/dtc-parser.tab.h_shipped b/scripts/dtc/dtc-parser.tab.h_shipped -index 30867c6..276d078 100644 +index 30867c688300e38333877360e3b05475d5b4a2a3..276d0788f8581bf1970ec8ef9c29b1981b4fe252 100644 --- a/scripts/dtc/dtc-parser.tab.h_shipped +++ b/scripts/dtc/dtc-parser.tab.h_shipped @@ -46,26 +46,27 @@ extern int yydebug; @@ -112478,7 +112478,7 @@ index 30867c6..276d078 100644 # define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_DECLARED 1 diff --git a/scripts/dtc/dtc-parser.y b/scripts/dtc/dtc-parser.y -index 000873f..bd67bac 100644 +index 000873f070fdcf3e4a11618cbfefdccb0d8e6cf9..bd67bacd543db130cc547ce7b6238ee168a62f19 100644 --- a/scripts/dtc/dtc-parser.y +++ b/scripts/dtc/dtc-parser.y @@ -19,6 +19,7 @@ @@ -112536,7 +112536,7 @@ index 000873f..bd67bac 100644 ; diff --git a/scripts/dtc/dtc.c b/scripts/dtc/dtc.c -index 5fa23c4..1f8c285 100644 +index 5fa23c406266e1ec58b9184cc81d381233f8f967..1f8c2852bf14ddad4b1312d7a81eceac947acdfe 100644 --- a/scripts/dtc/dtc.c +++ b/scripts/dtc/dtc.c @@ -31,6 +31,7 @@ int reservenum; /* Number of memory reservation slots */ @@ -112584,7 +112584,7 @@ index 5fa23c4..1f8c285 100644 usage(NULL); default: diff --git a/scripts/dtc/dtc.h b/scripts/dtc/dtc.h -index 56212c8..f163b22 100644 +index 56212c8df660396b1d9bf6752e1121990e0789ab..f163b22b14b806b637c9fe996efd02762d182e1d 100644 --- a/scripts/dtc/dtc.h +++ b/scripts/dtc/dtc.h @@ -54,6 +54,7 @@ extern int reservenum; /* Number of memory reservation slots */ @@ -112656,7 +112656,7 @@ index 56212c8..f163b22 100644 void delete_labels(struct label **labels); diff --git a/scripts/dtc/flattree.c b/scripts/dtc/flattree.c -index bd99fa2..2385137 100644 +index bd99fa2d33b85e873bd00178d6390d70f4afaa0d..238513780a5ba08c70d3995f45c35817fbabeb45 100644 --- a/scripts/dtc/flattree.c +++ b/scripts/dtc/flattree.c @@ -255,6 +255,204 @@ static int stringtable_insert(struct data *d, const char *str) @@ -112876,7 +112876,7 @@ index bd99fa2..2385137 100644 } diff --git a/scripts/dtc/version_gen.h b/scripts/dtc/version_gen.h -index 11d93e6..2595dfd 100644 +index 11d93e6d8220c45d737175d22af4ab0ccaf871a1..2595dfda020fd9e03f0beff5006f229d5e393151 100644 --- a/scripts/dtc/version_gen.h +++ b/scripts/dtc/version_gen.h @@ -1 +1 @@ @@ -112886,14 +112886,14 @@ index 11d93e6..2595dfd 100644 From f9ac798f2e40444ddc080a4fd4a08583b7e198b1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 5 Dec 2014 17:26:26 +0000 -Subject: [PATCH 056/112] fdt: Add support for the CONFIG_CMDLINE_EXTEND option +Subject: [PATCH 056/141] fdt: Add support for the CONFIG_CMDLINE_EXTEND option --- drivers/of/fdt.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c -index 3349d2a..1e26605 100644 +index 3349d2aa66346335fa3c84e485668bdbf77f6e52..1e2660514450f3f7a9d7e50c1d8cd94eb3381f48 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c @@ -960,19 +960,38 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, @@ -112944,7 +112944,7 @@ index 3349d2a..1e26605 100644 From f7644bbbf88b6d95b328c4ec0447f27e99f7fd53 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 057/112] BCM2708: Add core Device Tree support +Subject: [PATCH 057/141] BCM2708: Add core Device Tree support Add the bare minimum needed to boot BCM2708 from a Device Tree. @@ -113198,7 +113198,7 @@ BCM270X_DT: Use clk_core for I2C interfaces create mode 100644 arch/arm/boot/dts/overlays/wittypi-overlay.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 95c1923..1af92d7 100644 +index 95c1923ce6fa3d32bdeb2e3caedf0ad48eb4d679..1af92d7f71905fedfa7e19f72d1627bd0f7d812c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1,5 +1,26 @@ @@ -113251,7 +113251,7 @@ index 95c1923..1af92d7 100644 +endif diff --git a/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts new file mode 100644 -index 0000000..0ac7725 +index 0000000000000000000000000000000000000000..0ac7725224aea4f490c670316f0ab8e6e2eee966 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b-plus.dts @@ -0,0 +1,154 @@ @@ -113411,7 +113411,7 @@ index 0000000..0ac7725 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-b.dts b/arch/arm/boot/dts/bcm2708-rpi-b.dts new file mode 100644 -index 0000000..8474834 +index 0000000000000000000000000000000000000000..847483495a55f6e6567c81c10cf8023681478bcc --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-b.dts @@ -0,0 +1,144 @@ @@ -113561,7 +113561,7 @@ index 0000000..8474834 +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dts b/arch/arm/boot/dts/bcm2708-rpi-cm.dts new file mode 100755 -index 0000000..cd0e1ac +index 0000000000000000000000000000000000000000..cd0e1acc22f8ded801f29d331570828e5582247b --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dts @@ -0,0 +1,102 @@ @@ -113669,7 +113669,7 @@ index 0000000..cd0e1ac +}; diff --git a/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi new file mode 100644 -index 0000000..90e330d +index 0000000000000000000000000000000000000000..90e330d1978da8624c042d52a38aa5d6d95d2377 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708-rpi-cm.dtsi @@ -0,0 +1,52 @@ @@ -113727,7 +113727,7 @@ index 0000000..90e330d +}; diff --git a/arch/arm/boot/dts/bcm2708.dtsi b/arch/arm/boot/dts/bcm2708.dtsi new file mode 100644 -index 0000000..f5a44cd +index 0000000000000000000000000000000000000000..f5a44cd4fef0ee221ed6ae1c43ca81dabffa110d --- /dev/null +++ b/arch/arm/boot/dts/bcm2708.dtsi @@ -0,0 +1,40 @@ @@ -113773,7 +113773,7 @@ index 0000000..f5a44cd +}; diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi new file mode 100644 -index 0000000..6ea37c5 +index 0000000000000000000000000000000000000000..6ea37c57f7b1f298c10a599982f347098219d468 --- /dev/null +++ b/arch/arm/boot/dts/bcm2708_common.dtsi @@ -0,0 +1,438 @@ @@ -114217,7 +114217,7 @@ index 0000000..6ea37c5 +}; diff --git a/arch/arm/boot/dts/bcm2709-rpi-2-b.dts b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts new file mode 100644 -index 0000000..5e23c04 +index 0000000000000000000000000000000000000000..5e23c04f453ddadb97d244089100f3ff857a2603 --- /dev/null +++ b/arch/arm/boot/dts/bcm2709-rpi-2-b.dts @@ -0,0 +1,154 @@ @@ -114377,7 +114377,7 @@ index 0000000..5e23c04 +}; diff --git a/arch/arm/boot/dts/bcm2709.dtsi b/arch/arm/boot/dts/bcm2709.dtsi new file mode 100644 -index 0000000..a8cfd7c +index 0000000000000000000000000000000000000000..a8cfd7c4df5bcf7692d13882833c97852649932d --- /dev/null +++ b/arch/arm/boot/dts/bcm2709.dtsi @@ -0,0 +1,102 @@ @@ -114485,7 +114485,7 @@ index 0000000..a8cfd7c +}; diff --git a/arch/arm/boot/dts/bcm2710-rpi-3-b.dts b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts new file mode 100644 -index 0000000..0979a27 +index 0000000000000000000000000000000000000000..0979a27f05d97602ddbf550f7fe50cfaff14c151 --- /dev/null +++ b/arch/arm/boot/dts/bcm2710-rpi-3-b.dts @@ -0,0 +1,201 @@ @@ -114692,7 +114692,7 @@ index 0000000..0979a27 +}; diff --git a/arch/arm/boot/dts/bcm2710.dtsi b/arch/arm/boot/dts/bcm2710.dtsi new file mode 100644 -index 0000000..1a48686 +index 0000000000000000000000000000000000000000..1a48686a15d44dc6fbdddc569d564779f76ae5d1 --- /dev/null +++ b/arch/arm/boot/dts/bcm2710.dtsi @@ -0,0 +1,102 @@ @@ -114800,7 +114800,7 @@ index 0000000..1a48686 +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm.dts b/arch/arm/boot/dts/bcm2835-rpi-cm.dts new file mode 100644 -index 0000000..c6e6860 +index 0000000000000000000000000000000000000000..c6e6860a6d4356a613f4f7ab41c6befc76740a15 --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi-cm.dts @@ -0,0 +1,93 @@ @@ -114899,7 +114899,7 @@ index 0000000..c6e6860 +}; diff --git a/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi b/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi new file mode 100644 -index 0000000..9c4000f +index 0000000000000000000000000000000000000000..9c4000fc686a9882b9ddde24fdcf937d52b0f86f --- /dev/null +++ b/arch/arm/boot/dts/bcm2835-rpi-cm.dtsi @@ -0,0 +1,30 @@ @@ -114935,7 +114935,7 @@ index 0000000..9c4000f +}; diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile new file mode 100644 -index 0000000..0adb5b9 +index 0000000000000000000000000000000000000000..0adb5b92c047cb7e12871cf75515f822924924cd --- /dev/null +++ b/arch/arm/boot/dts/overlays/Makefile @@ -0,0 +1,99 @@ @@ -115040,7 +115040,7 @@ index 0000000..0adb5b9 +clean-files := *.dtbo diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README new file mode 100644 -index 0000000..1516cc2 +index 0000000000000000000000000000000000000000..1516cc2e1616bb5e0cb519e05eee6776fe84e52a --- /dev/null +++ b/arch/arm/boot/dts/overlays/README @@ -0,0 +1,1161 @@ @@ -116207,7 +116207,7 @@ index 0000000..1516cc2 +http://www.raspberrypi.org/documentation/configuration/device-tree.md diff --git a/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts new file mode 100644 -index 0000000..24fcd58 +index 0000000000000000000000000000000000000000..24fcd58fd1dc61d97a77def3d5d1f7c65130dde6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/adau1977-adc-overlay.dts @@ -0,0 +1,53 @@ @@ -116266,7 +116266,7 @@ index 0000000..24fcd58 +}; diff --git a/arch/arm/boot/dts/overlays/ads7846-overlay.dts b/arch/arm/boot/dts/overlays/ads7846-overlay.dts new file mode 100644 -index 0000000..edf2dc9 +index 0000000000000000000000000000000000000000..edf2dc9d5d5f6830508edabf2d04c42d27ba9b41 --- /dev/null +++ b/arch/arm/boot/dts/overlays/ads7846-overlay.dts @@ -0,0 +1,89 @@ @@ -116361,7 +116361,7 @@ index 0000000..edf2dc9 +}; diff --git a/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts new file mode 100644 -index 0000000..208849d +index 0000000000000000000000000000000000000000..208849d5c39274ed0aa557f63a19430a451a95f5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/akkordion-iqdacplus-overlay.dts @@ -0,0 +1,46 @@ @@ -116413,7 +116413,7 @@ index 0000000..208849d +}; diff --git a/arch/arm/boot/dts/overlays/at86rf233-overlay.dts b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts new file mode 100644 -index 0000000..880c753 +index 0000000000000000000000000000000000000000..880c7539d496fb10672ee573f7c51b8a213cecf7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/at86rf233-overlay.dts @@ -0,0 +1,57 @@ @@ -116476,7 +116476,7 @@ index 0000000..880c753 +}; diff --git a/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts new file mode 100644 -index 0000000..4ed66577 +index 0000000000000000000000000000000000000000..4ed66577fa1d59e7b167ffdfd5a3f0de066cded2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/audioinjector-wm8731-audio-overlay.dts @@ -0,0 +1,39 @@ @@ -116521,7 +116521,7 @@ index 0000000..4ed66577 +}; diff --git a/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts new file mode 100644 -index 0000000..782b171 +index 0000000000000000000000000000000000000000..782b1715467e943c18fe936cc76448f3db960fbc --- /dev/null +++ b/arch/arm/boot/dts/overlays/bmp085_i2c-sensor-overlay.dts @@ -0,0 +1,23 @@ @@ -116550,7 +116550,7 @@ index 0000000..782b171 +}; diff --git a/arch/arm/boot/dts/overlays/dht11-overlay.dts b/arch/arm/boot/dts/overlays/dht11-overlay.dts new file mode 100644 -index 0000000..9bf67fd +index 0000000000000000000000000000000000000000..9bf67fd57bada3c3e06c09744fb184767bab5d14 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dht11-overlay.dts @@ -0,0 +1,39 @@ @@ -116595,7 +116595,7 @@ index 0000000..9bf67fd +}; diff --git a/arch/arm/boot/dts/overlays/dpi24-overlay.dts b/arch/arm/boot/dts/overlays/dpi24-overlay.dts new file mode 100644 -index 0000000..e4dbe40 +index 0000000000000000000000000000000000000000..e4dbe40218a008ef4028c1214740c3d6bc574724 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dpi24-overlay.dts @@ -0,0 +1,31 @@ @@ -116632,7 +116632,7 @@ index 0000000..e4dbe40 +}; diff --git a/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts new file mode 100644 -index 0000000..fc48bd1 +index 0000000000000000000000000000000000000000..fc48bd1eac605115c3b89fddfe39f5ea6181459f --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc-otg-overlay.dts @@ -0,0 +1,20 @@ @@ -116658,7 +116658,7 @@ index 0000000..fc48bd1 +}; diff --git a/arch/arm/boot/dts/overlays/dwc2-overlay.dts b/arch/arm/boot/dts/overlays/dwc2-overlay.dts new file mode 100644 -index 0000000..527abc9 +index 0000000000000000000000000000000000000000..527abc9f0ddf71f4dc7d58336d87684c931cc2f3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/dwc2-overlay.dts @@ -0,0 +1,29 @@ @@ -116693,7 +116693,7 @@ index 0000000..527abc9 +}; diff --git a/arch/arm/boot/dts/overlays/enc28j60-overlay.dts b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts new file mode 100644 -index 0000000..db8a8fe +index 0000000000000000000000000000000000000000..db8a8feed94c010e368065fdd88b028622303b6f --- /dev/null +++ b/arch/arm/boot/dts/overlays/enc28j60-overlay.dts @@ -0,0 +1,53 @@ @@ -116752,7 +116752,7 @@ index 0000000..db8a8fe +}; diff --git a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts new file mode 100644 -index 0000000..a2d6bc7 +index 0000000000000000000000000000000000000000..a2d6bc79f4cd2604e6c65c000668cbb228327fe6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts @@ -0,0 +1,45 @@ @@ -116803,7 +116803,7 @@ index 0000000..a2d6bc7 +}; diff --git a/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts new file mode 100644 -index 0000000..ff8cb36 +index 0000000000000000000000000000000000000000..ff8cb36d94d4940d5151ace24afc4ad1a9aa9fb6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/gpio-poweroff-overlay.dts @@ -0,0 +1,34 @@ @@ -116843,7 +116843,7 @@ index 0000000..ff8cb36 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts new file mode 100644 -index 0000000..5f57855 +index 0000000000000000000000000000000000000000..5f5785534fd3d9a97309796f842c8881e2d6979a --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-amp-overlay.dts @@ -0,0 +1,39 @@ @@ -116888,7 +116888,7 @@ index 0000000..5f57855 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts new file mode 100644 -index 0000000..0b74fdc +index 0000000000000000000000000000000000000000..0b74fdc6e0f640967a5681b28360e33b8d4b7cfa --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -116928,7 +116928,7 @@ index 0000000..0b74fdc +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts new file mode 100644 -index 0000000..2f078d4 +index 0000000000000000000000000000000000000000..2f078d4747ccfdc5172e24b18ce65454f1219b9d --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-dacplus-overlay.dts @@ -0,0 +1,56 @@ @@ -116990,7 +116990,7 @@ index 0000000..2f078d4 +}; diff --git a/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts new file mode 100644 -index 0000000..f5e41f4 +index 0000000000000000000000000000000000000000..f5e41f48ba4fed92194ff5a63d13c70bb2d1c091 --- /dev/null +++ b/arch/arm/boot/dts/overlays/hifiberry-digi-overlay.dts @@ -0,0 +1,39 @@ @@ -117035,7 +117035,7 @@ index 0000000..f5e41f4 +}; diff --git a/arch/arm/boot/dts/overlays/hy28a-overlay.dts b/arch/arm/boot/dts/overlays/hy28a-overlay.dts new file mode 100644 -index 0000000..ac0f3c2 +index 0000000000000000000000000000000000000000..ac0f3c28ea855a620dc6a3385d9d15009f26358d --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28a-overlay.dts @@ -0,0 +1,93 @@ @@ -117134,7 +117134,7 @@ index 0000000..ac0f3c2 +}; diff --git a/arch/arm/boot/dts/overlays/hy28b-overlay.dts b/arch/arm/boot/dts/overlays/hy28b-overlay.dts new file mode 100644 -index 0000000..8018aeb +index 0000000000000000000000000000000000000000..8018aebde8e557f45ffd63eb86f6c7a1048fe3cb --- /dev/null +++ b/arch/arm/boot/dts/overlays/hy28b-overlay.dts @@ -0,0 +1,148 @@ @@ -117288,7 +117288,7 @@ index 0000000..8018aeb +}; diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts new file mode 100644 -index 0000000..2a2dc98 +index 0000000000000000000000000000000000000000..2a2dc986770cfb036492ba8de19cbaff521c5fd5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts @@ -0,0 +1,28 @@ @@ -117322,7 +117322,7 @@ index 0000000..2a2dc98 + diff --git a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts new file mode 100644 -index 0000000..976d38e +index 0000000000000000000000000000000000000000..976d38e781539093e91fe641497d8a6701dd6035 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts @@ -0,0 +1,139 @@ @@ -117467,7 +117467,7 @@ index 0000000..976d38e +}; diff --git a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts new file mode 100644 -index 0000000..d1ffd23 +index 0000000000000000000000000000000000000000..d1ffd2326669e46ad68939f94713cc992dee57e0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts @@ -0,0 +1,26 @@ @@ -117499,7 +117499,7 @@ index 0000000..d1ffd23 +}; diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts new file mode 100644 -index 0000000..4065647 +index 0000000000000000000000000000000000000000..40656474dfc16505433221a745c1d129c2737399 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts @@ -0,0 +1,69 @@ @@ -117574,7 +117574,7 @@ index 0000000..4065647 +}; diff --git a/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts new file mode 100644 -index 0000000..1f4fc7b +index 0000000000000000000000000000000000000000..1f4fc7b570604a50ff6d3f6d676c3c4642d66b17 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c0-bcm2708-overlay.dts @@ -0,0 +1,61 @@ @@ -117641,7 +117641,7 @@ index 0000000..1f4fc7b +}; diff --git a/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts new file mode 100644 -index 0000000..e303b9c +index 0000000000000000000000000000000000000000..e303b9c61c82a28eab7b48f6b085661574d5a849 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2c1-bcm2708-overlay.dts @@ -0,0 +1,37 @@ @@ -117684,7 +117684,7 @@ index 0000000..e303b9c +}; diff --git a/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts new file mode 100644 -index 0000000..30c356d6 +index 0000000000000000000000000000000000000000..30c356d6070cc3b1dfd1d5a07dc1021339bf5bd2 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2s-gpio28-31-overlay.dts @@ -0,0 +1,18 @@ @@ -117708,7 +117708,7 @@ index 0000000..30c356d6 +}; diff --git a/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts b/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts new file mode 100644 -index 0000000..a11160a +index 0000000000000000000000000000000000000000..a11160afa4bfb2aeda5937b3b1138bb1f9b9b0f8 --- /dev/null +++ b/arch/arm/boot/dts/overlays/i2s-mmap-overlay.dts @@ -0,0 +1,13 @@ @@ -117727,7 +117727,7 @@ index 0000000..a11160a +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts new file mode 100644 -index 0000000..0d35c85 +index 0000000000000000000000000000000000000000..0d35c85382bb5766b3eeb9de1bd4a94621229e4b --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dac-overlay.dts @@ -0,0 +1,43 @@ @@ -117776,7 +117776,7 @@ index 0000000..0d35c85 +}; diff --git a/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts new file mode 100644 -index 0000000..1d0663e +index 0000000000000000000000000000000000000000..1d0663e19e7bf7395957ae49b501e5b15ecf3881 --- /dev/null +++ b/arch/arm/boot/dts/overlays/iqaudio-dacplus-overlay.dts @@ -0,0 +1,43 @@ @@ -117825,7 +117825,7 @@ index 0000000..1d0663e +}; diff --git a/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts new file mode 100644 -index 0000000..312632a +index 0000000000000000000000000000000000000000..312632ad376d5b8c8ff1dbf31fa03d0d18181d94 --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-dac-overlay.dts @@ -0,0 +1,43 @@ @@ -117874,7 +117874,7 @@ index 0000000..312632a +}; diff --git a/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts new file mode 100644 -index 0000000..cbbede9 +index 0000000000000000000000000000000000000000..cbbede9a541166ba257122918081982016e0b7eb --- /dev/null +++ b/arch/arm/boot/dts/overlays/justboom-digi-overlay.dts @@ -0,0 +1,39 @@ @@ -117919,7 +117919,7 @@ index 0000000..cbbede9 +}; diff --git a/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts b/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts new file mode 100644 -index 0000000..7d5d82b +index 0000000000000000000000000000000000000000..7d5d82bdf4c41cfbafada51a6d23cbd57822828f --- /dev/null +++ b/arch/arm/boot/dts/overlays/lirc-rpi-overlay.dts @@ -0,0 +1,57 @@ @@ -117982,7 +117982,7 @@ index 0000000..7d5d82b +}; diff --git a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts new file mode 100644 -index 0000000..412f966 +index 0000000000000000000000000000000000000000..412f966a3cc0a312771b7182310a7045fb923224 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts @@ -0,0 +1,54 @@ @@ -118042,7 +118042,7 @@ index 0000000..412f966 + diff --git a/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts new file mode 100755 -index 0000000..c96cdae +index 0000000000000000000000000000000000000000..c96cdae27fb15055c4a6ec55d1ee45644768c392 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can0-overlay.dts @@ -0,0 +1,73 @@ @@ -118121,7 +118121,7 @@ index 0000000..c96cdae +}; diff --git a/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts new file mode 100644 -index 0000000..67bd0d9 +index 0000000000000000000000000000000000000000..67bd0d9bdaa2ff767d284010a69ecfe3f2aa1fd1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mcp2515-can1-overlay.dts @@ -0,0 +1,73 @@ @@ -118200,7 +118200,7 @@ index 0000000..67bd0d9 +}; diff --git a/arch/arm/boot/dts/overlays/mmc-overlay.dts b/arch/arm/boot/dts/overlays/mmc-overlay.dts new file mode 100644 -index 0000000..d32b02c +index 0000000000000000000000000000000000000000..d32b02ca01ced5ab3de00d66d5412c8fda4bc510 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mmc-overlay.dts @@ -0,0 +1,38 @@ @@ -118244,7 +118244,7 @@ index 0000000..d32b02c +}; diff --git a/arch/arm/boot/dts/overlays/mz61581-overlay.dts b/arch/arm/boot/dts/overlays/mz61581-overlay.dts new file mode 100644 -index 0000000..2c29aae +index 0000000000000000000000000000000000000000..2c29aaed44c5959d7f0df2a3baf2af052b24b6b4 --- /dev/null +++ b/arch/arm/boot/dts/overlays/mz61581-overlay.dts @@ -0,0 +1,117 @@ @@ -118367,7 +118367,7 @@ index 0000000..2c29aae +}; diff --git a/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts b/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts new file mode 100644 -index 0000000..14a59dc +index 0000000000000000000000000000000000000000..14a59dcf13ca64eb0bdbd34d70690a11abe83cfa --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-act-led-overlay.dts @@ -0,0 +1,27 @@ @@ -118400,7 +118400,7 @@ index 0000000..14a59dc +}; diff --git a/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts b/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts new file mode 100644 -index 0000000..68f6069 +index 0000000000000000000000000000000000000000..68f6069dd24cbf6a2ed11365ac0717e36879abe3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-disable-bt-overlay.dts @@ -0,0 +1,46 @@ @@ -118452,7 +118452,7 @@ index 0000000..68f6069 +}; diff --git a/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts b/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts new file mode 100644 -index 0000000..17d04cf +index 0000000000000000000000000000000000000000..17d04cf87195a6ff192e1ddbe4f92b1afa9e5ddb --- /dev/null +++ b/arch/arm/boot/dts/overlays/pi3-miniuart-bt-overlay.dts @@ -0,0 +1,64 @@ @@ -118522,7 +118522,7 @@ index 0000000..17d04cf +}; diff --git a/arch/arm/boot/dts/overlays/piscreen-overlay.dts b/arch/arm/boot/dts/overlays/piscreen-overlay.dts new file mode 100644 -index 0000000..40a1f29 +index 0000000000000000000000000000000000000000..40a1f295346e39130a9d5a97844163c434b19e82 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen-overlay.dts @@ -0,0 +1,102 @@ @@ -118630,7 +118630,7 @@ index 0000000..40a1f29 +}; diff --git a/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts new file mode 100644 -index 0000000..9c0bed8 +index 0000000000000000000000000000000000000000..9c0bed893057b9129c8f16b0b695b85b1f634597 --- /dev/null +++ b/arch/arm/boot/dts/overlays/piscreen2r-overlay.dts @@ -0,0 +1,106 @@ @@ -118742,7 +118742,7 @@ index 0000000..9c0bed8 + diff --git a/arch/arm/boot/dts/overlays/pitft22-overlay.dts b/arch/arm/boot/dts/overlays/pitft22-overlay.dts new file mode 100644 -index 0000000..894ba22 +index 0000000000000000000000000000000000000000..894ba2292f6be76356f3ab39376d84ebd72fa29d --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft22-overlay.dts @@ -0,0 +1,69 @@ @@ -118817,7 +118817,7 @@ index 0000000..894ba22 +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts new file mode 100644 -index 0000000..5c07526 +index 0000000000000000000000000000000000000000..5c0752655c70692e1c63f2f662e5b541c4be3617 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-capacitive-overlay.dts @@ -0,0 +1,91 @@ @@ -118914,7 +118914,7 @@ index 0000000..5c07526 +}; diff --git a/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts new file mode 100644 -index 0000000..ed2afc2 +index 0000000000000000000000000000000000000000..ed2afc2f7fd6528f4e6d75bb2d534307ed020720 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pitft28-resistive-overlay.dts @@ -0,0 +1,121 @@ @@ -119041,7 +119041,7 @@ index 0000000..ed2afc2 +}; diff --git a/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts new file mode 100644 -index 0000000..40bf0e1 +index 0000000000000000000000000000000000000000..40bf0e11015f5abebd0d4139276da888d728d569 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pps-gpio-overlay.dts @@ -0,0 +1,34 @@ @@ -119081,7 +119081,7 @@ index 0000000..40bf0e1 +}; diff --git a/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts new file mode 100644 -index 0000000..18e4e4f +index 0000000000000000000000000000000000000000..18e4e4fa9465c87eb96c8d712a9967c4805c7176 --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-2chan-overlay.dts @@ -0,0 +1,53 @@ @@ -119140,7 +119140,7 @@ index 0000000..18e4e4f +}; diff --git a/arch/arm/boot/dts/overlays/pwm-overlay.dts b/arch/arm/boot/dts/overlays/pwm-overlay.dts new file mode 100644 -index 0000000..bf030a6 +index 0000000000000000000000000000000000000000..bf030a6d1545448faf5e7992a0dc5c505522433e --- /dev/null +++ b/arch/arm/boot/dts/overlays/pwm-overlay.dts @@ -0,0 +1,49 @@ @@ -119195,7 +119195,7 @@ index 0000000..bf030a6 +}; diff --git a/arch/arm/boot/dts/overlays/qca7000-overlay.dts b/arch/arm/boot/dts/overlays/qca7000-overlay.dts new file mode 100644 -index 0000000..b4e6013 +index 0000000000000000000000000000000000000000..b4e601396c4955b9e5de3a639d9afd74d051e3fd --- /dev/null +++ b/arch/arm/boot/dts/overlays/qca7000-overlay.dts @@ -0,0 +1,52 @@ @@ -119253,7 +119253,7 @@ index 0000000..b4e6013 +}; diff --git a/arch/arm/boot/dts/overlays/raspidac3-overlay.dts b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts new file mode 100644 -index 0000000..2fac57c +index 0000000000000000000000000000000000000000..2fac57ca179fcf114655ea91dbef419c16aceb79 --- /dev/null +++ b/arch/arm/boot/dts/overlays/raspidac3-overlay.dts @@ -0,0 +1,45 @@ @@ -119304,7 +119304,7 @@ index 0000000..2fac57c +}; diff --git a/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts new file mode 100644 -index 0000000..c021d02 +index 0000000000000000000000000000000000000000..c021d02bb75ff5ceb5c5066d00e4bca942554032 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-backlight-overlay.dts @@ -0,0 +1,21 @@ @@ -119331,7 +119331,7 @@ index 0000000..c021d02 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts new file mode 100644 -index 0000000..1523eae +index 0000000000000000000000000000000000000000..1523eae9c39997aa68cfa583ada92a92395bb1e0 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts @@ -0,0 +1,34 @@ @@ -119371,7 +119371,7 @@ index 0000000..1523eae +}; diff --git a/arch/arm/boot/dts/overlays/rpi-display-overlay.dts b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts new file mode 100644 -index 0000000..d7e72ee +index 0000000000000000000000000000000000000000..d7e72eef594e08b309ffbaa04f43c68909c08f36 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-display-overlay.dts @@ -0,0 +1,89 @@ @@ -119466,7 +119466,7 @@ index 0000000..d7e72ee +}; diff --git a/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts new file mode 100644 -index 0000000..2e53a17 +index 0000000000000000000000000000000000000000..2e53a17491706bdb6245426b548a54960a40966f --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-ft5406-overlay.dts @@ -0,0 +1,17 @@ @@ -119489,7 +119489,7 @@ index 0000000..2e53a17 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts new file mode 100644 -index 0000000..8332d01 +index 0000000000000000000000000000000000000000..8332d0159a45b29952d0ad1a8fda339d4fdbee3e --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-proto-overlay.dts @@ -0,0 +1,39 @@ @@ -119534,7 +119534,7 @@ index 0000000..8332d01 +}; diff --git a/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts new file mode 100644 -index 0000000..2715324 +index 0000000000000000000000000000000000000000..27153240e1be595ae07c7ec74db1615532904140 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rpi-sense-overlay.dts @@ -0,0 +1,47 @@ @@ -119587,7 +119587,7 @@ index 0000000..2715324 +}; diff --git a/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts new file mode 100644 -index 0000000..16b1247 +index 0000000000000000000000000000000000000000..16b1247bfa618ff85936ddf78c3aea58075eaa67 --- /dev/null +++ b/arch/arm/boot/dts/overlays/rra-digidac1-wm8741-audio-overlay.dts @@ -0,0 +1,81 @@ @@ -119674,7 +119674,7 @@ index 0000000..16b1247 +}; diff --git a/arch/arm/boot/dts/overlays/sdhost-overlay.dts b/arch/arm/boot/dts/overlays/sdhost-overlay.dts new file mode 100644 -index 0000000..a431177 +index 0000000000000000000000000000000000000000..a431177a1c9d320d5432ea448ad4d0f696c34525 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdhost-overlay.dts @@ -0,0 +1,32 @@ @@ -119712,7 +119712,7 @@ index 0000000..a431177 +}; diff --git a/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts new file mode 100644 -index 0000000..46d4538 +index 0000000000000000000000000000000000000000..46d453859b31f5c700a8a2e39a2c209330bc108f --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdio-1bit-overlay.dts @@ -0,0 +1,36 @@ @@ -119754,7 +119754,7 @@ index 0000000..46d4538 +}; diff --git a/arch/arm/boot/dts/overlays/sdio-overlay.dts b/arch/arm/boot/dts/overlays/sdio-overlay.dts new file mode 100644 -index 0000000..398bd81 +index 0000000000000000000000000000000000000000..398bd812c716c9e472fbac5aba4fe882114c65d1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdio-overlay.dts @@ -0,0 +1,36 @@ @@ -119796,7 +119796,7 @@ index 0000000..398bd81 +}; diff --git a/arch/arm/boot/dts/overlays/sdtweak-overlay.dts b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts new file mode 100644 -index 0000000..e4a4677 +index 0000000000000000000000000000000000000000..e4a4677f6b20da6b51751e9675c1c276ca4d2051 --- /dev/null +++ b/arch/arm/boot/dts/overlays/sdtweak-overlay.dts @@ -0,0 +1,23 @@ @@ -119825,7 +119825,7 @@ index 0000000..e4a4677 +}; diff --git a/arch/arm/boot/dts/overlays/smi-dev-overlay.dts b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts new file mode 100644 -index 0000000..b610d82 +index 0000000000000000000000000000000000000000..b610d828360810e80133850adf7b459c66b3ed5d --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-dev-overlay.dts @@ -0,0 +1,18 @@ @@ -119849,7 +119849,7 @@ index 0000000..b610d82 +}; diff --git a/arch/arm/boot/dts/overlays/smi-nand-overlay.dts b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts new file mode 100644 -index 0000000..13ce0b7 +index 0000000000000000000000000000000000000000..13ce0b7cfb242df1019f91ed2fc03f514927c3e7 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-nand-overlay.dts @@ -0,0 +1,69 @@ @@ -119924,7 +119924,7 @@ index 0000000..13ce0b7 +}; diff --git a/arch/arm/boot/dts/overlays/smi-overlay.dts b/arch/arm/boot/dts/overlays/smi-overlay.dts new file mode 100644 -index 0000000..095f52c +index 0000000000000000000000000000000000000000..095f52c355fd6382233d8a471c3590a4275d6c75 --- /dev/null +++ b/arch/arm/boot/dts/overlays/smi-overlay.dts @@ -0,0 +1,37 @@ @@ -119967,7 +119967,7 @@ index 0000000..095f52c +}; diff --git a/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts new file mode 100644 -index 0000000..9648063 +index 0000000000000000000000000000000000000000..9648063d5963f2f6ec8f31038f3af5820a8135a6 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi-gpio35-39-overlay.dts @@ -0,0 +1,31 @@ @@ -120004,7 +120004,7 @@ index 0000000..9648063 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts new file mode 100644 -index 0000000..71c2439 +index 0000000000000000000000000000000000000000..71c243947004fa887998065df9c259b50edfa428 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -120067,7 +120067,7 @@ index 0000000..71c2439 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts new file mode 100644 -index 0000000..2ae0885 +index 0000000000000000000000000000000000000000..2ae0885cf1e7fb7420f65e538310ab1addafbece --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -120142,7 +120142,7 @@ index 0000000..2ae0885 +}; diff --git a/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts new file mode 100644 -index 0000000..8f79044 +index 0000000000000000000000000000000000000000..8f79044cd8f47ea055394822cc380497c985c7e5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi1-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -120229,7 +120229,7 @@ index 0000000..8f79044 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts new file mode 100644 -index 0000000..6f57bc7 +index 0000000000000000000000000000000000000000..6f57bc710fe123028a5a216063733f0cea9bbd54 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-1cs-overlay.dts @@ -0,0 +1,57 @@ @@ -120292,7 +120292,7 @@ index 0000000..6f57bc7 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts new file mode 100644 -index 0000000..d090631 +index 0000000000000000000000000000000000000000..d090631d36821b0c89833b9f217216f0b134a8f3 --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-2cs-overlay.dts @@ -0,0 +1,69 @@ @@ -120367,7 +120367,7 @@ index 0000000..d090631 +}; diff --git a/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts new file mode 100644 -index 0000000..e258672 +index 0000000000000000000000000000000000000000..e2586728c311829462f6a4b3b348e35603f033ce --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi2-3cs-overlay.dts @@ -0,0 +1,81 @@ @@ -120454,7 +120454,7 @@ index 0000000..e258672 +}; diff --git a/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts new file mode 100644 -index 0000000..ed2b053 +index 0000000000000000000000000000000000000000..ed2b053aef23e0b1b34d8d3cb888b2b196758f59 --- /dev/null +++ b/arch/arm/boot/dts/overlays/tinylcd35-overlay.dts @@ -0,0 +1,224 @@ @@ -120684,7 +120684,7 @@ index 0000000..ed2b053 +}; diff --git a/arch/arm/boot/dts/overlays/uart1-overlay.dts b/arch/arm/boot/dts/overlays/uart1-overlay.dts new file mode 100644 -index 0000000..fa73e1f +index 0000000000000000000000000000000000000000..fa73e1feaeb1bf53a6755e81a998e71cd8c7eda9 --- /dev/null +++ b/arch/arm/boot/dts/overlays/uart1-overlay.dts @@ -0,0 +1,38 @@ @@ -120728,7 +120728,7 @@ index 0000000..fa73e1f +}; diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts new file mode 100644 -index 0000000..a4ca2ca +index 0000000000000000000000000000000000000000..a4ca2cabd4cd19d3a82ad1135604dfa52784fb3f --- /dev/null +++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts @@ -0,0 +1,129 @@ @@ -120863,7 +120863,7 @@ index 0000000..a4ca2ca +}; diff --git a/arch/arm/boot/dts/overlays/vga666-overlay.dts b/arch/arm/boot/dts/overlays/vga666-overlay.dts new file mode 100644 -index 0000000..7fcab96 +index 0000000000000000000000000000000000000000..7fcab963eb4aed4b9edea94c9e60deb7650e0eb5 --- /dev/null +++ b/arch/arm/boot/dts/overlays/vga666-overlay.dts @@ -0,0 +1,30 @@ @@ -120899,7 +120899,7 @@ index 0000000..7fcab96 +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts new file mode 100644 -index 0000000..29a3b48 +index 0000000000000000000000000000000000000000..29a3b48d19ab36b814c09e4cc4eef6d9e2022da1 --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts @@ -0,0 +1,39 @@ @@ -120944,7 +120944,7 @@ index 0000000..29a3b48 +}; diff --git a/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts new file mode 100644 -index 0000000..66a98f6 +index 0000000000000000000000000000000000000000..66a98f6c9601f51483f27803995bec772bb3350e --- /dev/null +++ b/arch/arm/boot/dts/overlays/w1-gpio-pullup-overlay.dts @@ -0,0 +1,41 @@ @@ -120991,7 +120991,7 @@ index 0000000..66a98f6 +}; diff --git a/arch/arm/boot/dts/overlays/wittypi-overlay.dts b/arch/arm/boot/dts/overlays/wittypi-overlay.dts new file mode 100644 -index 0000000..8498134 +index 0000000000000000000000000000000000000000..8498134fdbb3912e9ce18282b53084d871a82370 --- /dev/null +++ b/arch/arm/boot/dts/overlays/wittypi-overlay.dts @@ -0,0 +1,44 @@ @@ -121043,7 +121043,7 @@ index 0000000..8498134 From 48c511df04c403d098846ea5a46094112e0f50c1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 20:00:21 +0000 -Subject: [PATCH 058/112] BCM270X_DT: Add a .dtbo target, use for overlays +Subject: [PATCH 058/141] BCM270X_DT: Add a .dtbo target, use for overlays Change the filenames and extensions to keep the pre-DDT style of overlay (-overlay.dtb) distinct from new ones that use a @@ -121061,7 +121061,7 @@ Signed-off-by: Phil Elwell 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore -index 3c79f85..eaaeb17 100644 +index 3c79f85975aaa26c7c2e353fefc54d71d89bc5bf..eaaeb17e5986e5f7178b2851169444ac7e45be8d 100644 --- a/arch/arm/boot/.gitignore +++ b/arch/arm/boot/.gitignore @@ -3,4 +3,4 @@ zImage @@ -121071,7 +121071,7 @@ index 3c79f85..eaaeb17 100644 -*.dtb +*.dtb* diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst -index a1be75d..ad8dc1c 100644 +index a1be75d0a5fd3fbf4742e555046896ea6fa6fe65..ad8dc1c93d04bc929b551c5a47f67d244116c7e7 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -27,6 +27,7 @@ ifeq ("$(dtbinst-root)", "$(obj)") @@ -121105,7 +121105,7 @@ index a1be75d..ad8dc1c 100644 .PHONY: $(PHONY) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index ddf83d0..c819ddc 100644 +index ddf83d0181e73d30fb86f68c0fa0a3f888335c0c..c819ddc5b7662eb03c158f9d8fcf8fe965bf577b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -306,6 +306,16 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \ @@ -121129,7 +121129,7 @@ index ddf83d0..c819ddc 100644 From 4d714e24e5ba1155db351cc3e88ca050732f82e4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 8 Apr 2016 17:43:27 +0100 -Subject: [PATCH 059/112] BCM270X_DT: Don't generate "linux,phandle" props +Subject: [PATCH 059/141] BCM270X_DT: Don't generate "linux,phandle" props The EPAPR standard says to use "phandle" properties to store phandles, rather than the deprecated "linux,phandle" version. By default, dtc @@ -121142,7 +121142,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index c819ddc..b36099a 100644 +index c819ddc5b7662eb03c158f9d8fcf8fe965bf577b..b36099ab736a1373f61067a26c6e0d599d6c9a35 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -308,7 +308,7 @@ $(obj)/%.dtb: $(src)/%.dts FORCE @@ -121158,7 +121158,7 @@ index c819ddc..b36099a 100644 From c30c85ffd95266be29027b03268a028c67223d61 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 060/112] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 060/141] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -121188,7 +121188,7 @@ See: https://github.com/raspberrypi/linux/issues/1064 create mode 100644 drivers/leds/trigger/ledtrig-input.c diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c -index 61143f5..e98df59 100644 +index 61143f55597e42f9b45fe4efe33a1c51614b22b4..e98df59ae47faf14b0cde1d6330a1d75b5ceb651 100644 --- a/drivers/leds/leds-gpio.c +++ b/drivers/leds/leds-gpio.c @@ -46,8 +46,15 @@ static void gpio_led_set(struct led_classdev *led_cdev, @@ -121232,7 +121232,7 @@ index 61143f5..e98df59 100644 state = !!gpiod_get_value_cansleep(led_dat->gpiod); else diff --git a/drivers/leds/trigger/Kconfig b/drivers/leds/trigger/Kconfig -index 5bda6a9..eb98cca 100644 +index 5bda6a9b56bbd90b4a3749f87bc0c6fda8dd5034..eb98cca4c239e5bb5c4abf7c731021ae56f3e91d 100644 --- a/drivers/leds/trigger/Kconfig +++ b/drivers/leds/trigger/Kconfig @@ -108,4 +108,11 @@ config LEDS_TRIGGER_CAMERA @@ -121248,7 +121248,7 @@ index 5bda6a9..eb98cca 100644 + endif # LEDS_TRIGGERS diff --git a/drivers/leds/trigger/Makefile b/drivers/leds/trigger/Makefile -index 1abf48d..c03afdc 100644 +index 1abf48dacf7ebfcfb8208f7ae7bdf29d7c11ba32..c03afdc34404a406a658326bcf28a2f22b4f4122 100644 --- a/drivers/leds/trigger/Makefile +++ b/drivers/leds/trigger/Makefile @@ -8,3 +8,4 @@ obj-$(CONFIG_LEDS_TRIGGER_CPU) += ledtrig-cpu.o @@ -121258,7 +121258,7 @@ index 1abf48d..c03afdc 100644 +obj-$(CONFIG_LEDS_TRIGGER_INPUT) += ledtrig-input.o diff --git a/drivers/leds/trigger/ledtrig-input.c b/drivers/leds/trigger/ledtrig-input.c new file mode 100644 -index 0000000..27f8ebe +index 0000000000000000000000000000000000000000..27f8ebea43d86fc51c98db5c953da05bae063e3b --- /dev/null +++ b/drivers/leds/trigger/ledtrig-input.c @@ -0,0 +1,54 @@ @@ -121317,7 +121317,7 @@ index 0000000..27f8ebe +MODULE_DESCRIPTION("Set LED GPIO to Input \"trigger\""); +MODULE_LICENSE("GPL"); diff --git a/include/linux/leds.h b/include/linux/leds.h -index f203a8f..555cf15 100644 +index f203a8f89d30d0f3e214b43d2c72efea1bdad9f9..555cf15e87ee03c75d4bd836a3341645b020e857 100644 --- a/include/linux/leds.h +++ b/include/linux/leds.h @@ -50,6 +50,9 @@ struct led_classdev { @@ -121334,7 +121334,7 @@ index f203a8f..555cf15 100644 From 24bdd51b365f252f10d9c821c8e0078fb8f13277 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 061/112] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 061/141] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -121349,7 +121349,7 @@ Signed-off-by: Siarhei Siamashka 2 files changed, 35 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 4e73b6f..d3a8cc3 100644 +index 4e73b6f6b1c0547877af572dfca953748d9eabc3..d3a8cc3f7dde67e904c695edac39a97b9beab678 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1084,6 +1084,25 @@ fb_blank(struct fb_info *info, int blank) @@ -121411,7 +121411,7 @@ index 4e73b6f..d3a8cc3 100644 case FBIOBLANK: ret = do_fb_ioctl(info, cmd, arg); diff --git a/include/uapi/linux/fb.h b/include/uapi/linux/fb.h -index fb795c3..fa72af0 100644 +index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..fa72af0c981710fe80bacf4cf6612f6da19046ee 100644 --- a/include/uapi/linux/fb.h +++ b/include/uapi/linux/fb.h @@ -34,6 +34,11 @@ @@ -121430,7 +121430,7 @@ index fb795c3..fa72af0 100644 From 8e6a1ecf513ca54979ca315a5fa9d695b74cd902 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 062/112] Speed up console framebuffer imageblit function +Subject: [PATCH 062/141] 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 @@ -121462,7 +121462,7 @@ Signed-off-by: Harm Hanemaaijer 1 file changed, 147 insertions(+), 5 deletions(-) diff --git a/drivers/video/fbdev/core/cfbimgblt.c b/drivers/video/fbdev/core/cfbimgblt.c -index a2bb276..436494f 100644 +index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466fafb10feb95 100644 --- a/drivers/video/fbdev/core/cfbimgblt.c +++ b/drivers/video/fbdev/core/cfbimgblt.c @@ -28,6 +28,11 @@ @@ -121642,7 +121642,7 @@ index a2bb276..436494f 100644 From 5ee7327d1d4e179603629aa9b2e0c859229df35a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 063/112] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 063/141] enabling the realtime clock 1-wire chip DS1307 and 1-wire on GPIO4 (as a module) 1-wire: Add support for configuring pin for w1-gpio kernel module @@ -121670,7 +121670,7 @@ w1-gpio: Sort out the pullup/parasitic power tangle 5 files changed, 99 insertions(+), 9 deletions(-) diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index a373ae6..080e597 100644 +index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648cb0b2f000 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c @@ -23,6 +23,19 @@ @@ -121808,7 +121808,7 @@ index a373ae6..080e597 100644 } diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h -index 56a49ba..881d728 100644 +index 56a49ba41d83c0945203827946ba35dcb79897b0..881d72879b27fed8697ded8962e2f7c16796837d 100644 --- a/drivers/w1/w1.h +++ b/drivers/w1/w1.h @@ -171,6 +171,12 @@ struct w1_bus_master @@ -121825,7 +121825,7 @@ index 56a49ba..881d728 100644 u8, w1_slave_found_callback); }; diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c -index 20f766a..c4fbdb1 100644 +index 20f766afa4c7d7b8116565687541f84184fe61f4..c4fbdb1f25e961f9f7bacbac7b52a6d74cabaf12 100644 --- a/drivers/w1/w1_int.c +++ b/drivers/w1/w1_int.c @@ -122,6 +122,20 @@ int w1_add_master_device(struct w1_bus_master *master) @@ -121850,7 +121850,7 @@ index 20f766a..c4fbdb1 100644 mutex_lock(&w1_mlock); /* Search for the first available id (starting at 1). */ diff --git a/drivers/w1/w1_io.c b/drivers/w1/w1_io.c -index 2820924..fd0550f 100644 +index 282092421cc9ee29d541e8722139387d0060c7db..fd0550f263f789b94038fd2fb2931022333029c2 100644 --- a/drivers/w1/w1_io.c +++ b/drivers/w1/w1_io.c @@ -134,10 +134,22 @@ static void w1_pre_write(struct w1_master *dev) @@ -121880,7 +121880,7 @@ index 2820924..fd0550f 100644 } } diff --git a/include/linux/w1-gpio.h b/include/linux/w1-gpio.h -index d58594a..feae942 100644 +index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af803fb2ce 100644 --- a/include/linux/w1-gpio.h +++ b/include/linux/w1-gpio.h @@ -18,6 +18,7 @@ @@ -121892,10 +121892,10 @@ index d58594a..feae942 100644 unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; -From 145b44c325efd58934d57a02d96000e2a7db6f07 Mon Sep 17 00:00:00 2001 +From a2ad4339b0f86771a0e3672c18fcf4f46c9b9d1e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 18 Dec 2013 22:16:19 +0000 -Subject: [PATCH 064/112] config: Enable CONFIG_MEMCG, but leave it disabled +Subject: [PATCH 064/141] config: Enable CONFIG_MEMCG, but leave it disabled (due to memory cost). Enable with cgroup_enable=memory. --- @@ -121903,7 +121903,7 @@ Subject: [PATCH 064/112] config: Enable CONFIG_MEMCG, but leave it disabled 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index 86cb5c6..0b5668a 100644 +index 86cb5c6e89320f28e17691c6d69e58c9dfde81fb..0b5668a78c16322ac9f6b106c28cc414c0df239b 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -5587,7 +5587,7 @@ int __init cgroup_init_early(void) @@ -121945,10 +121945,10 @@ index 86cb5c6..0b5668a 100644 * css_tryget_online_from_dir - get corresponding css from a cgroup dentry * @dentry: directory dentry of interest -From 79bbcc3cd4d9ef3e6559b70c14fe2e6321b2f2af Mon Sep 17 00:00:00 2001 +From bd26df216764a1f97ae02e788530617e5e43a7c3 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:59:51 +0100 -Subject: [PATCH 065/112] ASoC: Add support for PCM5102A codec +Subject: [PATCH 065/141] ASoC: Add support for PCM5102A codec Some definitions to support the PCM5102A codec by Texas Instruments. @@ -121962,7 +121962,7 @@ Signed-off-by: Florian Meier create mode 100644 sound/soc/codecs/pcm5102a.c diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 7ef3a0c..4308f90 100644 +index 7ef3a0c16478d707b1ef843aecf0631a51813fb1..4308f90e688fce37f982ad4af0891a2411bcf420 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -100,6 +100,7 @@ config SND_SOC_ALL_CODECS @@ -121985,7 +121985,7 @@ index 7ef3a0c..4308f90 100644 tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 185a712..7522017 100644 +index 185a712a7fe763bbba79fa1f4969cf5ba5424753..75220170be30c6144d503900e0f66ecd8de9ba6f 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -98,6 +98,7 @@ snd-soc-rt286-objs := rt286.o @@ -122006,7 +122006,7 @@ index 185a712..7522017 100644 obj-$(CONFIG_SND_SOC_RT5645) += snd-soc-rt5645.o diff --git a/sound/soc/codecs/pcm5102a.c b/sound/soc/codecs/pcm5102a.c new file mode 100644 -index 0000000..7c6598e +index 0000000000000000000000000000000000000000..7c6598e717c523bc2e717861492a622ce66486c7 --- /dev/null +++ b/sound/soc/codecs/pcm5102a.c @@ -0,0 +1,70 @@ @@ -122081,10 +122081,10 @@ index 0000000..7c6598e +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From 0d34d1087c699b4aaf836dcea97fe9eefc6c1da4 Mon Sep 17 00:00:00 2001 +From 745c673aa855b6ae308e8f80d3cb7a7591898dad Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 066/112] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 066/141] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -122099,7 +122099,7 @@ Signed-off-by: Florian Meier create mode 100644 sound/soc/bcm/hifiberry_dac.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index c5070ae..ce81f14 100644 +index c5070aec5996aafb2d9daaf75163e16a29bc6892..ce81f14a88d08c90fb565cf3d60321a9b9a1fcee 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -7,3 +7,10 @@ config SND_BCM2835_SOC_I2S @@ -122114,7 +122114,7 @@ index c5070ae..ce81f14 100644 + help + Say Y or M if you want to add support for HifiBerry DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index bc816b7..b877d38 100644 +index bc816b71e5a40958953bf7bf7e7bd08342e87738..b877d386363d935deefda3664089a4ae5b33b889 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -3,3 +3,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o @@ -122127,7 +122127,7 @@ index bc816b7..b877d38 100644 +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DAC) += snd-soc-hifiberry-dac.o diff --git a/sound/soc/bcm/hifiberry_dac.c b/sound/soc/bcm/hifiberry_dac.c new file mode 100644 -index 0000000..29ecc08 +index 0000000000000000000000000000000000000000..29ecc08a227cdd4b3c6141935d0c5d21c2c6b4d8 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dac.c @@ -0,0 +1,123 @@ @@ -122255,10 +122255,10 @@ index 0000000..29ecc08 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From bc61760767c5d2b0f5a6f0d2dc1206d8e330f3cd Mon Sep 17 00:00:00 2001 +From 7c6047c9c68596b426253cba1727b85cfcd4a4b5 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 067/112] ASoC: Add support for Rpi-DAC +Subject: [PATCH 067/141] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -122272,7 +122272,7 @@ Subject: [PATCH 067/112] ASoC: Add support for Rpi-DAC create mode 100644 sound/soc/codecs/pcm1794a.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index ce81f14..900de22 100644 +index ce81f14a88d08c90fb565cf3d60321a9b9a1fcee..900de22369a66758bbe49861238b647bd2ca037e 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -14,3 +14,10 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -122287,7 +122287,7 @@ index ce81f14..900de22 100644 + help + Say Y or M if you want to add support for RPi-DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index b877d38..99c96b4 100644 +index b877d386363d935deefda3664089a4ae5b33b889..99c96b4c41e46c17c38c8691e7a8a33b1bc7b3bb 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,5 +5,7 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122300,7 +122300,7 @@ index b877d38..99c96b4 100644 +obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o diff --git a/sound/soc/bcm/rpi-dac.c b/sound/soc/bcm/rpi-dac.c new file mode 100644 -index 0000000..59dc89e +index 0000000000000000000000000000000000000000..59dc89ecabc082c0a1ed8adacdc4f0f1337a1c73 --- /dev/null +++ b/sound/soc/bcm/rpi-dac.c @@ -0,0 +1,119 @@ @@ -122424,7 +122424,7 @@ index 0000000..59dc89e +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 4308f90..513ab55 100644 +index 4308f90e688fce37f982ad4af0891a2411bcf420..513ab55fdc67af50f110f13ed6f6d6bb3740561e 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -101,6 +101,7 @@ config SND_SOC_ALL_CODECS @@ -122451,7 +122451,7 @@ index 4308f90..513ab55 100644 tristate depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 7522017..b87e845 100644 +index 75220170be30c6144d503900e0f66ecd8de9ba6f..b87e84543459776026be1b9a598fcc0c65abe987 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -98,6 +98,7 @@ snd-soc-rt286-objs := rt286.o @@ -122472,7 +122472,7 @@ index 7522017..b87e845 100644 obj-$(CONFIG_SND_SOC_RT5640) += snd-soc-rt5640.o diff --git a/sound/soc/codecs/pcm1794a.c b/sound/soc/codecs/pcm1794a.c new file mode 100644 -index 0000000..afe1b41 +index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd843e17f4 --- /dev/null +++ b/sound/soc/codecs/pcm1794a.c @@ -0,0 +1,69 @@ @@ -122546,10 +122546,10 @@ index 0000000..afe1b41 +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From be14d40355959bea3cf576fb9d7fa2eb056dec71 Mon Sep 17 00:00:00 2001 +From 9e8bab833521650ba4bdf57f3f0969c508a58f32 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 068/112] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 068/141] ASoC: wm8804: Implement MCLK configuration options, add 32bit support WM8804 can run with PLL frequencies of 256xfs and 128xfs for most sample rates. At 192kHz only 128xfs is supported. The existing driver selects 128xfs automatically for some lower samples rates. By using an @@ -122568,7 +122568,7 @@ Signed-off-by: Daniel Matuschek 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/sound/soc/codecs/wm8804.c b/sound/soc/codecs/wm8804.c -index 8d91470..c846716 100644 +index 8d914702cae4a3fe2c0ca0599cd1ec79f7322c83..c846716b4ed1027ade5512e8be90801dc0fa1c7b 100644 --- a/sound/soc/codecs/wm8804.c +++ b/sound/soc/codecs/wm8804.c @@ -304,6 +304,7 @@ static int wm8804_hw_params(struct snd_pcm_substream *substream, @@ -122598,10 +122598,10 @@ index 8d91470..c846716 100644 .dapm_widgets = wm8804_dapm_widgets, .num_dapm_widgets = ARRAY_SIZE(wm8804_dapm_widgets), -From 30b1068550d40af5f54baa141bf4b005e98f3032 Mon Sep 17 00:00:00 2001 +From 853b0edd41cbbb134a97e23d0628ff055642defe Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 069/112] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 069/141] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -122627,7 +122627,7 @@ adds the sample rate bits in the SPDIF status block. create mode 100644 sound/soc/bcm/hifiberry_digi.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 900de22..a34aff2 100644 +index 900de22369a66758bbe49861238b647bd2ca037e..a34aff27bb3010f58773edb942adccc193ea0d26 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -15,6 +15,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -122645,7 +122645,7 @@ index 900de22..a34aff2 100644 tristate "Support for RPi-DAC" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 99c96b4..4d53c58 100644 +index 99c96b4c41e46c17c38c8691e7a8a33b1bc7b3bb..4d53c58dc6ba41116d1fa210b6ba08ee75526dd2 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,7 +5,9 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122660,7 +122660,7 @@ index 99c96b4..4d53c58 100644 obj-$(CONFIG_SND_BCM2708_SOC_RPI_DAC) += snd-soc-rpi-dac.o diff --git a/sound/soc/bcm/hifiberry_digi.c b/sound/soc/bcm/hifiberry_digi.c new file mode 100644 -index 0000000..9840e15 +index 0000000000000000000000000000000000000000..9840e15d3e2be6396bc3ce6e74749408cc28c333 --- /dev/null +++ b/sound/soc/bcm/hifiberry_digi.c @@ -0,0 +1,224 @@ @@ -122889,10 +122889,10 @@ index 0000000..9840e15 +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From c25a74622b6585a0979eab1f551828dc101f5501 Mon Sep 17 00:00:00 2001 +From e52a94d1473fe4a17e1f57946837c83ab695c5c8 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 070/112] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 070/141] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -122921,7 +122921,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/iqaudio-dac.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index a34aff2..38dcdd9 100644 +index a34aff27bb3010f58773edb942adccc193ea0d26..38dcdd975b406b9308e151f5d3a80dbca5163be5 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -28,3 +28,10 @@ config SND_BCM2708_SOC_RPI_DAC @@ -122936,7 +122936,7 @@ index a34aff2..38dcdd9 100644 + help + Say Y or M if you want to add support for IQaudIO-DAC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 4d53c58..08e4dc5 100644 +index 4d53c58dc6ba41116d1fa210b6ba08ee75526dd2..08e4dc55757855fedec6845b82fc5f9f91f1584b 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -7,7 +7,9 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -122951,7 +122951,7 @@ index 4d53c58..08e4dc5 100644 +obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/iqaudio-dac.c b/sound/soc/bcm/iqaudio-dac.c new file mode 100644 -index 0000000..b6b6dcf +index 0000000000000000000000000000000000000000..b6b6dcf6e5a420d2c39d220b91928cd8ca832de7 --- /dev/null +++ b/sound/soc/bcm/iqaudio-dac.c @@ -0,0 +1,148 @@ @@ -123104,10 +123104,10 @@ index 0000000..b6b6dcf +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 53fb9eb361080e792b70c1022075be11894e6dd0 Mon Sep 17 00:00:00 2001 +From e5f2edb351fb7868aa326d2a402e46ff2a903997 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 071/112] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 071/141] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -123115,7 +123115,7 @@ Reduces overhead when using X 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index ae83af6..4a7af9d 100644 +index ae83af649a607f67239f1a64bf45dd4b5770cc7d..4a7af9d0b910f59d17421ce14138400dfd5834f3 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -49,7 +49,7 @@ @@ -123143,10 +123143,10 @@ index ae83af6..4a7af9d 100644 ret = -ENOMEM; if (usb_endpoint_dir_in(endpoint)) { -From b0c6b97f9db0fd0bb98441b2b2bfbe11c6904a5d Mon Sep 17 00:00:00 2001 +From e1d2bdf3015ec7a029eb2750f12ab9f5f1a53a93 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 072/112] Added support for HiFiBerry DAC+ +Subject: [PATCH 072/141] 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. @@ -123183,7 +123183,7 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index 46869d6..a202e6f 100644 +index 46869d696e4d7bba3962719fb9464684a2bb4c91..a202e6f0f294f5dd077871d6accf891f30c027ba 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o @@ -123196,7 +123196,7 @@ index 46869d6..a202e6f 100644 obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o diff --git a/drivers/clk/clk-hifiberry-dacpro.c b/drivers/clk/clk-hifiberry-dacpro.c new file mode 100644 -index 0000000..3e35d45 +index 0000000000000000000000000000000000000000..3e35d455f4559bc0100a1e268eeb200f7c10df7e --- /dev/null +++ b/drivers/clk/clk-hifiberry-dacpro.c @@ -0,0 +1,160 @@ @@ -123361,7 +123361,7 @@ index 0000000..3e35d45 +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:clk-hifiberry-dacpro"); diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 38dcdd9..8c338b5 100644 +index 38dcdd975b406b9308e151f5d3a80dbca5163be5..8c338b5803042ad3834ee46a8dc93f53c53953f6 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -15,6 +15,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DAC @@ -123379,7 +123379,7 @@ index 38dcdd9..8c338b5 100644 tristate "Support for HifiBerry Digi" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 08e4dc5..a29538e 100644 +index 08e4dc55757855fedec6845b82fc5f9f91f1584b..a29538e56b62ef6e7098b81b81e1389a22beeafa 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -5,11 +5,13 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -123398,7 +123398,7 @@ index 08e4dc5..a29538e 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/hifiberry_dacplus.c b/sound/soc/bcm/hifiberry_dacplus.c new file mode 100644 -index 0000000..6560067 +index 0000000000000000000000000000000000000000..65600674c286e8a7be8efd352d5a80889221a1d6 --- /dev/null +++ b/sound/soc/bcm/hifiberry_dacplus.c @@ -0,0 +1,358 @@ @@ -123761,7 +123761,7 @@ index 0000000..6560067 +MODULE_DESCRIPTION("ASoC Driver for HiFiBerry DAC+"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/pcm512x.c b/sound/soc/codecs/pcm512x.c -index 047c489..090fe0e 100644 +index 047c48953a20cd4075000ac294a17fe59baedcde..090fe0ee08e8765f9edbb62777413bb69f87d693 100644 --- a/sound/soc/codecs/pcm512x.c +++ b/sound/soc/codecs/pcm512x.c @@ -854,7 +854,8 @@ static int pcm512x_set_dividers(struct snd_soc_dai *dai, @@ -123775,10 +123775,10 @@ index 047c489..090fe0e 100644 dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From bf6dc6ad8ebda7b12333839942bf88f7f6b7dc63 Mon Sep 17 00:00:00 2001 +From 5fdededf3373a868ccebe6a78bec6afbc497707a Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 073/112] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 073/141] 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. @@ -123807,7 +123807,7 @@ Some code to load the driver based on device-tree-overlays was missing. This is create mode 100644 sound/soc/codecs/tas5713.h diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 8c338b5..7677c89 100644 +index 8c338b5803042ad3834ee46a8dc93f53c53953f6..7677c898773e6dd87c3ef385e380aa42c85e66d8 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -29,6 +29,13 @@ config SND_BCM2708_SOC_HIFIBERRY_DIGI @@ -123825,7 +123825,7 @@ index 8c338b5..7677c89 100644 tristate "Support for RPi-DAC" depends on SND_BCM2708_SOC_I2S || SND_BCM2835_SOC_I2S diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index a29538e..30db495 100644 +index a29538e56b62ef6e7098b81b81e1389a22beeafa..30db4951129c2d853c5cf631f4cd1263926692d0 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -7,11 +7,13 @@ obj-$(CONFIG_SND_BCM2835_SOC_I2S) += snd-soc-bcm2835-i2s.o @@ -123844,7 +123844,7 @@ index a29538e..30db495 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/hifiberry_amp.c b/sound/soc/bcm/hifiberry_amp.c new file mode 100644 -index 0000000..0bb12e4 +index 0000000000000000000000000000000000000000..0bb12e4761ce60d3364c66b2bd0f8f7dbdcecfb1 --- /dev/null +++ b/sound/soc/bcm/hifiberry_amp.c @@ -0,0 +1,128 @@ @@ -123977,7 +123977,7 @@ index 0000000..0bb12e4 +MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 513ab55..ebcfbfd 100644 +index 513ab55fdc67af50f110f13ed6f6d6bb3740561e..ebcfbfd843db89e8ca86b318d2783c850079c15a 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -129,6 +129,7 @@ config SND_SOC_ALL_CODECS @@ -123999,7 +123999,7 @@ index 513ab55..ebcfbfd 100644 tristate diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index b87e845..9974a13 100644 +index b87e84543459776026be1b9a598fcc0c65abe987..9974a13a2c7ef4a9c476c34faa133ecc7e687272 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile @@ -132,6 +132,7 @@ snd-soc-sti-sas-objs := sti-sas.o @@ -124020,7 +124020,7 @@ index b87e845..9974a13 100644 obj-$(CONFIG_SND_SOC_TLV320AIC23_SPI) += snd-soc-tlv320aic23-spi.o diff --git a/sound/soc/codecs/tas5713.c b/sound/soc/codecs/tas5713.c new file mode 100644 -index 0000000..9b27138 +index 0000000000000000000000000000000000000000..9b2713861dcbed751842ca29c88eb1eae5867411 --- /dev/null +++ b/sound/soc/codecs/tas5713.c @@ -0,0 +1,369 @@ @@ -124395,7 +124395,7 @@ index 0000000..9b27138 +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/tas5713.h b/sound/soc/codecs/tas5713.h new file mode 100644 -index 0000000..8f019e0 +index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8f612a342 --- /dev/null +++ b/sound/soc/codecs/tas5713.h @@ -0,0 +1,210 @@ @@ -124610,10 +124610,10 @@ index 0000000..8f019e0 + +#endif /* _TAS5713_H */ -From 183b5c37caff8ddff07bcb2caec691eb70832b56 Mon Sep 17 00:00:00 2001 +From c92a0191f0d4b3bd87d3db019b36db9b106bacd5 Mon Sep 17 00:00:00 2001 From: Ryan Coe Date: Sat, 31 Jan 2015 18:25:49 -0700 -Subject: [PATCH 074/112] Update ds1307 driver for device-tree support +Subject: [PATCH 074/141] Update ds1307 driver for device-tree support Signed-off-by: Ryan Coe --- @@ -124621,7 +124621,7 @@ Signed-off-by: Ryan Coe 1 file changed, 8 insertions(+) diff --git a/drivers/rtc/rtc-ds1307.c b/drivers/rtc/rtc-ds1307.c -index e94eb09..f5d93be 100644 +index e94eb0952286300ec9847cddaf317476ddd05423..f5d93be977142d306c787547736e8722bfe51b3c 100644 --- a/drivers/rtc/rtc-ds1307.c +++ b/drivers/rtc/rtc-ds1307.c @@ -1608,6 +1608,14 @@ static int ds1307_remove(struct i2c_client *client) @@ -124640,10 +124640,10 @@ index e94eb09..f5d93be 100644 .driver = { .name = "rtc-ds1307", -From 81416f01fc3b9536e6abeb2aae58dbcefcd9c415 Mon Sep 17 00:00:00 2001 +From 1ded7231c660bb27020a2bc7ac257d71b20b769e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 27 Feb 2015 15:10:24 +0000 -Subject: [PATCH 075/112] enc28j60: Add device tree compatible string and an +Subject: [PATCH 075/141] enc28j60: Add device tree compatible string and an overlay --- @@ -124651,7 +124651,7 @@ Subject: [PATCH 075/112] enc28j60: Add device tree compatible string and an 1 file changed, 7 insertions(+) diff --git a/drivers/net/ethernet/microchip/enc28j60.c b/drivers/net/ethernet/microchip/enc28j60.c -index 86ea17e..a1b20c1 100644 +index 86ea17e7ba7bff17f40755663e1b10b7d7b4cbcc..a1b20c146eb8f3d9af757b79c19be96ed43adfba 100644 --- a/drivers/net/ethernet/microchip/enc28j60.c +++ b/drivers/net/ethernet/microchip/enc28j60.c @@ -1630,9 +1630,16 @@ static int enc28j60_remove(struct spi_device *spi) @@ -124672,10 +124672,10 @@ index 86ea17e..a1b20c1 100644 .probe = enc28j60_probe, .remove = enc28j60_remove, -From 473716bb8ebcb9e9236215b04d395ab90ac6ff8a Mon Sep 17 00:00:00 2001 +From 4bb675b68ba0fe7f92c59a932f32bbe48dd15517 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 076/112] Add driver for rpi-proto +Subject: [PATCH 076/141] 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 @@ -124695,7 +124695,7 @@ Signed-off-by: Waldemar Brodkorb create mode 100644 sound/soc/bcm/rpi-proto.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 7677c89..8669a9a 100644 +index 7677c898773e6dd87c3ef385e380aa42c85e66d8..8669a9ac9734c465c7dc3f40c864f71b68a6de75 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -43,6 +43,13 @@ config SND_BCM2708_SOC_RPI_DAC @@ -124713,7 +124713,7 @@ index 7677c89..8669a9a 100644 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 30db495..4f5ab1f 100644 +index 30db4951129c2d853c5cf631f4cd1263926692d0..4f5ab1fa4414e64a164eaa4575ffaa06d1cbf332 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -9,6 +9,7 @@ snd-soc-hifiberry-dacplus-objs := hifiberry_dacplus.o @@ -124732,7 +124732,7 @@ index 30db495..4f5ab1f 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/rpi-proto.c b/sound/soc/bcm/rpi-proto.c new file mode 100644 -index 0000000..9db678e +index 0000000000000000000000000000000000000000..9db678e885efd63d84d60a098a84ed6772b19a2d --- /dev/null +++ b/sound/soc/bcm/rpi-proto.c @@ -0,0 +1,154 @@ @@ -124891,10 +124891,10 @@ index 0000000..9db678e +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From bcfbb74333f742188084c02b8327cfb822cdd818 Mon Sep 17 00:00:00 2001 +From 85acb10c89a7262a5d04063a0041391839b88a91 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 077/112] config: Add default configs +Subject: [PATCH 077/141] config: Add default configs --- arch/arm/configs/bcm2709_defconfig | 1279 +++++++++++++++++++++++++++++++++++ @@ -124905,7 +124905,7 @@ Subject: [PATCH 077/112] config: Add default configs diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig new file mode 100644 -index 0000000..f42c5eb +index 0000000000000000000000000000000000000000..f42c5ebcbff904746a282a3d6fb13483e32c7fd8 --- /dev/null +++ b/arch/arm/configs/bcm2709_defconfig @@ -0,0 +1,1279 @@ @@ -126190,7 +126190,7 @@ index 0000000..f42c5eb +CONFIG_LIBCRC32C=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig new file mode 100644 -index 0000000..8bd0207 +index 0000000000000000000000000000000000000000..8bd02073ab8f35ef28db5fcd628e3e44a922c0ea --- /dev/null +++ b/arch/arm/configs/bcmrpi_defconfig @@ -0,0 +1,1289 @@ @@ -127484,10 +127484,10 @@ index 0000000..8bd0207 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 06b11545902efde29da94bbaa0f0b51f68f6296b Mon Sep 17 00:00:00 2001 +From d29e74c91e270b927e6f5a23cbeda8922949ca7b Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 078/112] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 078/141] rpi-ft5406: Add touchscreen driver for pi LCD display Fix driver detection failure Check that the buffer response is non-zero meaning the touchscreen was detected @@ -127500,7 +127500,7 @@ rpi-ft5406: Use firmware API create mode 100644 drivers/input/touchscreen/rpi-ft5406.c diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig -index 8ecdc38..1e4e7a0 100644 +index 8ecdc38fd489c0dfe8eb383a81259983a99d7d96..1e4e7a005b58dc9eee1c4e7034d6652a30151827 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -630,6 +630,13 @@ config TOUCHSCREEN_EDT_FT5X06 @@ -127518,7 +127518,7 @@ index 8ecdc38..1e4e7a0 100644 tristate "Renesas MIGO-R touchscreen" depends on SH_MIGOR && I2C diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index f42975e..92590b3 100644 +index f42975e719e07205081f08d4e4cd882a792518dc..92590b30828b5c5a5411c2f3510bcb28a7f69afd 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -29,6 +29,7 @@ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o @@ -127531,7 +127531,7 @@ index f42975e..92590b3 100644 obj-$(CONFIG_TOUCHSCREEN_EETI) += eeti_ts.o diff --git a/drivers/input/touchscreen/rpi-ft5406.c b/drivers/input/touchscreen/rpi-ft5406.c new file mode 100644 -index 0000000..b27dbee +index 0000000000000000000000000000000000000000..b27dbee8f56773dbd2a5503dc864747d0bebdddc --- /dev/null +++ b/drivers/input/touchscreen/rpi-ft5406.c @@ -0,0 +1,246 @@ @@ -127782,10 +127782,10 @@ index 0000000..b27dbee +MODULE_DESCRIPTION("Touchscreen driver for memory based FT5406"); +MODULE_LICENSE("GPL"); -From 7e04cca023336e03eb942b012512475fe82e0d87 Mon Sep 17 00:00:00 2001 +From b1f0e3e828715ed603ded1b9bc159a2467c109bf Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Oct 2014 11:47:53 +0100 -Subject: [PATCH 079/112] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 079/141] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -127826,7 +127826,7 @@ Signed-off-by: Phil Elwell create mode 100644 arch/arm/lib/memset_rpi.S diff --git a/arch/arm/include/asm/string.h b/arch/arm/include/asm/string.h -index cf4f3aa..9fe7780 100644 +index cf4f3aad0fc1c2154c6cf3839ff21bb1c46d6499..9fe7780002ce1847b9009ff9b741b56f34e19256 100644 --- a/arch/arm/include/asm/string.h +++ b/arch/arm/include/asm/string.h @@ -24,6 +24,11 @@ extern void * memchr(const void *, int, __kernel_size_t); @@ -127842,7 +127842,7 @@ index cf4f3aa..9fe7780 100644 #define memset(p,v,n) \ diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index 35c9db8..52d3401 100644 +index 35c9db857ebe9c7d53715ec42518a6e9fbe1dc6e..52d3401ae932b565f732294e5ef2f7a4c184f0ed 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h @@ -493,6 +493,9 @@ do { \ @@ -127856,7 +127856,7 @@ index 35c9db8..52d3401 100644 __copy_from_user(void *to, const void __user *from, unsigned long n) { diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile -index d8a7807..9c7dc5b 100644 +index d8a780799506b59bc2edd3f6a513021bcb45ebc0..9c7dc5bc616311a5181a11c479da7cee64208f58 100644 --- a/arch/arm/lib/Makefile +++ b/arch/arm/lib/Makefile @@ -6,9 +6,8 @@ @@ -127890,7 +127890,7 @@ index d8a7807..9c7dc5b 100644 diff --git a/arch/arm/lib/arm-mem.h b/arch/arm/lib/arm-mem.h new file mode 100644 -index 0000000..5d4bda1 +index 0000000000000000000000000000000000000000..5d4bda19ad207c65e7b7c6d6d733087faa96a8cc --- /dev/null +++ b/arch/arm/lib/arm-mem.h @@ -0,0 +1,159 @@ @@ -128054,7 +128054,7 @@ index 0000000..5d4bda1 +92: +.endm diff --git a/arch/arm/lib/copy_from_user.S b/arch/arm/lib/copy_from_user.S -index 1512beb..3da60dd 100644 +index 1512bebfbf1b18ad317648891385a24e93d1f35f..3da60dd2caab0968e2156cf8705ebbe5f2551a8b 100644 --- a/arch/arm/lib/copy_from_user.S +++ b/arch/arm/lib/copy_from_user.S @@ -89,11 +89,13 @@ @@ -128074,7 +128074,7 @@ index 1512beb..3da60dd 100644 .align 0 diff --git a/arch/arm/lib/exports_rpi.c b/arch/arm/lib/exports_rpi.c new file mode 100644 -index 0000000..1f82604 +index 0000000000000000000000000000000000000000..1f826047db754ffde0077ac291b9605e201abd07 --- /dev/null +++ b/arch/arm/lib/exports_rpi.c @@ -0,0 +1,37 @@ @@ -128117,7 +128117,7 @@ index 0000000..1f82604 +EXPORT_SYMBOL(memcmp); diff --git a/arch/arm/lib/memcmp_rpi.S b/arch/arm/lib/memcmp_rpi.S new file mode 100644 -index 0000000..bf6e4ed +index 0000000000000000000000000000000000000000..bf6e4edfc9d3b9882b72edada681b79ce37850df --- /dev/null +++ b/arch/arm/lib/memcmp_rpi.S @@ -0,0 +1,285 @@ @@ -128408,7 +128408,7 @@ index 0000000..bf6e4ed +ENDPROC(memcmp) diff --git a/arch/arm/lib/memcpy_rpi.S b/arch/arm/lib/memcpy_rpi.S new file mode 100644 -index 0000000..30f8a90 +index 0000000000000000000000000000000000000000..30f8a9089a835ff265ce5aaf98f066258608eb92 --- /dev/null +++ b/arch/arm/lib/memcpy_rpi.S @@ -0,0 +1,61 @@ @@ -128475,7 +128475,7 @@ index 0000000..30f8a90 +ENDPROC(mmiocpy) diff --git a/arch/arm/lib/memcpymove.h b/arch/arm/lib/memcpymove.h new file mode 100644 -index 0000000..d8be584 +index 0000000000000000000000000000000000000000..d8be5849c8609f4ead85527ec527184614a77371 --- /dev/null +++ b/arch/arm/lib/memcpymove.h @@ -0,0 +1,506 @@ @@ -128987,7 +128987,7 @@ index 0000000..d8be584 +.endm diff --git a/arch/arm/lib/memmove_rpi.S b/arch/arm/lib/memmove_rpi.S new file mode 100644 -index 0000000..8b0760c +index 0000000000000000000000000000000000000000..8b0760c0904c51ef205e56d238b5df8a5226d7cf --- /dev/null +++ b/arch/arm/lib/memmove_rpi.S @@ -0,0 +1,61 @@ @@ -129054,7 +129054,7 @@ index 0000000..8b0760c +ENDPROC(memmove) diff --git a/arch/arm/lib/memset_rpi.S b/arch/arm/lib/memset_rpi.S new file mode 100644 -index 0000000..7067415 +index 0000000000000000000000000000000000000000..70674158d76cd38d8d70c987aa54a6b477e4fa91 --- /dev/null +++ b/arch/arm/lib/memset_rpi.S @@ -0,0 +1,123 @@ @@ -129182,7 +129182,7 @@ index 0000000..7067415 +ENDPROC(memset) +ENDPROC(mmioset) diff --git a/arch/arm/lib/uaccess_with_memcpy.c b/arch/arm/lib/uaccess_with_memcpy.c -index 6bd1089..cd17dd1 100644 +index 6bd1089b07e0960830ed6bd6a8345202b7efd8b0..cd17dd11ebe7bbe00089e70cd2ccea74e0400200 100644 --- a/arch/arm/lib/uaccess_with_memcpy.c +++ b/arch/arm/lib/uaccess_with_memcpy.c @@ -22,6 +22,14 @@ @@ -129341,10 +129341,10 @@ index 6bd1089..cd17dd1 100644 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) -From fafc18960a14b1ad7a75bb60d0366e8d406e350f Mon Sep 17 00:00:00 2001 +From 7199e91b2726ed1ef6967b5d96db5b25eedc0622 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 080/112] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 080/141] 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 @@ -129362,7 +129362,7 @@ of the trigger signal may be preferable. 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/power/reset/gpio-poweroff.c b/drivers/power/reset/gpio-poweroff.c -index be3d81f..a030ae9 100644 +index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e821869eedd320 100644 --- a/drivers/power/reset/gpio-poweroff.c +++ b/drivers/power/reset/gpio-poweroff.c @@ -49,9 +49,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev) @@ -129379,10 +129379,10 @@ index be3d81f..a030ae9 100644 "%s: pm_power_off function already registered", __func__); -From a482e488bdc6209d37a50ee19a5fa5105088e13a Mon Sep 17 00:00:00 2001 +From d977fc2b9dbfdcefce0da0174f74f4bd17b31641 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 081/112] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 081/141] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -129406,7 +129406,7 @@ Subject: [PATCH 081/112] mfd: Add Raspberry Pi Sense HAT core driver create mode 100644 include/linux/mfd/rpisense/joystick.h diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig -index 4215b53..4364d7c 100644 +index 4215b5382092c15d693e62de6e029626e9fa551d..4364d7c85543b4537c839df95cf5b524948a06c2 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -330,4 +330,12 @@ config JOYSTICK_MAPLE @@ -129423,7 +129423,7 @@ index 4215b53..4364d7c 100644 + endif diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile -index 92dc0de..1758160 100644 +index 92dc0de9dfeda43171a901f96c40bebe0e7a5ae2..1758160374938dd150b8a380797b6decc00a64aa 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile @@ -32,4 +32,5 @@ obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o @@ -129434,7 +129434,7 @@ index 92dc0de..1758160 100644 diff --git a/drivers/input/joystick/rpisense-js.c b/drivers/input/joystick/rpisense-js.c new file mode 100644 -index 0000000..6a41676 +index 0000000000000000000000000000000000000000..6a416769065d2198344792eb02d8e38da1d03fd4 --- /dev/null +++ b/drivers/input/joystick/rpisense-js.c @@ -0,0 +1,153 @@ @@ -129592,7 +129592,7 @@ index 0000000..6a41676 +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index eea61e3..d2c3b72 100644 +index eea61e349e26afe4b0f9d52a3f036877f0e2403a..d2c3b724604a6ce660bbeffc754288c9168c447e 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -10,6 +10,14 @@ config MFD_CORE @@ -129611,7 +129611,7 @@ index eea61e3..d2c3b72 100644 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index 5eaa6465d..8dc2dde 100644 +index 5eaa6465d0a6e2bf20df77951b573b4c0ccc477f..8dc2dde11a22226ef4ed91b0eb69dfc9b4b84298 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile @@ -203,3 +203,5 @@ intel-soc-pmic-objs := intel_soc_pmic_core.o intel_soc_pmic_crc.o @@ -129622,7 +129622,7 @@ index 5eaa6465d..8dc2dde 100644 +obj-$(CONFIG_MFD_RPISENSE_CORE) += rpisense-core.o diff --git a/drivers/mfd/rpisense-core.c b/drivers/mfd/rpisense-core.c new file mode 100644 -index 0000000..eea9312 +index 0000000000000000000000000000000000000000..eea9312dc96a496ce846b0c5a83e6e4f3be5ee1e --- /dev/null +++ b/drivers/mfd/rpisense-core.c @@ -0,0 +1,157 @@ @@ -129784,7 +129784,7 @@ index 0000000..eea9312 +MODULE_LICENSE("GPL"); + diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig -index ee72c3a..5be1a31 100644 +index ee72c3a2866f716cd68c646b7c501589a05b48f5..5be1a31a836a0528975f259fabb793bef4d2aa71 100644 --- a/drivers/video/fbdev/Kconfig +++ b/drivers/video/fbdev/Kconfig @@ -2502,3 +2502,16 @@ config FB_SM712 @@ -129805,7 +129805,7 @@ index ee72c3a..5be1a31 100644 + help + This is the framebuffer driver for the Raspberry Pi Sense HAT diff --git a/drivers/video/fbdev/Makefile b/drivers/video/fbdev/Makefile -index df473d8..474c567 100644 +index df473d825c2e2481a871d794317e56b8d643370f..474c5673b275a82d60ad08ddf3bdc13879d3722a 100644 --- a/drivers/video/fbdev/Makefile +++ b/drivers/video/fbdev/Makefile @@ -149,6 +149,7 @@ obj-$(CONFIG_FB_DA8XX) += da8xx-fb.o @@ -129818,7 +129818,7 @@ index df473d8..474c567 100644 obj-$(CONFIG_FB_VIRTUAL) += vfb.o diff --git a/drivers/video/fbdev/rpisense-fb.c b/drivers/video/fbdev/rpisense-fb.c new file mode 100644 -index 0000000..26432a5 +index 0000000000000000000000000000000000000000..26432a5a0b4b4a5198768eceb1e34da99fe1efb2 --- /dev/null +++ b/drivers/video/fbdev/rpisense-fb.c @@ -0,0 +1,293 @@ @@ -130117,7 +130117,7 @@ index 0000000..26432a5 + diff --git a/include/linux/mfd/rpisense/core.h b/include/linux/mfd/rpisense/core.h new file mode 100644 -index 0000000..4856aa3 +index 0000000000000000000000000000000000000000..4856aa3c8b0661647ec1b5466d3a8743c02b1ddb --- /dev/null +++ b/include/linux/mfd/rpisense/core.h @@ -0,0 +1,47 @@ @@ -130170,7 +130170,7 @@ index 0000000..4856aa3 +#endif diff --git a/include/linux/mfd/rpisense/framebuffer.h b/include/linux/mfd/rpisense/framebuffer.h new file mode 100644 -index 0000000..2ba95d7 +index 0000000000000000000000000000000000000000..2ba95d7eebaf9ccce910b43835286df94cb7d075 --- /dev/null +++ b/include/linux/mfd/rpisense/framebuffer.h @@ -0,0 +1,32 @@ @@ -130208,7 +130208,7 @@ index 0000000..2ba95d7 +#endif diff --git a/include/linux/mfd/rpisense/joystick.h b/include/linux/mfd/rpisense/joystick.h new file mode 100644 -index 0000000..56196dc +index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c9c9cff39 --- /dev/null +++ b/include/linux/mfd/rpisense/joystick.h @@ -0,0 +1,35 @@ @@ -130248,10 +130248,10 @@ index 0000000..56196dc + +#endif -From 92a9de7b61e836be3fb0c8427aeb84c0ffc236c2 Mon Sep 17 00:00:00 2001 +From 2c7768f684afb351ca49e9cabbcc0788bfd43d7d Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 082/112] RaspiDAC3 support +Subject: [PATCH 082/141] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -130269,7 +130269,7 @@ Signed-off-by: Matthias Reichl create mode 100644 sound/soc/bcm/raspidac3.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 8669a9a..1a3f826 100644 +index 8669a9ac9734c465c7dc3f40c864f71b68a6de75..1a3f8264403d64690fef60d41df38d21d3eb6030 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -56,3 +56,11 @@ config SND_BCM2708_SOC_IQAUDIO_DAC @@ -130285,7 +130285,7 @@ index 8669a9a..1a3f826 100644 + help + Say Y or M if you want to add support for RaspiDAC Rev.3x. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 4f5ab1f..b21e11e 100644 +index 4f5ab1fa4414e64a164eaa4575ffaa06d1cbf332..b21e11ee36e17a29bfae9c4eda78f73ca9c23d48 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -11,6 +11,7 @@ snd-soc-hifiberry-amp-objs := hifiberry_amp.o @@ -130303,7 +130303,7 @@ index 4f5ab1f..b21e11e 100644 +obj-$(CONFIG_SND_BCM2708_SOC_RASPIDAC3) += snd-soc-raspidac3.o diff --git a/sound/soc/bcm/raspidac3.c b/sound/soc/bcm/raspidac3.c new file mode 100644 -index 0000000..e7422e2 +index 0000000000000000000000000000000000000000..e7422e2dd3d70622a48ab3b2e192986931235764 --- /dev/null +++ b/sound/soc/bcm/raspidac3.c @@ -0,0 +1,192 @@ @@ -130500,10 +130500,10 @@ index 0000000..e7422e2 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From 4ae569b2446992aec7e141bca491273d17a71d34 Mon Sep 17 00:00:00 2001 +From a94dc62217a15d26791f86b1db85a7f4231426e0 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:02:34 +0100 -Subject: [PATCH 083/112] tpa6130a2: Add headphone switch control +Subject: [PATCH 083/141] tpa6130a2: Add headphone switch control Signed-off-by: Jan Grulich --- @@ -130511,7 +130511,7 @@ Signed-off-by: Jan Grulich 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c -index 11d85c5..3caaa17 100644 +index 11d85c5c787addb8d8add7fc2b52ab91cc49b63d..3caaa17e28e91e995d6781ca7f88b747da542e9b 100644 --- a/sound/soc/codecs/tpa6130a2.c +++ b/sound/soc/codecs/tpa6130a2.c @@ -4,6 +4,7 @@ @@ -130594,10 +130594,10 @@ index 11d85c5..3caaa17 100644 /* -From 353a064ad2a9698dfda0049f431d999d50eb78af Mon Sep 17 00:00:00 2001 +From 0aaa43bd38b094eae36ddb43178c49f50288ec07 Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 084/112] rpi_display: add backlight driver and overlay +Subject: [PATCH 084/141] 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 @@ -130612,7 +130612,7 @@ Signed-off-by: Gordon Hollingworth create mode 100644 drivers/video/backlight/rpi_backlight.c diff --git a/drivers/video/backlight/Kconfig b/drivers/video/backlight/Kconfig -index 5ffa4b4..c3023ab 100644 +index 5ffa4b4e26c0e874d3f63068456b3d72d8b4beb5..c3023ab052b477dde522a262a360ec312e94de22 100644 --- a/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig @@ -265,6 +265,12 @@ config BACKLIGHT_PWM @@ -130629,7 +130629,7 @@ index 5ffa4b4..c3023ab 100644 tristate "Backlight Driver for DA9030/DA9034 using WLED" depends on PMIC_DA903X diff --git a/drivers/video/backlight/Makefile b/drivers/video/backlight/Makefile -index 16ec534..00eff87 100644 +index 16ec534cff3044209adbae3495c19d97fee3ef73..00eff87fb3391300e78f055fa05d3b9647fa053d 100644 --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile @@ -50,6 +50,7 @@ obj-$(CONFIG_BACKLIGHT_PANDORA) += pandora_bl.o @@ -130642,7 +130642,7 @@ index 16ec534..00eff87 100644 obj-$(CONFIG_BACKLIGHT_TOSA) += tosa_bl.o diff --git a/drivers/video/backlight/rpi_backlight.c b/drivers/video/backlight/rpi_backlight.c new file mode 100644 -index 0000000..14a0d9b +index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd509fcbaad --- /dev/null +++ b/drivers/video/backlight/rpi_backlight.c @@ -0,0 +1,119 @@ @@ -130766,10 +130766,10 @@ index 0000000..14a0d9b +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 559659c0381164c649de4efef4b4be396234aa92 Mon Sep 17 00:00:00 2001 +From cff86b59272d0ccc3fb71e0e19e0a6e7247beef8 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 085/112] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 085/141] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -130781,7 +130781,7 @@ request that the VPU toggles LEDs. create mode 100644 drivers/gpio/gpio-bcm-virt.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index 5f3429f..86cb971 100644 +index 5f3429f0bf46970fcf376c79dca6633cd7469d5a..86cb971105296fea399bc3c51b69ba0a8834f9e6 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -142,6 +142,12 @@ config GPIO_BCM_KONA @@ -130798,7 +130798,7 @@ index 5f3429f..86cb971 100644 tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 1e0b74f..908596d 100644 +index 1e0b74f3b1ed98021f3d05b067b749b7cb1c652d..908596d99ce7b0390bfdec32a27de996efdeccd3 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -26,6 +26,7 @@ obj-$(CONFIG_GPIO_AMDPT) += gpio-amdpt.o @@ -130811,7 +130811,7 @@ index 1e0b74f..908596d 100644 obj-$(CONFIG_GPIO_CLPS711X) += gpio-clps711x.o diff --git a/drivers/gpio/gpio-bcm-virt.c b/drivers/gpio/gpio-bcm-virt.c new file mode 100644 -index 0000000..f3e0f16 +index 0000000000000000000000000000000000000000..f3e0f1620b979e4fa3c7e556eb785ac259d8cfc4 --- /dev/null +++ b/drivers/gpio/gpio-bcm-virt.c @@ -0,0 +1,179 @@ @@ -130995,17 +130995,17 @@ index 0000000..f3e0f16 +MODULE_DESCRIPTION("brcmvirt GPIO driver"); +MODULE_ALIAS("platform:brcmvirt-gpio"); -From 98bcab73852026c0cf1a2b0b74e2b0fd0f3b2ca4 Mon Sep 17 00:00:00 2001 +From d6420d123d7a7a89a53d795afb0b45b2f37cfebc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 4 Mar 2016 12:49:09 +0000 -Subject: [PATCH 086/112] DRM_VC4: Allow to be built for ARCH_BCM270x +Subject: [PATCH 086/141] DRM_VC4: Allow to be built for ARCH_BCM270x --- drivers/gpu/drm/vc4/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/Kconfig b/drivers/gpu/drm/vc4/Kconfig -index 5848104..870fea5 100644 +index 584810474e5b84b211a5cbda681ea04c41bc0055..870fea56438d718c3887f1192afdab176e72e38f 100644 --- a/drivers/gpu/drm/vc4/Kconfig +++ b/drivers/gpu/drm/vc4/Kconfig @@ -1,6 +1,6 @@ @@ -131017,10 +131017,10 @@ index 5848104..870fea5 100644 select DRM_KMS_HELPER select DRM_KMS_CMA_HELPER -From c2eadbd8dcf31ea99b87877f22c89cbe470cdb93 Mon Sep 17 00:00:00 2001 +From 75a085c420a81eed58a3911faba1d3b1d04d56f0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 087/112] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 087/141] amba_pl011: Don't use DT aliases for numbering The pl011 driver looks for DT aliases of the form "serial", and if found uses as the device ID. This can cause @@ -131032,7 +131032,7 @@ use the same logic. 1 file changed, 5 insertions(+) diff --git a/drivers/tty/serial/amba-pl011.c b/drivers/tty/serial/amba-pl011.c -index 7c198e0..4f9e97b 100644 +index 7c198e0a3178ae2ab9805c9f317c722d18b2dadf..4f9e97b8a8eeaf0a728a419e3d6614533cb67f4b 100644 --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c @@ -2413,7 +2413,12 @@ static int pl011_setup_port(struct device *dev, struct uart_amba_port *uap, @@ -131049,10 +131049,10 @@ index 7c198e0..4f9e97b 100644 uap->old_cr = 0; uap->port.dev = dev; -From a1d9a712a687313fb8fdaac4472998dfa0e993c3 Mon Sep 17 00:00:00 2001 +From 821d034efbd69567ce3c88a3d4a53d945e24e72e Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 088/112] OF: DT-Overlay configfs interface +Subject: [PATCH 088/141] 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. @@ -131105,7 +131105,7 @@ Signed-off-by: Slawomir Stepien diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 -index 0000000..5fa43e0 +index 0000000000000000000000000000000000000000..5fa43e0643072c7963daddc18cec7772910378ad --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ @@ -131141,7 +131141,7 @@ index 0000000..5fa43e0 +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig -index e2a4841..7e5e6c4 100644 +index e2a48415d9691059f1beb2afee7f134019d65ecf..7e5e6c4e77e070692cab0ed2e4b827c08c0a1c29 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -112,4 +112,11 @@ config OF_OVERLAY @@ -131157,7 +131157,7 @@ index e2a4841..7e5e6c4 100644 + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile -index 156c072..46c8f57 100644 +index 156c072b31177eab081de4e54ab28b7815e32c95..46c8f5754ed84410d7dea83bfedcbdebf3f85453 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,4 +1,5 @@ @@ -131168,7 +131168,7 @@ index 156c072..46c8f57 100644 obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c new file mode 100644 -index 0000000..68f889d +index 0000000000000000000000000000000000000000..68f889d9fa1dc19d18964aa9fd208137ed51f013 --- /dev/null +++ b/drivers/of/configfs.c @@ -0,0 +1,311 @@ @@ -131484,10 +131484,10 @@ index 0000000..68f889d +} +late_initcall(of_cfs_init); -From 010724782f8b309349d3c2a12b6dd83d77162b49 Mon Sep 17 00:00:00 2001 +From 2e3dcfa4f8c8be353bfd3e7f1178c300cfab8989 Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 089/112] brcm: adds support for BCM43341 wifi +Subject: [PATCH 089/141] brcm: adds support for BCM43341 wifi --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 2 ++ @@ -131495,7 +131495,7 @@ Subject: [PATCH 089/112] brcm: adds support for BCM43341 wifi 2 files changed, 3 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 43fd3f4..c3c7c79 100644 +index 43fd3f402ebad89f89f7d5f8afdce9613d87b5de..c3c7c799c62014cada37bed43dfa32ac4df5757e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -606,6 +606,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-sdio.bin", "brcmfmac4329-sdio.txt"); @@ -131515,7 +131515,7 @@ index 43fd3f4..c3c7c79 100644 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), diff --git a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h -index 699f2c2..15598b3 100644 +index 699f2c2782ee9d898a25c95e0c5d45744d0777ff..15598b3687a213d8c00d45965a6b9351759f47fc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h +++ b/drivers/net/wireless/broadcom/brcm80211/include/brcm_hw_ids.h @@ -35,6 +35,7 @@ @@ -131527,10 +131527,10 @@ index 699f2c2..15598b3 100644 #define BRCM_CC_4335_CHIP_ID 0x4335 #define BRCM_CC_4339_CHIP_ID 0x4339 -From f55489fb4ade061ccbd693371660caf36d211553 Mon Sep 17 00:00:00 2001 +From d043682615a7b954daf23e8eadcaaf8fe9bd9f85 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 9 Mar 2016 17:25:59 +0000 -Subject: [PATCH 090/112] brcmfmac: Disable power management +Subject: [PATCH 090/141] brcmfmac: Disable power management Disable wireless power saving in the brcmfmac WLAN driver. This is a temporary measure until the connectivity loss resulting from power @@ -131542,7 +131542,7 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index d5c2a27..5a08f59 100644 +index d5c2a27573b45cdfcbb72bf32dedc1dcd0af82da..5a08f59fdfdaa9bd9fef3cd2344c0772b75371cc 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2623,6 +2623,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, @@ -131555,10 +131555,10 @@ index d5c2a27..5a08f59 100644 if (!check_vif_up(ifp->vif)) { -From 36c71ecff2ba851b274ca489187e2e5d355d92a3 Mon Sep 17 00:00:00 2001 +From 5527e2683df540bf0e04b5a37c8c013f6c536246 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 28 Apr 2016 17:13:47 +0100 -Subject: [PATCH 091/112] brcmfmac: Use original country code as a fallback +Subject: [PATCH 091/141] brcmfmac: Use original country code as a fallback Commit 73345fd212980d2e28a5c6d83801c903bd773680: @@ -131574,7 +131574,7 @@ Signed-off-by: Phil Elwell 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 5a08f59..ceba7b6 100644 +index 5a08f59fdfdaa9bd9fef3cd2344c0772b75371cc..ceba7b6909b2b2bf4045c5f7640d531f497b505f 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -6516,12 +6516,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], @@ -131617,10 +131617,10 @@ index 5a08f59..ceba7b6 100644 ccreq->country_abbrev[1] = alpha2[1]; ccreq->country_abbrev[2] = 0; -From 8ba32398532dcaaf54d48103b2df185368f60ea1 Mon Sep 17 00:00:00 2001 +From 50f7f96858d42db11796656f882fb42b3de29615 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 19 May 2016 15:36:09 +0100 -Subject: [PATCH 092/112] brcmfmac: Plug memory leak in brcmf_fill_bss_param +Subject: [PATCH 092/141] brcmfmac: Plug memory leak in brcmf_fill_bss_param See: https://github.com/raspberrypi/linux/issues/1471 @@ -131630,7 +131630,7 @@ Signed-off-by: Phil Elwell 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index ceba7b6..afb0154 100644 +index ceba7b6909b2b2bf4045c5f7640d531f497b505f..afb01540261e99c87209aaa53aef439eb297f7c2 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2413,7 +2413,7 @@ static void brcmf_fill_bss_param(struct brcmf_if *ifp, struct station_info *si) @@ -131653,10 +131653,10 @@ index ceba7b6..afb0154 100644 static s32 -From 174c8e3972351c640c66bcd6693830f9e92b42b9 Mon Sep 17 00:00:00 2001 +From 317d6bfb4f54298726f10fbb8b693c1f9dd9d543 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 093/112] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 093/141] 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. @@ -131665,7 +131665,7 @@ other with conf_req and conf_rsp messages, in a demented game of tag. 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/bluetooth/hci_h5.c b/drivers/bluetooth/hci_h5.c -index 0879d64..5161ab3 100644 +index 0879d64b1caf58afb6e5d494c07d9ab7e7cdf983..5161ab30fd533d50f516bb93d5b9f402422e2974 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -310,7 +310,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) @@ -131679,10 +131679,10 @@ index 0879d64..5161ab3 100644 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From 0c9ada13c0fdcc04f016f6a1c2915bbea014d623 Mon Sep 17 00:00:00 2001 +From cf05bde171de8b4c833b94bdd10c52ac74e5032b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 22 Jan 2016 13:06:39 -0800 -Subject: [PATCH 094/112] drm/vc4: Add a debugfs node for tracking execution +Subject: [PATCH 094/141] drm/vc4: Add a debugfs node for tracking execution state. Signed-off-by: Eric Anholt @@ -131693,7 +131693,7 @@ Signed-off-by: Eric Anholt 3 files changed, 16 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_debugfs.c b/drivers/gpu/drm/vc4/vc4_debugfs.c -index d76ad10..a99aa86 100644 +index d76ad10b07fda3bb674f45c2151e621c60633364..a99aa8676af774977778edfa2604b6b9df31a4dc 100644 --- a/drivers/gpu/drm/vc4/vc4_debugfs.c +++ b/drivers/gpu/drm/vc4/vc4_debugfs.c @@ -17,6 +17,7 @@ @@ -131705,7 +131705,7 @@ index d76ad10..a99aa86 100644 {"hvs_regs", vc4_hvs_debugfs_regs, 0}, {"crtc0_regs", vc4_crtc_debugfs_regs, 0, (void *)(uintptr_t)0}, diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index fa2ad15..f092986 100644 +index fa2ad15d4f62b8baea68e09b52f4edf1c70bb6b6..f0929867b2337eaf781d64860c70cafd006c41b7 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -440,6 +440,7 @@ void vc4_job_handle_completed(struct vc4_dev *vc4); @@ -131717,7 +131717,7 @@ index fa2ad15..f092986 100644 /* vc4_hdmi.c */ extern struct platform_driver vc4_hdmi_driver; diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c -index 8d4384f..aa4517c 100644 +index 8d4384f8b78d2dbe88df720db6df67c0e1a31e53..aa4517c294540ac7ebc5c8c1da6b9d147409fcb4 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -32,6 +32,20 @@ @@ -131742,10 +131742,10 @@ index 8d4384f..aa4517c 100644 vc4_queue_hangcheck(struct drm_device *dev) { -From 2c2e90ab782f4b9db459c66e0154a05d34f4f4df Mon Sep 17 00:00:00 2001 +From e39aef9e56740de914419ba554e389aeb510cf17 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:03:33 -0800 -Subject: [PATCH 095/112] drm/vc4: Include vc4_drm.h in uapi in downstream +Subject: [PATCH 095/141] drm/vc4: Include vc4_drm.h in uapi in downstream build. Signed-off-by: Eric Anholt @@ -131754,7 +131754,7 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+) diff --git a/include/uapi/drm/Kbuild b/include/uapi/drm/Kbuild -index 9355dd8..68828bf 100644 +index 9355dd8eff3ba39401dfe37e7fbf7737f0397f11..68828bf586f05a8d9b0a6ab409ee91a700e3d296 100644 --- a/include/uapi/drm/Kbuild +++ b/include/uapi/drm/Kbuild @@ -15,6 +15,7 @@ header-y += radeon_drm.h @@ -131766,10 +131766,10 @@ index 9355dd8..68828bf 100644 header-y += vmwgfx_drm.h header-y += msm_drm.h -From e4d849c391c93467f940a0a0597aadecac8280c3 Mon Sep 17 00:00:00 2001 +From 1445705cda455057da82f094d744b42614990081 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 30 Mar 2016 17:23:15 +0100 -Subject: [PATCH 096/112] cpufreq: Temporarily ignore io_is_busy=1 +Subject: [PATCH 096/141] cpufreq: Temporarily ignore io_is_busy=1 To speed testing of the new sdhost driver that adapts to changes in core_freq, hack the on-demand governor to treat io_is_busy=1 as @@ -131782,7 +131782,7 @@ Signed-off-by: Phil Elwell 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c -index acd8027..72c5a4c 100644 +index acd80272ded67b46ad651cb0eceb92bdf71e26d7..72c5a4c7d6e40bd7407c769c0f6c418fb15df665 100644 --- a/drivers/cpufreq/cpufreq_ondemand.c +++ b/drivers/cpufreq/cpufreq_ondemand.c @@ -216,7 +216,12 @@ static ssize_t store_io_is_busy(struct dbs_data *dbs_data, const char *buf, @@ -131800,10 +131800,10 @@ index acd8027..72c5a4c 100644 /* we need to re-evaluate prev_cpu_idle */ gov_update_cpu_data(dbs_data); -From 40a25975ace859d18a5c762120410e76e30c6913 Mon Sep 17 00:00:00 2001 +From 25d37064e0f87f94588189383c5a6f046d6a40e2 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 27 Apr 2016 16:59:24 +0100 -Subject: [PATCH 097/112] Revert "ASoC: bcm2835: move to use the clock +Subject: [PATCH 097/141] Revert "ASoC: bcm2835: move to use the clock framework" This reverts commit 517e7a1537ae4663268be5d0c0ec62c563b9fc99. @@ -131812,7 +131812,7 @@ This reverts commit 517e7a1537ae4663268be5d0c0ec62c563b9fc99. 1 file changed, 220 insertions(+), 64 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 1c1f221..3303d5f 100644 +index 1c1f2210387b26e9551959378f6792f18648652e..3303d5f58082f68b68b535b2bdf7ce8d14cafcc4 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -37,7 +37,6 @@ @@ -132226,10 +132226,10 @@ index 1c1f221..3303d5f 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = -From ce05b2f56809ac6d6fc39b1d382c7a88fd3a0ebf Mon Sep 17 00:00:00 2001 +From bf5e66083934b97759193da2ac7815d83030ecd2 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 16:44:05 +0200 -Subject: [PATCH 098/112] bcm2835-i2s: get base address for DMA from devicetree +Subject: [PATCH 098/141] bcm2835-i2s: get base address for DMA from devicetree Code copied from spi-bcm2835. Get physical address from devicetree instead of using hardcoded constant. @@ -132240,7 +132240,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 3303d5f..0f25db4 100644 +index 3303d5f58082f68b68b535b2bdf7ce8d14cafcc4..0f25db4cd198c0a511e8a205b0cb2be62ba94adf 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -38,6 +38,7 @@ @@ -132294,10 +132294,10 @@ index 3303d5f..0f25db4 100644 /* Set the bus width */ dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr_width = -From 850fff7d23a4c30d807800ab211a20150cabd7dd Mon Sep 17 00:00:00 2001 +From 11cf17d3b76e1772c2bd476ad96f9602140b1195 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:21:16 +0200 -Subject: [PATCH 099/112] bcm2835-i2s: add 24bit support, update bclk_ratio to +Subject: [PATCH 099/141] bcm2835-i2s: add 24bit support, update bclk_ratio to more correct values Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132329,7 +132329,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 0f25db4..0f35d7c 100644 +index 0f25db4cd198c0a511e8a205b0cb2be62ba94adf..0f35d7c0f4026bb50a7223461b907b9797bd9a05 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -340,11 +340,15 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132376,10 +132376,10 @@ index 0f25db4..0f35d7c 100644 }, .ops = &bcm2835_i2s_dai_ops, -From b894b45bff565b28d87749b279d170d71f4c0d38 Mon Sep 17 00:00:00 2001 +From deac8e03b5f8d2a28805a97a0d864ebe385833a7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:25:51 +0200 -Subject: [PATCH 100/112] bcm2835-i2s: setup clock only if CPU is clock master +Subject: [PATCH 100/141] bcm2835-i2s: setup clock only if CPU is clock master Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132395,7 +132395,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 0f35d7c..d5e4123 100644 +index 0f35d7c0f4026bb50a7223461b907b9797bd9a05..d5e412302811ed8b007fc53f0aa2b5ddd12774b6 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -411,15 +411,25 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132434,10 +132434,10 @@ index 0f35d7c..d5e4123 100644 /* Setup the frame format */ format = BCM2835_I2S_CHEN; -From be5be707c0bfe4d1321fcf71eb4cb2e671242e5a Mon Sep 17 00:00:00 2001 +From 70b503114dc866d4d5071c8c97239c0ce602820a Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:49:51 +0200 -Subject: [PATCH 101/112] bcm2835-i2s: Eliminate debugfs directory error +Subject: [PATCH 101/141] bcm2835-i2s: Eliminate debugfs directory error Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132453,7 +132453,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 2 insertions(+) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index d5e4123..2d29050 100644 +index d5e412302811ed8b007fc53f0aa2b5ddd12774b6..2d29050e739b0af02d0f5122d18178b61c024bea 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -782,6 +782,7 @@ static const struct regmap_config bcm2835_regmap_config[] = { @@ -132473,10 +132473,10 @@ index d5e4123..2d29050 100644 }; -From af82bfa28e67faec4a7e76a42a072c515d811d52 Mon Sep 17 00:00:00 2001 +From 754316c1f9eff51f3e67fc3cd560f099b018a2a7 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:35:20 +0200 -Subject: [PATCH 102/112] bcm2835-i2s: Register PCM device +Subject: [PATCH 102/141] bcm2835-i2s: Register PCM device Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132498,7 +132498,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 2d29050..ce93ef0 100644 +index 2d29050e739b0af02d0f5122d18178b61c024bea..ce93ef0579ab142c788736f0d309c92636b8983d 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -799,6 +799,25 @@ static const struct snd_soc_component_driver bcm2835_i2s_component = { @@ -132539,10 +132539,10 @@ index 2d29050..ce93ef0 100644 dev_err(&pdev->dev, "Could not register PCM: %d\n", ret); return ret; -From 8dd6e217efb4300cfecb77e2850261c82939b1b9 Mon Sep 17 00:00:00 2001 +From 66bc1d865712ae9effaec8e4b8da7f1906a777cc Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 11 Oct 2015 15:55:21 +0200 -Subject: [PATCH 103/112] bcm2835-i2s: Enable MMAP support via a DT property +Subject: [PATCH 103/141] bcm2835-i2s: Enable MMAP support via a DT property Code ported from bcm2708-i2s driver in Raspberry Pi tree. @@ -132561,7 +132561,7 @@ Signed-off-by: Matthias Reichl 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index ce93ef0..6f60c2c 100644 +index ce93ef0579ab142c788736f0d309c92636b8983d..6f60c2cebb412524bb0e30d0339fe556680e8637 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -799,7 +799,7 @@ static const struct snd_soc_component_driver bcm2835_i2s_component = { @@ -132586,10 +132586,10 @@ index ce93ef0..6f60c2c 100644 for (i = 0; i <= 1; i++) { void __iomem *base; -From 4d762184d0d50fbe07063214a878fa1543d38ab7 Mon Sep 17 00:00:00 2001 +From b4998d4d96f2ca56fb471064f18868881d019025 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 21 Apr 2016 15:44:14 +0100 -Subject: [PATCH 104/112] bcm2835-i2s: Reduce the TX DREQ threshold +Subject: [PATCH 104/141] bcm2835-i2s: Reduce the TX DREQ threshold TX FIFO overrun is thought to be the cause of channel swapping, so reducing the DREQ threshold seems reasonable and appears to be @@ -132603,7 +132603,7 @@ Signed-off-by: Phil Elwell 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/sound/soc/bcm/bcm2835-i2s.c b/sound/soc/bcm/bcm2835-i2s.c -index 6f60c2c..b26f958 100644 +index 6f60c2cebb412524bb0e30d0339fe556680e8637..b26f9587dec01d62606df3f47b3ef00c908fa05b 100644 --- a/sound/soc/bcm/bcm2835-i2s.c +++ b/sound/soc/bcm/bcm2835-i2s.c @@ -555,15 +555,22 @@ static int bcm2835_i2s_hw_params(struct snd_pcm_substream *substream, @@ -132637,10 +132637,10 @@ index 6f60c2c..b26f958 100644 /* Clear FIFOs */ bcm2835_i2s_clear_fifos(dev, true, true); -From a4ad1b582b945b1868372961637e6097fc9992b7 Mon Sep 17 00:00:00 2001 +From ca47c312b4e2e4ac7b62269cb1969fe93f9e7281 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Oct 2015 11:32:14 -0700 -Subject: [PATCH 105/112] drm/vc4: Force HDMI to connected. +Subject: [PATCH 105/141] drm/vc4: Force HDMI to connected. For some reason on the downstream tree, the HPD GPIO isn't working. @@ -132650,7 +132650,7 @@ Signed-off-by: Eric Anholt 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c -index d8b8649..136847e 100644 +index d8b864925fd38757cdc12e72d5ea102f32d2af09..136847ea795c58b8f0b2363a36242de512a01f83 100644 --- a/drivers/gpu/drm/vc4/vc4_hdmi.c +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -166,6 +166,8 @@ vc4_hdmi_connector_detect(struct drm_connector *connector, bool force) @@ -132663,10 +132663,10 @@ index d8b8649..136847e 100644 if (gpio_get_value_cansleep(vc4->hdmi->hpd_gpio) ^ vc4->hdmi->hpd_active_low) -From a94b7f4be0aa17065bb07c3e21bc5634148f15af Mon Sep 17 00:00:00 2001 +From 2dbc6f9d2e88b26d2c25e95f5e4eeb028d973d08 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 106/112] Add Support for JustBoom Audio boards +Subject: [PATCH 106/141] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -132686,7 +132686,7 @@ Signed-off-by: Phil Elwell create mode 100644 sound/soc/bcm/justboom-digi.c diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index f42c5eb..055ecfc 100644 +index f42c5ebcbff904746a282a3d6fb13483e32c7fd8..055ecfcfea6df119dda49a1ffdb1e5a34ccef0c0 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -856,8 +856,8 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m @@ -132701,7 +132701,7 @@ index f42c5eb..055ecfc 100644 CONFIG_SND_BCM2708_SOC_RASPIDAC3=m CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 8bd0207..8e0b51f 100644 +index 8bd02073ab8f35ef28db5fcd628e3e44a922c0ea..8e0b51f853c055beb9fc6e8bf18f3ee2e54d6010 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -848,8 +848,8 @@ CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI=m @@ -132716,7 +132716,7 @@ index 8bd0207..8e0b51f 100644 CONFIG_SND_BCM2708_SOC_RASPIDAC3=m CONFIG_SND_BCM2708_SOC_ADAU1977_ADC=m diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 1a3f826..e2e2782 100644 +index 1a3f8264403d64690fef60d41df38d21d3eb6030..e2e2782a2f8af27c1782993bd63747b620f26e1e 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -50,6 +50,20 @@ config SND_BCM2708_SOC_RPI_PROTO @@ -132741,7 +132741,7 @@ index 1a3f826..e2e2782 100644 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 b21e11e..6c9714c 100644 +index b21e11ee36e17a29bfae9c4eda78f73ca9c23d48..6c9714c377375b38c2210ac98be8f3759224e76c 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -8,6 +8,8 @@ snd-soc-hifiberry-dac-objs := hifiberry_dac.o @@ -132764,7 +132764,7 @@ index b21e11e..6c9714c 100644 obj-$(CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC) += snd-soc-iqaudio-dac.o diff --git a/sound/soc/bcm/justboom-dac.c b/sound/soc/bcm/justboom-dac.c new file mode 100644 -index 0000000..8fd50db +index 0000000000000000000000000000000000000000..8fd50dbe681508a2cfe8fdde1c9fedbe9a507fa7 --- /dev/null +++ b/sound/soc/bcm/justboom-dac.c @@ -0,0 +1,162 @@ @@ -132932,7 +132932,7 @@ index 0000000..8fd50db +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/bcm/justboom-digi.c b/sound/soc/bcm/justboom-digi.c new file mode 100644 -index 0000000..91acb66 +index 0000000000000000000000000000000000000000..91acb666380faa3c0deb2230f8a0f8bbec59417b --- /dev/null +++ b/sound/soc/bcm/justboom-digi.c @@ -0,0 +1,215 @@ @@ -133152,10 +133152,10 @@ index 0000000..91acb66 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From 0d68cea7db444b04ae097d5e63136411dea4921a Mon Sep 17 00:00:00 2001 +From 551fc3a7b5be40ebd9dcfad48f6f9c4466e6097b Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 19 Apr 2016 15:55:02 -0700 -Subject: [PATCH 107/112] ARM: bcm2708: Enable building power domain driver. +Subject: [PATCH 107/141] ARM: bcm2708: Enable building power domain driver. Signed-off-by: Eric Anholt --- @@ -133163,7 +133163,7 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/bcm/Kconfig b/drivers/soc/bcm/Kconfig -index 3066ede..e235181 100644 +index 3066edea184d765a670ded0cead470597654abc1..e23518142ceac6651641cc30c327d60dded319d5 100644 --- a/drivers/soc/bcm/Kconfig +++ b/drivers/soc/bcm/Kconfig @@ -1,6 +1,6 @@ @@ -133175,10 +133175,10 @@ index 3066ede..e235181 100644 select PM_GENERIC_DOMAINS if PM select PM_GENERIC_DOMAINS_OF if PM -From 784438a5dc789d610f4751092450f10492c28ab1 Mon Sep 17 00:00:00 2001 +From 4c7e0a46312fb5f62800e37ba03048b4351d9842 Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 108/112] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 108/141] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -133194,7 +133194,7 @@ Signed-off-by: Andrey Grodzovsky create mode 100644 sound/soc/bcm/adau1977-adc.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index e2e2782..59890cc 100644 +index e2e2782a2f8af27c1782993bd63747b620f26e1e..59890cc0d6b531021e20d8117b0e3fa26a5343ee 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -78,3 +78,10 @@ config SND_BCM2708_SOC_RASPIDAC3 @@ -133209,7 +133209,7 @@ index e2e2782..59890cc 100644 + help + Say Y or M if you want to add support for ADAU1977 ADC. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 6c9714c..d3124f5 100644 +index 6c9714c377375b38c2210ac98be8f3759224e76c..d3124f579475524a739ced533f6dff69394eee1c 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -4,6 +4,7 @@ snd-soc-bcm2835-i2s-objs := bcm2835-i2s.o @@ -133230,7 +133230,7 @@ index 6c9714c..d3124f5 100644 obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DIGI) += snd-soc-hifiberry-digi.o diff --git a/sound/soc/bcm/adau1977-adc.c b/sound/soc/bcm/adau1977-adc.c new file mode 100644 -index 0000000..6e2ee02 +index 0000000000000000000000000000000000000000..6e2ee027926ee63c89222f75ceb89e3d2434b0e1 --- /dev/null +++ b/sound/soc/bcm/adau1977-adc.c @@ -0,0 +1,125 @@ @@ -133360,10 +133360,10 @@ index 0000000..6e2ee02 +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From 058b1c59ce37fcb00b3e79ccc755071a4befbfbe Mon Sep 17 00:00:00 2001 +From 2915d3fe75841c1b6b1508c4e3268b4f19fa16f4 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 109/112] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 109/141] 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. @@ -133378,7 +133378,7 @@ Thanks to Phil Elwell (pelwell) for the review, simple-card concepts and discuss create mode 100644 sound/soc/bcm/audioinjector-pi-soundcard.c diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index 59890cc..e2e40ed 100644 +index 59890cc0d6b531021e20d8117b0e3fa26a5343ee..e2e40eda90f447a4700767071715e263bfa9a6e7 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -85,3 +85,10 @@ config SND_BCM2708_SOC_ADAU1977_ADC @@ -133393,7 +133393,7 @@ index 59890cc..e2e40ed 100644 + help + Say Y or M if you want to add support for audioinjector.net Pi Hat diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index d3124f5..3353192 100644 +index d3124f579475524a739ced533f6dff69394eee1c..3353192be30394bd595423dccec17838e3054a1d 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -15,6 +15,7 @@ snd-soc-rpi-dac-objs := rpi-dac.o @@ -133412,7 +133412,7 @@ index d3124f5..3353192 100644 + diff --git a/sound/soc/bcm/audioinjector-pi-soundcard.c b/sound/soc/bcm/audioinjector-pi-soundcard.c new file mode 100644 -index 0000000..39f29e2 +index 0000000000000000000000000000000000000000..39f29e26897226a413b4fa0a11a9bc160a485281 --- /dev/null +++ b/sound/soc/bcm/audioinjector-pi-soundcard.c @@ -0,0 +1,142 @@ @@ -133559,10 +133559,10 @@ index 0000000..39f29e2 +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From a1ec52a636f077026d798cf1b0ea541969fc6bb1 Mon Sep 17 00:00:00 2001 +From 2bafcb3644db94135a9ab7f7625a6dbc7998c6c7 Mon Sep 17 00:00:00 2001 From: Dave Stevenson <6by9@users.noreply.github.com> Date: Wed, 25 May 2016 23:25:36 +0100 -Subject: [PATCH 110/112] BCM2835-V4L2: Correct handling for BGR24 vs RGB24. +Subject: [PATCH 110/141] BCM2835-V4L2: Correct handling for BGR24 vs RGB24. There was a bug in the GPU firmware that had reversed these two formats. @@ -133575,7 +133575,7 @@ Signed-off-by: Dave Stevenson <6by9@users.noreply.github.com> 2 files changed, 52 insertions(+), 18 deletions(-) diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c -index 1b16c63..70f4db2 100644 +index 1b16c63315195c043c41d6676ecfedd004c92cd3..70f4db2741037381e638d1dda5a95478809eb161 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.c +++ b/drivers/media/platform/bcm2835/bcm2835-camera.c @@ -115,7 +115,7 @@ static struct mmal_fmt formats[] = { @@ -133722,7 +133722,7 @@ index 1b16c63..70f4db2 100644 &bool_true, sizeof(bool_true)); diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.h b/drivers/media/platform/bcm2835/bcm2835-camera.h -index 13f426f..e6aeb7e 100644 +index 13f426f5ecdffeab714d658a6f8b76e63af5fcdb..e6aeb7e7e381de65d6c6586205069a4c5cd33274 100644 --- a/drivers/media/platform/bcm2835/bcm2835-camera.h +++ b/drivers/media/platform/bcm2835/bcm2835-camera.h @@ -109,6 +109,7 @@ struct bm2835_mmal_dev { @@ -133734,10 +133734,10 @@ index 13f426f..e6aeb7e 100644 int bm2835_mmal_init_controls( -From 832e08b8fc321330a0c3ea4097afc2a4f9ac5229 Mon Sep 17 00:00:00 2001 +From 3b61b4f1eef2f7e6935ccb87cb7f3d2b3373b345 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 111/112] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 111/141] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -133750,7 +133750,7 @@ Subject: [PATCH 111/112] New driver for RRA DigiDAC1 soundcard using WM8741 + create mode 100644 sound/soc/bcm/digidac1-soundcard.c diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 055ecfc..1643dab 100644 +index 055ecfcfea6df119dda49a1ffdb1e5a34ccef0c0..1643dab1f04fdca37c71eb66cfc3c2a81bff9094 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -862,6 +862,7 @@ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m @@ -133762,7 +133762,7 @@ index 055ecfc..1643dab 100644 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 8e0b51f..d936b43 100644 +index 8e0b51f853c055beb9fc6e8bf18f3ee2e54d6010..d936b43acaf2f28331e75b42b9f2bb7ff3fdbdf8 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -854,6 +854,7 @@ CONFIG_SND_BCM2708_SOC_IQAUDIO_DAC=m @@ -133774,7 +133774,7 @@ index 8e0b51f..d936b43 100644 CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m diff --git a/sound/soc/bcm/Kconfig b/sound/soc/bcm/Kconfig -index e2e40ed..fa11cd7 100644 +index e2e40eda90f447a4700767071715e263bfa9a6e7..fa11cd792824f21424a3b798336b676d33181a43 100644 --- a/sound/soc/bcm/Kconfig +++ b/sound/soc/bcm/Kconfig @@ -92,3 +92,11 @@ config SND_AUDIOINJECTOR_PI_SOUNDCARD @@ -133790,7 +133790,7 @@ index e2e40ed..fa11cd7 100644 + help + Say Y or M if you want to add support for Red Rocks Audio DigiDAC1 board. diff --git a/sound/soc/bcm/Makefile b/sound/soc/bcm/Makefile -index 3353192..a9448fd 100644 +index 3353192be30394bd595423dccec17838e3054a1d..a9448fdcd6bcc4e4cb96e985fbe758aea002ddd8 100644 --- a/sound/soc/bcm/Makefile +++ b/sound/soc/bcm/Makefile @@ -16,6 +16,7 @@ snd-soc-rpi-proto-objs := rpi-proto.o @@ -133809,7 +133809,7 @@ index 3353192..a9448fd 100644 diff --git a/sound/soc/bcm/digidac1-soundcard.c b/sound/soc/bcm/digidac1-soundcard.c new file mode 100644 -index 0000000..446796e +index 0000000000000000000000000000000000000000..446796e7e4c14a7d95b2f2a01211d9a0b151f1f3 --- /dev/null +++ b/sound/soc/bcm/digidac1-soundcard.c @@ -0,0 +1,422 @@ @@ -134236,10 +134236,10 @@ index 0000000..446796e +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 08e6e26332f67bba22622015cd7b4845e21eb66f Mon Sep 17 00:00:00 2001 +From 479a6ffe6b719820ac669c1e042e646920867d4e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 3 Jun 2016 21:56:40 +0100 -Subject: [PATCH 112/112] BCM270X_DT: Fix rpi-dac overlay +Subject: [PATCH 112/141] BCM270X_DT: Fix rpi-dac overlay The rpi-dac overlay is almost identical to the hifiberry-dac overlay - the codec used is different but it also doesn't sit on the I2C bus. As @@ -134260,7 +134260,7 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts -index 1523eae..a442c8f0 100644 +index 1523eae9c39997aa68cfa583ada92a92395bb1e0..a442c8f0ec01b7503f32e070683a984e895f5668 100644 --- a/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts +++ b/arch/arm/boot/dts/overlays/rpi-dac-overlay.dts @@ -13,7 +13,7 @@ @@ -134272,3 +134272,2868 @@ index 1523eae..a442c8f0 100644 __overlay__ { pcm1794a-codec { #sound-dai-cells = <0>; + +From bb0ef413edcede6e42061192519b8980c04b23c4 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 3 Jun 2016 22:21:47 +0100 +Subject: [PATCH 113/141] BCM270X_DT: Add mcp23017 to the overlay Makefile + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index 0adb5b92c047cb7e12871cf75515f822924924cd..c514bbfe7384f58d5db4e861d842bd772cc4e51a 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -44,6 +44,7 @@ dtbo-$(RPI_DT_OVERLAYS) += iqaudio-dacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += justboom-dac.dtbo + dtbo-$(RPI_DT_OVERLAYS) += justboom-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += lirc-rpi.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += mcp23017.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can0.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mcp2515-can1.dtbo + dtbo-$(RPI_DT_OVERLAYS) += mmc.dtbo + +From f67c8a94671cafe879b02e0e94668186c8d955d3 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Fri, 3 Jun 2016 23:01:01 +0100 +Subject: [PATCH 114/141] BCM270X_DT: Sort entries to placate check script + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/Makefile | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index c514bbfe7384f58d5db4e861d842bd772cc4e51a..ed62846e18e4d3098169f05a1a8ba16caf1619aa 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -18,10 +18,10 @@ dtbo-$(RPI_DT_OVERLAYS) += akkordion-iqdacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += at86rf233.dtbo + dtbo-$(RPI_DT_OVERLAYS) += audioinjector-wm8731-audio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += bmp085_i2c-sensor.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo + dtbo-$(RPI_DT_OVERLAYS) += dpi24.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo + dtbo-$(RPI_DT_OVERLAYS) += dwc-otg.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += dht11.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += dwc2.dtbo + dtbo-$(RPI_DT_OVERLAYS) += enc28j60.dtbo + dtbo-$(RPI_DT_OVERLAYS) += gpio-ir.dtbo + dtbo-$(RPI_DT_OVERLAYS) += gpio-poweroff.dtbo +@@ -31,10 +31,10 @@ dtbo-$(RPI_DT_OVERLAYS) += hifiberry-dacplus.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hifiberry-digi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo + dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-mux.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo + dtbo-$(RPI_DT_OVERLAYS) += i2s-gpio28-31.dtbo +@@ -73,16 +73,16 @@ dtbo-$(RPI_DT_OVERLAYS) += sdhost.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdio.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdio-1bit.dtbo + dtbo-$(RPI_DT_OVERLAYS) += sdtweak.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-nand.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-3cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi2-3cs.dtbo +-dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo + dtbo-$(RPI_DT_OVERLAYS) += tinylcd35.dtbo + dtbo-$(RPI_DT_OVERLAYS) += uart1.dtbo + dtbo-$(RPI_DT_OVERLAYS) += vc4-kms-v3d.dtbo + +From a61997c98da5dac2a50f2000b5a717d015a81c5c Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Sat, 4 Jun 2016 11:30:48 +0200 +Subject: [PATCH 115/141] gpio-ir overlay: gpio_pin shouldn't change pull + setting + +Signed-off-by: Matthias Reichl +--- + arch/arm/boot/dts/overlays/gpio-ir-overlay.dts | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts +index a2d6bc79f4cd2604e6c65c000668cbb228327fe6..af5baf7ddc92be7a59ad3d5f9a9fefba915bed05 100644 +--- a/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts ++++ b/arch/arm/boot/dts/overlays/gpio-ir-overlay.dts +@@ -36,8 +36,7 @@ + __overrides__ { + // parameters + gpio_pin = <&gpio_ir>,"gpios:4", +- <&gpio_ir_pins>,"brcm,pins:0", +- <&gpio_ir_pins>,"brcm,pull:0"; // pin number ++ <&gpio_ir_pins>,"brcm,pins:0"; // pin number + gpio_pull = <&gpio_ir_pins>,"brcm,pull:0"; // pull-up/down state + + rc-map-name = <&gpio_ir>,"linux,rc-map-name"; // default rc map + +From 549c9c26f51356244b8facd14038740289c89aa4 Mon Sep 17 00:00:00 2001 +From: Nicolas Boullis +Date: Sat, 4 Jun 2016 00:57:06 +0200 +Subject: [PATCH 116/141] Implement a "wakeup-source" option for the i2c-rtc + DeviceTree overlay. + +See: https://github.com/raspberrypi/linux/pull/1511 +--- + arch/arm/boot/dts/overlays/README | 3 +++ + arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts | 4 ++++ + 2 files changed, 7 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 1516cc2e1616bb5e0cb519e05eee6776fe84e52a..628cff3fc60a13b26b3f2f572573884df480c7bf 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -445,6 +445,9 @@ Params: ds1307 Select the DS1307 device + + trickle-resistor-ohms Resistor value for trickle charge (DS1339-only) + ++ wakeup-source Specify that the RTC can be used as a wakeup ++ source ++ + + Name: i2c0-bcm2708 + Info: Enable the i2c_bcm2708 driver for the i2c0 bus. Not all pin combinations +diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +index 40656474dfc16505433221a745c1d129c2737399..8b6f978155c02409eeb7c83353b8194fa3462435 100644 +--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts +@@ -65,5 +65,9 @@ + pcf8523 = <&pcf8523>,"status"; + pcf8563 = <&pcf8563>,"status"; + trickle-resistor-ohms = <&ds1339>,"trickle-resistor-ohms:0"; ++ wakeup-source = <&ds1339>,"wakeup-source?", ++ <&ds3231>,"wakeup-source?", ++ <&mcp7940x>,"wakeup-source?", ++ <&mcp7941x>,"wakeup-source?"; + }; + }; + +From c06fb46084b19a1ec9d2558123fdd8d985894c0b Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Mon, 6 Jun 2016 09:23:37 +0100 +Subject: [PATCH 117/141] BCM270X_DT: Make i2c-gpio usable by other overlays + +Modify the i2c-gpio overlay to export symbol i2c-gpio for use by other +overlays. Export the alias as well for good measure. + +Signed-off-by: Phil Elwell +--- + arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +index 2a2dc986770cfb036492ba8de19cbaff521c5fd5..b72b32e936774d901bc253b06e025c2dd48bdb1b 100644 +--- a/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts ++++ b/arch/arm/boot/dts/overlays/i2c-gpio-overlay.dts +@@ -19,6 +19,21 @@ + }; + }; + }; ++ ++ fragment@1 { ++ target-path = "/aliases"; ++ __overlay__ { ++ i2c_gpio = "/i2c@0"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "/__symbols__"; ++ __overlay__ { ++ i2c_gpio = "/i2c@0"; ++ }; ++ }; ++ + __overrides__ { + i2c_gpio_sda = <&i2c_gpio>,"gpios:4"; + i2c_gpio_scl = <&i2c_gpio>,"gpios:16"; + +From 799bff74f1ae77aa57bf49dca599607e50409d26 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:13 +0000 +Subject: [PATCH 118/141] Revert "bcm2835-dma: Fix up convert to DMA pool" + +This reverts commit ec2e48fda22c57cab56a4332d1a095f91c919493. +--- + drivers/dma/bcm2835-dma.c | 36 ++++++++++-------------------------- + 1 file changed, 10 insertions(+), 26 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index d26b6bdbcf1ab33ab92937b889a37e505c925311..6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -488,17 +488,6 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + c->cyclic = true; + + return vchan_tx_prep(&c->vc, &d->vd, flags); +-error_cb: +- i--; +- for (; i >= 0; i--) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- dma_pool_free(c->cb_pool, cb_entry->cb, cb_entry->paddr); +- } +- +- kfree(d->cb_list); +- kfree(d); +- return NULL; + } + + static struct dma_async_tx_descriptor * +@@ -545,7 +534,6 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + if (!d) + return NULL; + +- d->c = c; + d->dir = direction; + + if (c->ch >= 8) /* LITE channel */ +@@ -565,21 +553,15 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + d->frames += len / max_size + 1; + } + +- d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); +- if (!d->cb_list) { ++ /* Allocate memory for control blocks */ ++ d->control_block_size = d->frames * sizeof(struct bcm2835_dma_cb); ++ d->control_block_base = dma_zalloc_coherent(chan->device->dev, ++ d->control_block_size, &d->control_block_base_phys, ++ GFP_NOWAIT); ++ if (!d->control_block_base) { + kfree(d); + return NULL; + } +- /* Allocate memory for control blocks */ +- for (i = 0; i < d->frames; i++) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- cb_entry->cb = dma_pool_zalloc(c->cb_pool, GFP_ATOMIC, +- &cb_entry->paddr); +- +- if (!cb_entry->cb) +- goto error_cb; +- } + + /* + * Iterate over all SG entries, create a control block +@@ -596,7 +578,7 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + + for (j = 0; j < len; j += max_size) { + struct bcm2835_dma_cb *control_block = +- d->cb_list[i + split_cnt].cb; ++ &d->control_block_base[i + split_cnt]; + + /* Setup addresses */ + if (d->dir == DMA_DEV_TO_MEM) { +@@ -638,7 +620,9 @@ bcm2835_dma_prep_slave_sg(struct dma_chan *chan, + if (i < sg_len - 1 || len - j > max_size) { + /* Next block is the next frame. */ + control_block->next = +- d->cb_list[i + split_cnt + 1].paddr; ++ d->control_block_base_phys + ++ sizeof(struct bcm2835_dma_cb) * ++ (i + split_cnt + 1); + } else { + /* Next block is empty. */ + control_block->next = 0; + +From d0977a4a2c665e1351ec9508e9af97c217b48439 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:22 +0000 +Subject: [PATCH 119/141] Revert "bcm2835-dma: Limit cyclic transfers on lite + channels to 32k" + +This reverts commit 052c2005b6ecedc5abad86632f5781adda310aa7. +--- + drivers/dma/bcm2835-dma.c | 8 +------- + 1 file changed, 1 insertion(+), 7 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 6b87ce2bb3c9d30e54e0da4f76586d3f077f6aa9..5db0a95985b20a2086c65762ea8f125511f67471 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -144,12 +144,6 @@ struct bcm2835_desc { + */ + #define MAX_LITE_TRANSFER (SZ_64K - 4) + +-/* +- * Transfers larger than 32k cause issues with the bcm2708-i2s driver, +- * so limit transfer size to 32k as bcm2708-dmaengine did. +- */ +-#define MAX_CYCLIC_LITE_TRANSFER SZ_32K +- + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -418,7 +412,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + d->c = c; + d->dir = direction; + if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_CYCLIC_LITE_TRANSFER; ++ max_size = MAX_LITE_TRANSFER; + else + max_size = MAX_NORMAL_TRANSFER; + period_len = min(period_len, max_size); + +From 4a64f5f017ecae96c04fd32392ddd5cd52558842 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:30 +0000 +Subject: [PATCH 120/141] Revert "dmaengine: bcm2835: Load driver early and + support legacy API" + +This reverts commit 6f56fff39c811953809b011f59c49a2122c4d173. +--- + drivers/dma/Kconfig | 2 +- + drivers/dma/bcm2835-dma.c | 30 ++++++------------------------ + 2 files changed, 7 insertions(+), 25 deletions(-) + +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index b7863f0cf95ca656859a355098aa334e20d121c3..1acfa84be0d1f74f5a830b04cab05ba7fa0841ab 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -108,7 +108,7 @@ config COH901318 + + config DMA_BCM2835 + tristate "BCM2835 DMA engine support" +- depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709 ++ depends on ARCH_BCM2835 + select DMA_ENGINE + select DMA_VIRTUAL_CHANNELS + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 5db0a95985b20a2086c65762ea8f125511f67471..696fb30b4f5a01cda9b98038b8e548368cea05f4 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -36,7 +36,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -787,10 +786,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + if (IS_ERR(base)) + return PTR_ERR(base); + +- rc = bcm_dmaman_probe(pdev, base, BCM2835_DMA_BULK_MASK); +- if (rc) +- dev_err(&pdev->dev, "Failed to initialize the legacy API\n"); +- + od->base = base; + + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); +@@ -823,8 +818,11 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- /* Channel 0 is used by the legacy API */ +- chans_available &= ~BCM2835_DMA_BULK_MASK; ++ /* ++ * Do not use the FIQ and BULK channels, ++ * because they are used by the GPU. ++ */ ++ chans_available &= ~(BCM2835_DMA_FIQ_MASK | BCM2835_DMA_BULK_MASK); + + for (i = 0; i < pdev->num_resources; i++) { + irq = platform_get_irq(pdev, i); +@@ -868,7 +866,6 @@ static int bcm2835_dma_remove(struct platform_device *pdev) + { + struct bcm2835_dmadev *od = platform_get_drvdata(pdev); + +- bcm_dmaman_remove(pdev); + dma_async_device_unregister(&od->ddev); + bcm2835_dma_free(od); + +@@ -884,22 +881,7 @@ static struct platform_driver bcm2835_dma_driver = { + }, + }; + +-static int bcm2835_dma_init(void) +-{ +- return platform_driver_register(&bcm2835_dma_driver); +-} +- +-static void bcm2835_dma_exit(void) +-{ +- platform_driver_unregister(&bcm2835_dma_driver); +-} +- +-/* +- * Load after serial driver (arch_initcall) so we see the messages if it fails, +- * but before drivers (module_init) that need a DMA channel. +- */ +-subsys_initcall(bcm2835_dma_init); +-module_exit(bcm2835_dma_exit); ++module_platform_driver(bcm2835_dma_driver); + + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + +From 0244c07ee2b2b9d18bd877c0619ee9a514c86c97 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 17:17:37 +0000 +Subject: [PATCH 121/141] Revert "dmaengine: bcm2835: Add slave dma support" + +This reverts commit 8a349301238aabb40c9da5ca8c8492b6b8d146f6. +--- + drivers/dma/bcm2835-dma.c | 206 ++++------------------------------------------ + 1 file changed, 14 insertions(+), 192 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 696fb30b4f5a01cda9b98038b8e548368cea05f4..2d72fe81243fbbcc92f52e1935ed48b6cbc23665 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -1,10 +1,11 @@ + /* + * BCM2835 DMA engine support + * ++ * This driver only supports cyclic DMA transfers ++ * as needed for the I2S module. ++ * + * Author: Florian Meier + * Copyright 2013 +- * Gellert Weisz +- * Copyright 2013-2014 + * + * Based on + * OMAP DMAengine support by Russell King +@@ -94,8 +95,6 @@ struct bcm2835_desc { + size_t size; + }; + +-#define BCM2835_DMA_WAIT_CYCLES 0 /* Slow down DMA transfers: 0-31 */ +- + #define BCM2835_DMA_CS 0x00 + #define BCM2835_DMA_ADDR 0x04 + #define BCM2835_DMA_SOURCE_AD 0x0c +@@ -112,16 +111,12 @@ struct bcm2835_desc { + #define BCM2835_DMA_RESET BIT(31) /* WO, self clearing */ + + #define BCM2835_DMA_INT_EN BIT(0) +-#define BCM2835_DMA_WAIT_RESP BIT(3) + #define BCM2835_DMA_D_INC BIT(4) +-#define BCM2835_DMA_D_WIDTH BIT(5) + #define BCM2835_DMA_D_DREQ BIT(6) + #define BCM2835_DMA_S_INC BIT(8) +-#define BCM2835_DMA_S_WIDTH BIT(9) + #define BCM2835_DMA_S_DREQ BIT(10) + + #define BCM2835_DMA_PER_MAP(x) ((x) << 16) +-#define BCM2835_DMA_WAITS(x) (((x) & 0x1f) << 21) + + #define BCM2835_DMA_DATA_TYPE_S8 1 + #define BCM2835_DMA_DATA_TYPE_S16 2 +@@ -135,14 +130,6 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + +-#define MAX_NORMAL_TRANSFER SZ_1G +-/* +- * Max length on a Lite channel is 65535 bytes. +- * DMA handles byte-enables on SDRAM reads and writes even on 128-bit accesses, +- * but byte-enables don't exist on peripheral addresses, so align to 32-bit. +- */ +-#define MAX_LITE_TRANSFER (SZ_64K - 4) +- + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -239,19 +226,13 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + d = c->desc; + + if (d) { +- if (c->cyclic) { +- vchan_cyclic_callback(&d->vd); +- +- /* Keep the DMA engine running */ +- writel(BCM2835_DMA_ACTIVE, +- c->chan_base + BCM2835_DMA_CS); +- +- } else { +- vchan_cookie_complete(&c->desc->vd); +- bcm2835_dma_start_desc(c); +- } ++ /* TODO Only works for cyclic DMA */ ++ vchan_cyclic_callback(&d->vd); + } + ++ /* Keep the DMA engine running */ ++ writel(BCM2835_DMA_ACTIVE, c->chan_base + BCM2835_DMA_CS); ++ + spin_unlock_irqrestore(&c->vc.lock, flags); + + return IRQ_HANDLED; +@@ -358,6 +339,8 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + unsigned long flags; + ++ c->cyclic = true; /* Nothing else is implemented */ ++ + spin_lock_irqsave(&c->vc.lock, flags); + if (vchan_issue_pending(&c->vc) && !c->desc) + bcm2835_dma_start_desc(c); +@@ -375,7 +358,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + struct bcm2835_desc *d; + dma_addr_t dev_addr; + unsigned int es, sync_type; +- unsigned int frame, max_size; ++ unsigned int frame; + int i; + + /* Grab configuration */ +@@ -410,12 +393,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + + d->c = c; + d->dir = direction; +- if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_LITE_TRANSFER; +- else +- max_size = MAX_NORMAL_TRANSFER; +- period_len = min(period_len, max_size); +- d->frames = (buf_len - 1) / (period_len + 1); ++ d->frames = buf_len / period_len; + + d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); + if (!d->cb_list) { +@@ -463,171 +441,17 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + BCM2835_DMA_PER_MAP(c->dreq); + + /* Length of a frame */ +- if (frame != d->frames - 1) +- control_block->length = period_len; +- else +- control_block->length = buf_len - (d->frames - 1) * +- period_len; ++ control_block->length = period_len; + d->size += control_block->length; + + /* + * Next block is the next frame. +- * This function is called on cyclic DMA transfers. ++ * This DMA engine driver currently only supports cyclic DMA. + * Therefore, wrap around at number of frames. + */ + control_block->next = d->cb_list[((frame + 1) % d->frames)].paddr; + } + +- c->cyclic = true; +- +- return vchan_tx_prep(&c->vc, &d->vd, flags); +-} +- +-static struct dma_async_tx_descriptor * +-bcm2835_dma_prep_slave_sg(struct dma_chan *chan, +- struct scatterlist *sgl, +- unsigned int sg_len, +- enum dma_transfer_direction direction, +- unsigned long flags, void *context) +-{ +- struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); +- enum dma_slave_buswidth dev_width; +- struct bcm2835_desc *d; +- dma_addr_t dev_addr; +- struct scatterlist *sgent; +- unsigned int i, sync_type, split_cnt, max_size; +- +- if (!is_slave_direction(direction)) { +- dev_err(chan->device->dev, "direction not supported\n"); +- return NULL; +- } +- +- if (direction == DMA_DEV_TO_MEM) { +- dev_addr = c->cfg.src_addr; +- dev_width = c->cfg.src_addr_width; +- sync_type = BCM2835_DMA_S_DREQ; +- } else { +- dev_addr = c->cfg.dst_addr; +- dev_width = c->cfg.dst_addr_width; +- sync_type = BCM2835_DMA_D_DREQ; +- } +- +- /* Bus width translates to the element size (ES) */ +- switch (dev_width) { +- case DMA_SLAVE_BUSWIDTH_4_BYTES: +- break; +- default: +- dev_err(chan->device->dev, "buswidth not supported: %i\n", +- dev_width); +- return NULL; +- } +- +- /* Allocate and setup the descriptor. */ +- d = kzalloc(sizeof(*d), GFP_NOWAIT); +- if (!d) +- return NULL; +- +- d->dir = direction; +- +- if (c->ch >= 8) /* LITE channel */ +- max_size = MAX_LITE_TRANSFER; +- else +- max_size = MAX_NORMAL_TRANSFER; +- +- /* +- * Store the length of the SG list in d->frames +- * taking care to account for splitting up transfers +- * too large for a LITE channel +- */ +- d->frames = 0; +- for_each_sg(sgl, sgent, sg_len, i) { +- unsigned int len = sg_dma_len(sgent); +- +- d->frames += len / max_size + 1; +- } +- +- /* Allocate memory for control blocks */ +- d->control_block_size = d->frames * sizeof(struct bcm2835_dma_cb); +- d->control_block_base = dma_zalloc_coherent(chan->device->dev, +- d->control_block_size, &d->control_block_base_phys, +- GFP_NOWAIT); +- if (!d->control_block_base) { +- kfree(d); +- return NULL; +- } +- +- /* +- * Iterate over all SG entries, create a control block +- * for each frame and link them together. +- * Count the number of times an SG entry had to be split +- * as a result of using a LITE channel +- */ +- split_cnt = 0; +- +- for_each_sg(sgl, sgent, sg_len, i) { +- unsigned int j; +- dma_addr_t addr = sg_dma_address(sgent); +- unsigned int len = sg_dma_len(sgent); +- +- for (j = 0; j < len; j += max_size) { +- struct bcm2835_dma_cb *control_block = +- &d->control_block_base[i + split_cnt]; +- +- /* Setup addresses */ +- if (d->dir == DMA_DEV_TO_MEM) { +- control_block->info = BCM2835_DMA_D_INC | +- BCM2835_DMA_D_WIDTH | +- BCM2835_DMA_S_DREQ; +- control_block->src = dev_addr; +- control_block->dst = addr + (dma_addr_t)j; +- } else { +- control_block->info = BCM2835_DMA_S_INC | +- BCM2835_DMA_S_WIDTH | +- BCM2835_DMA_D_DREQ; +- control_block->src = addr + (dma_addr_t)j; +- control_block->dst = dev_addr; +- } +- +- /* Common part */ +- control_block->info |= +- BCM2835_DMA_WAITS(BCM2835_DMA_WAIT_CYCLES); +- control_block->info |= BCM2835_DMA_WAIT_RESP; +- +- /* Enable */ +- if (i == sg_len - 1 && len - j <= max_size) +- control_block->info |= BCM2835_DMA_INT_EN; +- +- /* Setup synchronization */ +- if (sync_type) +- control_block->info |= sync_type; +- +- /* Setup DREQ channel */ +- if (c->dreq) +- control_block->info |= +- BCM2835_DMA_PER_MAP(c->dreq); +- +- /* Length of a frame */ +- control_block->length = min(len - j, max_size); +- d->size += control_block->length; +- +- if (i < sg_len - 1 || len - j > max_size) { +- /* Next block is the next frame. */ +- control_block->next = +- d->control_block_base_phys + +- sizeof(struct bcm2835_dma_cb) * +- (i + split_cnt + 1); +- } else { +- /* Next block is empty. */ +- control_block->next = 0; +- } +- +- if (len - j > max_size) +- split_cnt++; +- } +- } +- +- c->cyclic = false; +- + return vchan_tx_prep(&c->vc, &d->vd, flags); + error_cb: + i--; +@@ -796,7 +620,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; +- od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); +@@ -886,5 +709,4 @@ module_platform_driver(bcm2835_dma_driver); + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + MODULE_AUTHOR("Florian Meier "); +-MODULE_AUTHOR("Gellert Weisz "); + MODULE_LICENSE("GPL v2"); + +From 5e9ddd7437b25562f3f27ea907d8c9f5576d12a7 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:56 -0700 +Subject: [PATCH 122/141] dmaengine: bcm2835: remove unnecessary masking of dma + channels + +The original patch contained 3 dma channels that were masked out. + +These - as far as research and discussions show - are a +artefacts remaining from the downstream legacy dma-api. + +Right now down-stream still includes a legacy api used only +in a single (downstream only) driver (bcm2708_fb) that requires +2D DMA for speedup (DMA-channel 0). +Formerly the sd-card support driver also was using this legacy +api (DMA-channel 2), but since has been moved over to use +dmaengine directly. + +The DMA-channel 3 is already masked out in the devicetree in +the default property "brcm,dma-channel-mask = <0x7f35>;" + +So we can remove the whole masking of DMA channels. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 9 --------- + 1 file changed, 9 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 2d72fe81243fbbcc92f52e1935ed48b6cbc23665..e4ca980049bab83ddbb58435c662e4a30321d4f8 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -123,9 +123,6 @@ struct bcm2835_desc { + #define BCM2835_DMA_DATA_TYPE_S32 4 + #define BCM2835_DMA_DATA_TYPE_S128 16 + +-#define BCM2835_DMA_BULK_MASK BIT(0) +-#define BCM2835_DMA_FIQ_MASK (BIT(2) | BIT(3)) +- + /* Valid only for channels 0 - 14, 15 has its own base address */ + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) +@@ -641,12 +638,6 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- /* +- * Do not use the FIQ and BULK channels, +- * because they are used by the GPU. +- */ +- chans_available &= ~(BCM2835_DMA_FIQ_MASK | BCM2835_DMA_BULK_MASK); +- + for (i = 0; i < pdev->num_resources; i++) { + irq = platform_get_irq(pdev, i); + if (irq < 0) + +From c1a7e3303a2ba3e3ff9ed60fb30cd5e592059d6b Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:57 -0700 +Subject: [PATCH 123/141] dmaengine: bcm2835: add additional defines for + DMA-registers + +Add additional defines describing the DMA registers +as well as adding some more documentation to those registers. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 57 ++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 49 insertions(+), 8 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index e4ca980049bab83ddbb58435c662e4a30321d4f8..a1d851aa5b182f9b0f4d6c2ab719b1ade2167c11 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -97,26 +97,67 @@ struct bcm2835_desc { + + #define BCM2835_DMA_CS 0x00 + #define BCM2835_DMA_ADDR 0x04 ++#define BCM2835_DMA_TI 0x08 + #define BCM2835_DMA_SOURCE_AD 0x0c + #define BCM2835_DMA_DEST_AD 0x10 +-#define BCM2835_DMA_NEXTCB 0x1C ++#define BCM2835_DMA_LEN 0x14 ++#define BCM2835_DMA_STRIDE 0x18 ++#define BCM2835_DMA_NEXTCB 0x1c ++#define BCM2835_DMA_DEBUG 0x20 + + /* DMA CS Control and Status bits */ +-#define BCM2835_DMA_ACTIVE BIT(0) +-#define BCM2835_DMA_INT BIT(2) ++#define BCM2835_DMA_ACTIVE BIT(0) /* activate the DMA */ ++#define BCM2835_DMA_END BIT(1) /* current CB has ended */ ++#define BCM2835_DMA_INT BIT(2) /* interrupt status */ ++#define BCM2835_DMA_DREQ BIT(3) /* DREQ state */ + #define BCM2835_DMA_ISPAUSED BIT(4) /* Pause requested or not active */ + #define BCM2835_DMA_ISHELD BIT(5) /* Is held by DREQ flow control */ +-#define BCM2835_DMA_ERR BIT(8) ++#define BCM2835_DMA_WAITING_FOR_WRITES BIT(6) /* waiting for last ++ * AXI-write to ack ++ */ ++#define BCM2835_DMA_ERR BIT(8) ++#define BCM2835_DMA_PRIORITY(x) ((x & 15) << 16) /* AXI priority */ ++#define BCM2835_DMA_PANIC_PRIORITY(x) ((x & 15) << 20) /* panic priority */ ++/* current value of TI.BCM2835_DMA_WAIT_RESP */ ++#define BCM2835_DMA_WAIT_FOR_WRITES BIT(28) ++#define BCM2835_DMA_DIS_DEBUG BIT(29) /* disable debug pause signal */ + #define BCM2835_DMA_ABORT BIT(30) /* Stop current CB, go to next, WO */ + #define BCM2835_DMA_RESET BIT(31) /* WO, self clearing */ + ++/* Transfer information bits - also bcm2835_cb.info field */ + #define BCM2835_DMA_INT_EN BIT(0) ++#define BCM2835_DMA_TDMODE BIT(1) /* 2D-Mode */ ++#define BCM2835_DMA_WAIT_RESP BIT(3) /* wait for AXI-write to be acked */ + #define BCM2835_DMA_D_INC BIT(4) +-#define BCM2835_DMA_D_DREQ BIT(6) ++#define BCM2835_DMA_D_WIDTH BIT(5) /* 128bit writes if set */ ++#define BCM2835_DMA_D_DREQ BIT(6) /* enable DREQ for destination */ ++#define BCM2835_DMA_D_IGNORE BIT(7) /* ignore destination writes */ + #define BCM2835_DMA_S_INC BIT(8) +-#define BCM2835_DMA_S_DREQ BIT(10) +- +-#define BCM2835_DMA_PER_MAP(x) ((x) << 16) ++#define BCM2835_DMA_S_WIDTH BIT(9) /* 128bit writes if set */ ++#define BCM2835_DMA_S_DREQ BIT(10) /* enable SREQ for source */ ++#define BCM2835_DMA_S_IGNORE BIT(11) /* ignore source reads - read 0 */ ++#define BCM2835_DMA_BURST_LENGTH(x) ((x & 15) << 12) ++#define BCM2835_DMA_PER_MAP(x) ((x & 31) << 16) /* REQ source */ ++#define BCM2835_DMA_WAIT(x) ((x & 31) << 21) /* add DMA-wait cycles */ ++#define BCM2835_DMA_NO_WIDE_BURSTS BIT(26) /* no 2 beat write bursts */ ++ ++/* debug register bits */ ++#define BCM2835_DMA_DEBUG_LAST_NOT_SET_ERR BIT(0) ++#define BCM2835_DMA_DEBUG_FIFO_ERR BIT(1) ++#define BCM2835_DMA_DEBUG_READ_ERR BIT(2) ++#define BCM2835_DMA_DEBUG_OUTSTANDING_WRITES_SHIFT 4 ++#define BCM2835_DMA_DEBUG_OUTSTANDING_WRITES_BITS 4 ++#define BCM2835_DMA_DEBUG_ID_SHIFT 16 ++#define BCM2835_DMA_DEBUG_ID_BITS 9 ++#define BCM2835_DMA_DEBUG_STATE_SHIFT 16 ++#define BCM2835_DMA_DEBUG_STATE_BITS 9 ++#define BCM2835_DMA_DEBUG_VERSION_SHIFT 25 ++#define BCM2835_DMA_DEBUG_VERSION_BITS 3 ++#define BCM2835_DMA_DEBUG_LITE BIT(28) ++ ++/* shared registers for all dma channels */ ++#define BCM2835_DMA_INT_STATUS 0xfe0 ++#define BCM2835_DMA_ENABLE 0xff0 + + #define BCM2835_DMA_DATA_TYPE_S8 1 + #define BCM2835_DMA_DATA_TYPE_S16 2 + +From fbba8b4843990153c1cf1f60ab2fea65704ced2a Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:58 -0700 +Subject: [PATCH 124/141] dmaengine: bcm2835: move cyclic member from + bcm2835_chan into bcm2835_desc + +In preparation to consolidating code we move the cyclic member +into the bcm_2835_desc structure. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index a1d851aa5b182f9b0f4d6c2ab719b1ade2167c11..b3bc382fd1998324d6034e203afdd77a4d7ad168 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -73,7 +73,6 @@ struct bcm2835_chan { + struct list_head node; + + struct dma_slave_config cfg; +- bool cyclic; + unsigned int dreq; + + int ch; +@@ -93,6 +92,8 @@ struct bcm2835_desc { + + unsigned int frames; + size_t size; ++ ++ bool cyclic; + }; + + #define BCM2835_DMA_CS 0x00 +@@ -377,8 +378,6 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); + unsigned long flags; + +- c->cyclic = true; /* Nothing else is implemented */ +- + spin_lock_irqsave(&c->vc.lock, flags); + if (vchan_issue_pending(&c->vc) && !c->desc) + bcm2835_dma_start_desc(c); +@@ -432,6 +431,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + d->c = c; + d->dir = direction; + d->frames = buf_len / period_len; ++ d->cyclic = true; + + d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); + if (!d->cb_list) { + +From 4399ec49de6cf7e6807a6aa9689455a466b034e1 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:24:59 -0700 +Subject: [PATCH 125/141] dmaengine: bcm2835: move controlblock chain + generation into separate method + +In preparation of adding slave_sg functionality this patch moves the +generation/allocation of bcm2835_desc and the building of +the corresponding DMA-control-block chain from bcm2835_dma_prep_dma_cyclic +into the newly created method bcm2835_dma_create_cb_chain. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 294 +++++++++++++++++++++++++++++++--------------- + 1 file changed, 198 insertions(+), 96 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index b3bc382fd1998324d6034e203afdd77a4d7ad168..4db0e232fab8e3422d4c28a164ed67f0676981f2 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -88,12 +88,12 @@ struct bcm2835_desc { + struct virt_dma_desc vd; + enum dma_transfer_direction dir; + +- struct bcm2835_cb_entry *cb_list; +- + unsigned int frames; + size_t size; + + bool cyclic; ++ ++ struct bcm2835_cb_entry cb_list[]; + }; + + #define BCM2835_DMA_CS 0x00 +@@ -169,6 +169,13 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + ++/* how many frames of max_len size do we need to transfer len bytes */ ++static inline size_t bcm2835_dma_frames_for_length(size_t len, ++ size_t max_len) ++{ ++ return DIV_ROUND_UP(len, max_len); ++} ++ + static inline struct bcm2835_dmadev *to_bcm2835_dma_dev(struct dma_device *d) + { + return container_of(d, struct bcm2835_dmadev, ddev); +@@ -185,19 +192,161 @@ static inline struct bcm2835_desc *to_bcm2835_dma_desc( + return container_of(t, struct bcm2835_desc, vd.tx); + } + +-static void bcm2835_dma_desc_free(struct virt_dma_desc *vd) ++static void bcm2835_dma_free_cb_chain(struct bcm2835_desc *desc) + { +- struct bcm2835_desc *desc = container_of(vd, struct bcm2835_desc, vd); +- int i; ++ size_t i; + + for (i = 0; i < desc->frames; i++) + dma_pool_free(desc->c->cb_pool, desc->cb_list[i].cb, + desc->cb_list[i].paddr); + +- kfree(desc->cb_list); + kfree(desc); + } + ++static void bcm2835_dma_desc_free(struct virt_dma_desc *vd) ++{ ++ bcm2835_dma_free_cb_chain( ++ container_of(vd, struct bcm2835_desc, vd)); ++} ++ ++static void bcm2835_dma_create_cb_set_length( ++ struct bcm2835_chan *chan, ++ struct bcm2835_dma_cb *control_block, ++ size_t len, ++ size_t period_len, ++ size_t *total_len, ++ u32 finalextrainfo) ++{ ++ /* set the length */ ++ control_block->length = len; ++ ++ /* finished if we have no period_length */ ++ if (!period_len) ++ return; ++ ++ /* ++ * period_len means: that we need to generate ++ * transfers that are terminating at every ++ * multiple of period_len - this is typically ++ * used to set the interrupt flag in info ++ * which is required during cyclic transfers ++ */ ++ ++ /* have we filled in period_length yet? */ ++ if (*total_len + control_block->length < period_len) ++ return; ++ ++ /* calculate the length that remains to reach period_length */ ++ control_block->length = period_len - *total_len; ++ ++ /* reset total_length for next period */ ++ *total_len = 0; ++ ++ /* add extrainfo bits in info */ ++ control_block->info |= finalextrainfo; ++} ++ ++/** ++ * bcm2835_dma_create_cb_chain - create a control block and fills data in ++ * ++ * @chan: the @dma_chan for which we run this ++ * @direction: the direction in which we transfer ++ * @cyclic: it is a cyclic transfer ++ * @info: the default info bits to apply per controlblock ++ * @frames: number of controlblocks to allocate ++ * @src: the src address to assign (if the S_INC bit is set ++ * in @info, then it gets incremented) ++ * @dst: the dst address to assign (if the D_INC bit is set ++ * in @info, then it gets incremented) ++ * @buf_len: the full buffer length (may also be 0) ++ * @period_len: the period length when to apply @finalextrainfo ++ * in addition to the last transfer ++ * this will also break some control-blocks early ++ * @finalextrainfo: additional bits in last controlblock ++ * (or when period_len is reached in case of cyclic) ++ * @gfp: the GFP flag to use for allocation ++ */ ++static struct bcm2835_desc *bcm2835_dma_create_cb_chain( ++ struct dma_chan *chan, enum dma_transfer_direction direction, ++ bool cyclic, u32 info, u32 finalextrainfo, size_t frames, ++ dma_addr_t src, dma_addr_t dst, size_t buf_len, ++ size_t period_len, gfp_t gfp) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ size_t len = buf_len, total_len; ++ size_t frame; ++ struct bcm2835_desc *d; ++ struct bcm2835_cb_entry *cb_entry; ++ struct bcm2835_dma_cb *control_block; ++ ++ /* allocate and setup the descriptor. */ ++ d = kzalloc(sizeof(*d) + frames * sizeof(struct bcm2835_cb_entry), ++ gfp); ++ if (!d) ++ return NULL; ++ ++ d->c = c; ++ d->dir = direction; ++ d->cyclic = cyclic; ++ ++ /* ++ * Iterate over all frames, create a control block ++ * for each frame and link them together. ++ */ ++ for (frame = 0, total_len = 0; frame < frames; d->frames++, frame++) { ++ cb_entry = &d->cb_list[frame]; ++ cb_entry->cb = dma_pool_alloc(c->cb_pool, gfp, ++ &cb_entry->paddr); ++ if (!cb_entry->cb) ++ goto error_cb; ++ ++ /* fill in the control block */ ++ control_block = cb_entry->cb; ++ control_block->info = info; ++ control_block->src = src; ++ control_block->dst = dst; ++ control_block->stride = 0; ++ control_block->next = 0; ++ /* set up length in control_block if requested */ ++ if (buf_len) { ++ /* calculate length honoring period_length */ ++ bcm2835_dma_create_cb_set_length( ++ c, control_block, ++ len, period_len, &total_len, ++ cyclic ? finalextrainfo : 0); ++ ++ /* calculate new remaining length */ ++ len -= control_block->length; ++ } ++ ++ /* link this the last controlblock */ ++ if (frame) ++ d->cb_list[frame - 1].cb->next = cb_entry->paddr; ++ ++ /* update src and dst and length */ ++ if (src && (info & BCM2835_DMA_S_INC)) ++ src += control_block->length; ++ if (dst && (info & BCM2835_DMA_D_INC)) ++ dst += control_block->length; ++ ++ /* Length of total transfer */ ++ d->size += control_block->length; ++ } ++ ++ /* the last frame requires extra flags */ ++ d->cb_list[d->frames - 1].cb->info |= finalextrainfo; ++ ++ /* detect a size missmatch */ ++ if (buf_len && (d->size != buf_len)) ++ goto error_cb; ++ ++ return d; ++error_cb: ++ bcm2835_dma_free_cb_chain(d); ++ ++ return NULL; ++} ++ + static int bcm2835_dma_abort(void __iomem *chan_base) + { + unsigned long cs; +@@ -391,12 +540,11 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + unsigned long flags) + { + struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); +- enum dma_slave_buswidth dev_width; + struct bcm2835_desc *d; +- dma_addr_t dev_addr; +- unsigned int es, sync_type; +- unsigned int frame; +- int i; ++ dma_addr_t src, dst; ++ u32 info = BCM2835_DMA_WAIT_RESP; ++ u32 extra = BCM2835_DMA_INT_EN; ++ size_t frames; + + /* Grab configuration */ + if (!is_slave_direction(direction)) { +@@ -404,104 +552,58 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + return NULL; + } + +- if (direction == DMA_DEV_TO_MEM) { +- dev_addr = c->cfg.src_addr; +- dev_width = c->cfg.src_addr_width; +- sync_type = BCM2835_DMA_S_DREQ; +- } else { +- dev_addr = c->cfg.dst_addr; +- dev_width = c->cfg.dst_addr_width; +- sync_type = BCM2835_DMA_D_DREQ; +- } +- +- /* Bus width translates to the element size (ES) */ +- switch (dev_width) { +- case DMA_SLAVE_BUSWIDTH_4_BYTES: +- es = BCM2835_DMA_DATA_TYPE_S32; +- break; +- default: ++ if (!buf_len) { ++ dev_err(chan->device->dev, ++ "%s: bad buffer length (= 0)\n", __func__); + return NULL; + } + +- /* Now allocate and setup the descriptor. */ +- d = kzalloc(sizeof(*d), GFP_NOWAIT); +- if (!d) +- return NULL; ++ /* ++ * warn if buf_len is not a multiple of period_len - this may leed ++ * to unexpected latencies for interrupts and thus audiable clicks ++ */ ++ if (buf_len % period_len) ++ dev_warn_once(chan->device->dev, ++ "%s: buffer_length (%zd) is not a multiple of period_len (%zd)\n", ++ __func__, buf_len, period_len); + +- d->c = c; +- d->dir = direction; +- d->frames = buf_len / period_len; +- d->cyclic = true; ++ /* Setup DREQ channel */ ++ if (c->dreq != 0) ++ info |= BCM2835_DMA_PER_MAP(c->dreq); + +- d->cb_list = kcalloc(d->frames, sizeof(*d->cb_list), GFP_KERNEL); +- if (!d->cb_list) { +- kfree(d); +- return NULL; ++ if (direction == DMA_DEV_TO_MEM) { ++ if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ src = c->cfg.src_addr; ++ dst = buf_addr; ++ info |= BCM2835_DMA_S_DREQ | BCM2835_DMA_D_INC; ++ } else { ++ if (c->cfg.dst_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ dst = c->cfg.dst_addr; ++ src = buf_addr; ++ info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; + } +- /* Allocate memory for control blocks */ +- for (i = 0; i < d->frames; i++) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; + +- cb_entry->cb = dma_pool_zalloc(c->cb_pool, GFP_ATOMIC, +- &cb_entry->paddr); +- if (!cb_entry->cb) +- goto error_cb; +- } ++ /* calculate number of frames */ ++ frames = DIV_ROUND_UP(buf_len, period_len); + + /* +- * Iterate over all frames, create a control block +- * for each frame and link them together. ++ * allocate the CB chain ++ * note that we need to use GFP_NOWAIT, as the ALSA i2s dmaengine ++ * implementation calls prep_dma_cyclic with interrupts disabled. + */ +- for (frame = 0; frame < d->frames; frame++) { +- struct bcm2835_dma_cb *control_block = d->cb_list[frame].cb; +- +- /* Setup adresses */ +- if (d->dir == DMA_DEV_TO_MEM) { +- control_block->info = BCM2835_DMA_D_INC; +- control_block->src = dev_addr; +- control_block->dst = buf_addr + frame * period_len; +- } else { +- control_block->info = BCM2835_DMA_S_INC; +- control_block->src = buf_addr + frame * period_len; +- control_block->dst = dev_addr; +- } +- +- /* Enable interrupt */ +- control_block->info |= BCM2835_DMA_INT_EN; +- +- /* Setup synchronization */ +- if (sync_type != 0) +- control_block->info |= sync_type; +- +- /* Setup DREQ channel */ +- if (c->dreq != 0) +- control_block->info |= +- BCM2835_DMA_PER_MAP(c->dreq); +- +- /* Length of a frame */ +- control_block->length = period_len; +- d->size += control_block->length; ++ d = bcm2835_dma_create_cb_chain(chan, direction, true, ++ info, extra, ++ frames, src, dst, buf_len, ++ period_len, GFP_NOWAIT); ++ if (!d) ++ return NULL; + +- /* +- * Next block is the next frame. +- * This DMA engine driver currently only supports cyclic DMA. +- * Therefore, wrap around at number of frames. +- */ +- control_block->next = d->cb_list[((frame + 1) % d->frames)].paddr; +- } ++ /* wrap around into a loop */ ++ d->cb_list[d->frames - 1].cb->next = d->cb_list[0].paddr; + + return vchan_tx_prep(&c->vc, &d->vd, flags); +-error_cb: +- i--; +- for (; i >= 0; i--) { +- struct bcm2835_cb_entry *cb_entry = &d->cb_list[i]; +- +- dma_pool_free(c->cb_pool, cb_entry->cb, cb_entry->paddr); +- } +- +- kfree(d->cb_list); +- kfree(d); +- return NULL; + } + + static int bcm2835_dma_slave_config(struct dma_chan *chan, + +From 7739fad3533038f657490435a494253a645b56ce Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:00 -0700 +Subject: [PATCH 126/141] dmaengine: bcm2835: limit max length based on channel + type + +The bcm2835 dma system has 2 basic types of dma-channels: +* "normal" channels +* "light" channels + +Lite channels are limited in several aspects: +* internal data-structure is 128 bit (not 256) +* does not support BCM2835_DMA_TDMODE (2D) +* DMA length register is limited to 16 bit. + so 0-65535 (not 0-65536 as mentioned in the official datasheet) +* BCM2835_DMA_S/D_IGNORE are not supported + +The detection of the type of mode is implemented by looking at +the LITE bit in the DEBUG register for each channel. +This allows automatic detection. + +Based on this the maximum block size is set to (64K - 4) or to 1G +and this limit is honored during generation of control block +chains. The effect is that when a LITE channel is used more +control blocks are used to do the same transfer (compared +to a normal channel). + +As there are several sources/target DREQS that are 32 bit wide +we need to have the transfer to be a multiple of 4 as this would +break the transfer otherwise. + +This is why the limit of (64K - 4) was chosen over the +alternative of (64K - 4K). + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 29 ++++++++++++++++++++++++++--- + 1 file changed, 26 insertions(+), 3 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 4db0e232fab8e3422d4c28a164ed67f0676981f2..59c5ef36d97059a4f988f083a64f084da02093cd 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -81,6 +81,8 @@ struct bcm2835_chan { + + void __iomem *chan_base; + int irq_number; ++ ++ bool is_lite_channel; + }; + + struct bcm2835_desc { +@@ -169,6 +171,16 @@ struct bcm2835_desc { + #define BCM2835_DMA_CHAN(n) ((n) << 8) /* Base address */ + #define BCM2835_DMA_CHANIO(base, n) ((base) + BCM2835_DMA_CHAN(n)) + ++/* the max dma length for different channels */ ++#define MAX_DMA_LEN SZ_1G ++#define MAX_LITE_DMA_LEN (SZ_64K - 4) ++ ++static inline size_t bcm2835_dma_max_frame_length(struct bcm2835_chan *c) ++{ ++ /* lite and normal channels have different max frame length */ ++ return c->is_lite_channel ? MAX_LITE_DMA_LEN : MAX_DMA_LEN; ++} ++ + /* how many frames of max_len size do we need to transfer len bytes */ + static inline size_t bcm2835_dma_frames_for_length(size_t len, + size_t max_len) +@@ -217,8 +229,10 @@ static void bcm2835_dma_create_cb_set_length( + size_t *total_len, + u32 finalextrainfo) + { +- /* set the length */ +- control_block->length = len; ++ size_t max_len = bcm2835_dma_max_frame_length(chan); ++ ++ /* set the length taking lite-channel limitations into account */ ++ control_block->length = min_t(u32, len, max_len); + + /* finished if we have no period_length */ + if (!period_len) +@@ -544,6 +558,7 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + dma_addr_t src, dst; + u32 info = BCM2835_DMA_WAIT_RESP; + u32 extra = BCM2835_DMA_INT_EN; ++ size_t max_len = bcm2835_dma_max_frame_length(c); + size_t frames; + + /* Grab configuration */ +@@ -586,7 +601,10 @@ static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + } + + /* calculate number of frames */ +- frames = DIV_ROUND_UP(buf_len, period_len); ++ frames = /* number of periods */ ++ DIV_ROUND_UP(buf_len, period_len) * ++ /* number of frames per period */ ++ bcm2835_dma_frames_for_length(period_len, max_len); + + /* + * allocate the CB chain +@@ -685,6 +703,11 @@ static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) + c->ch = chan_id; + c->irq_number = irq; + ++ /* check in DEBUG register if this is a LITE channel */ ++ if (readl(c->chan_base + BCM2835_DMA_DEBUG) & ++ BCM2835_DMA_DEBUG_LITE) ++ c->is_lite_channel = true; ++ + return 0; + } + + +From 000a63d30d091087df1a895f54ade67fe4a3c5dd Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:01 -0700 +Subject: [PATCH 127/141] dmaengine: bcm2835: add slave_sg support to + bcm2835-dma + +Add slave_sg support to bcm2835-dma using shared allocation +code for bcm2835_desc and DMA-control blocks already used by +dma_cyclic. + +Note that bcm2835_dma_callback had to get modified to support +both modes of operation (cyclic and non-cyclic). + +Tested using: +* Hifiberry I2S card (using cyclic DMA) +* fb_st7735r SPI-framebuffer (using slave_sg DMA via spi-bcm2835) +playing BigBuckBunny for audio and video. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 113 ++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 108 insertions(+), 5 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 59c5ef36d97059a4f988f083a64f084da02093cd..b46b12f66f387e0b87aa6d09192071b58da9e953 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -260,6 +260,23 @@ static void bcm2835_dma_create_cb_set_length( + control_block->info |= finalextrainfo; + } + ++static inline size_t bcm2835_dma_count_frames_for_sg( ++ struct bcm2835_chan *c, ++ struct scatterlist *sgl, ++ unsigned int sg_len) ++{ ++ size_t frames = 0; ++ struct scatterlist *sgent; ++ unsigned int i; ++ size_t plength = bcm2835_dma_max_frame_length(c); ++ ++ for_each_sg(sgl, sgent, sg_len, i) ++ frames += bcm2835_dma_frames_for_length( ++ sg_dma_len(sgent), plength); ++ ++ return frames; ++} ++ + /** + * bcm2835_dma_create_cb_chain - create a control block and fills data in + * +@@ -361,6 +378,32 @@ error_cb: + return NULL; + } + ++static void bcm2835_dma_fill_cb_chain_with_sg( ++ struct dma_chan *chan, ++ enum dma_transfer_direction direction, ++ struct bcm2835_cb_entry *cb, ++ struct scatterlist *sgl, ++ unsigned int sg_len) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ size_t max_len = bcm2835_dma_max_frame_length(c); ++ unsigned int i, len; ++ dma_addr_t addr; ++ struct scatterlist *sgent; ++ ++ for_each_sg(sgl, sgent, sg_len, i) { ++ for (addr = sg_dma_address(sgent), len = sg_dma_len(sgent); ++ len > 0; ++ addr += cb->cb->length, len -= cb->cb->length, cb++) { ++ if (direction == DMA_DEV_TO_MEM) ++ cb->cb->dst = addr; ++ else ++ cb->cb->src = addr; ++ cb->cb->length = min(len, max_len); ++ } ++ } ++} ++ + static int bcm2835_dma_abort(void __iomem *chan_base) + { + unsigned long cs; +@@ -428,13 +471,19 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + d = c->desc; + + if (d) { +- /* TODO Only works for cyclic DMA */ +- vchan_cyclic_callback(&d->vd); ++ if (d->cyclic) { ++ /* call the cyclic callback */ ++ vchan_cyclic_callback(&d->vd); ++ ++ /* Keep the DMA engine running */ ++ writel(BCM2835_DMA_ACTIVE, ++ c->chan_base + BCM2835_DMA_CS); ++ } else { ++ vchan_cookie_complete(&c->desc->vd); ++ bcm2835_dma_start_desc(c); ++ } + } + +- /* Keep the DMA engine running */ +- writel(BCM2835_DMA_ACTIVE, c->chan_base + BCM2835_DMA_CS); +- + spin_unlock_irqrestore(&c->vc.lock, flags); + + return IRQ_HANDLED; +@@ -548,6 +597,58 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + spin_unlock_irqrestore(&c->vc.lock, flags); + } + ++static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( ++ struct dma_chan *chan, ++ struct scatterlist *sgl, unsigned int sg_len, ++ enum dma_transfer_direction direction, ++ unsigned long flags, void *context) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ struct bcm2835_desc *d; ++ dma_addr_t src = 0, dst = 0; ++ u32 info = BCM2835_DMA_WAIT_RESP; ++ u32 extra = BCM2835_DMA_INT_EN; ++ size_t frames; ++ ++ if (!is_slave_direction(direction)) { ++ dev_err(chan->device->dev, ++ "%s: bad direction?\n", __func__); ++ return NULL; ++ } ++ ++ if (c->dreq != 0) ++ info |= BCM2835_DMA_PER_MAP(c->dreq); ++ ++ if (direction == DMA_DEV_TO_MEM) { ++ if (c->cfg.src_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ src = c->cfg.src_addr; ++ info |= BCM2835_DMA_S_DREQ | BCM2835_DMA_D_INC; ++ } else { ++ if (c->cfg.dst_addr_width != DMA_SLAVE_BUSWIDTH_4_BYTES) ++ return NULL; ++ dst = c->cfg.dst_addr; ++ info |= BCM2835_DMA_D_DREQ | BCM2835_DMA_S_INC; ++ } ++ ++ /* count frames in sg list */ ++ frames = bcm2835_dma_count_frames_for_sg(c, sgl, sg_len); ++ ++ /* allocate the CB chain */ ++ d = bcm2835_dma_create_cb_chain(chan, direction, false, ++ info, extra, ++ frames, src, dst, 0, 0, ++ GFP_KERNEL); ++ if (!d) ++ return NULL; ++ ++ /* fill in frames with scatterlist pointers */ ++ bcm2835_dma_fill_cb_chain_with_sg(chan, direction, d->cb_list, ++ sgl, sg_len); ++ ++ return vchan_tx_prep(&c->vc, &d->vd, flags); ++} ++ + static struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_cyclic( + struct dma_chan *chan, dma_addr_t buf_addr, size_t buf_len, + size_t period_len, enum dma_transfer_direction direction, +@@ -778,11 +879,13 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); + dma_cap_set(DMA_PRIVATE, od->ddev.cap_mask); + dma_cap_set(DMA_CYCLIC, od->ddev.cap_mask); ++ dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); + od->ddev.device_alloc_chan_resources = bcm2835_dma_alloc_chan_resources; + od->ddev.device_free_chan_resources = bcm2835_dma_free_chan_resources; + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; ++ od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); + +From 041cb749ce522529987642e6aa75af9678d60ceb Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Wed, 16 Mar 2016 12:25:02 -0700 +Subject: [PATCH 128/141] dmaengine: bcm2835: add dma_memcopy support to + bcm2835-dma + +Also added check for an error condition in bcm2835_dma_create_cb_chain +that showed up during development of this patch. + +Tested using dmatest for all enabled channels. + +Signed-off-by: Martin Sperl +Reviewed-by: Eric Anholt +Signed-off-by: Eric Anholt +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 36 +++++++++++++++++++++++++++++++++++- + 1 file changed, 35 insertions(+), 1 deletion(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index b46b12f66f387e0b87aa6d09192071b58da9e953..cc771cd35dd0c28829b6500421af686be865000b 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -310,6 +310,9 @@ static struct bcm2835_desc *bcm2835_dma_create_cb_chain( + struct bcm2835_cb_entry *cb_entry; + struct bcm2835_dma_cb *control_block; + ++ if (!frames) ++ return NULL; ++ + /* allocate and setup the descriptor. */ + d = kzalloc(sizeof(*d) + frames * sizeof(struct bcm2835_cb_entry), + gfp); +@@ -597,6 +600,34 @@ static void bcm2835_dma_issue_pending(struct dma_chan *chan) + spin_unlock_irqrestore(&c->vc.lock, flags); + } + ++struct dma_async_tx_descriptor *bcm2835_dma_prep_dma_memcpy( ++ struct dma_chan *chan, dma_addr_t dst, dma_addr_t src, ++ size_t len, unsigned long flags) ++{ ++ struct bcm2835_chan *c = to_bcm2835_dma_chan(chan); ++ struct bcm2835_desc *d; ++ u32 info = BCM2835_DMA_D_INC | BCM2835_DMA_S_INC; ++ u32 extra = BCM2835_DMA_INT_EN | BCM2835_DMA_WAIT_RESP; ++ size_t max_len = bcm2835_dma_max_frame_length(c); ++ size_t frames; ++ ++ /* if src, dst or len is not given return with an error */ ++ if (!src || !dst || !len) ++ return NULL; ++ ++ /* calculate number of frames */ ++ frames = bcm2835_dma_frames_for_length(len, max_len); ++ ++ /* allocate the CB chain - this also fills in the pointers */ ++ d = bcm2835_dma_create_cb_chain(chan, DMA_MEM_TO_MEM, false, ++ info, extra, frames, ++ src, dst, len, 0, GFP_KERNEL); ++ if (!d) ++ return NULL; ++ ++ return vchan_tx_prep(&c->vc, &d->vd, flags); ++} ++ + static struct dma_async_tx_descriptor *bcm2835_dma_prep_slave_sg( + struct dma_chan *chan, + struct scatterlist *sgl, unsigned int sg_len, +@@ -880,17 +911,20 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + dma_cap_set(DMA_PRIVATE, od->ddev.cap_mask); + dma_cap_set(DMA_CYCLIC, od->ddev.cap_mask); + dma_cap_set(DMA_SLAVE, od->ddev.cap_mask); ++ dma_cap_set(DMA_MEMCPY, od->ddev.cap_mask); + od->ddev.device_alloc_chan_resources = bcm2835_dma_alloc_chan_resources; + od->ddev.device_free_chan_resources = bcm2835_dma_free_chan_resources; + od->ddev.device_tx_status = bcm2835_dma_tx_status; + od->ddev.device_issue_pending = bcm2835_dma_issue_pending; + od->ddev.device_prep_dma_cyclic = bcm2835_dma_prep_dma_cyclic; + od->ddev.device_prep_slave_sg = bcm2835_dma_prep_slave_sg; ++ od->ddev.device_prep_dma_memcpy = bcm2835_dma_prep_dma_memcpy; + od->ddev.device_config = bcm2835_dma_slave_config; + od->ddev.device_terminate_all = bcm2835_dma_terminate_all; + od->ddev.src_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); + od->ddev.dst_addr_widths = BIT(DMA_SLAVE_BUSWIDTH_4_BYTES); +- od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV); ++ od->ddev.directions = BIT(DMA_DEV_TO_MEM) | BIT(DMA_MEM_TO_DEV) | ++ BIT(DMA_MEM_TO_MEM); + od->ddev.residue_granularity = DMA_RESIDUE_GRANULARITY_BURST; + od->ddev.dev = &pdev->dev; + INIT_LIST_HEAD(&od->ddev.channels); + +From a377d1836521d0dc5170c939c3311bf5e083c997 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Mon, 11 Apr 2016 13:29:08 +0000 +Subject: [PATCH 129/141] dmaengine: bcm2835: use platform_get_irq_byname + +Use platform_get_irq_byname to allow for correct mapping of +interrupts to dma channels. + +The currently implemented device tree is unfortunately +implemented with the wrong assumption, that each dma-channel +has its own dma channel, but dma-irq 11 is handling +dma-channel 11-14 and dma-irq 12 is actually a "catch all" +interrupt. + +So here we use the byname variant and require that interrupts +are explicitly named via the interrupts-name property in the +device tree. + +The use of shared interrupts is also implemented. + +As a side-effect this means we can now use dma channels 12, 13 and 14 +in a correct manner - also testing shows that onl using +channels 11 to 14 for spi and i2s works perfectly (when playing +some video) + +Signed-off-by: Martin Sperl +Acked-by: Eric Anholt +Acked-by: Mark Rutland +Signed-off-by: Vinod Koul +--- + drivers/dma/bcm2835-dma.c | 77 ++++++++++++++++++++++++++++++++++++++--------- + 1 file changed, 63 insertions(+), 14 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index cc771cd35dd0c28829b6500421af686be865000b..974015193b93cdb398f1157b89b6e2cf5234354e 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -46,6 +46,9 @@ + + #include "virt-dma.h" + ++#define BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED 14 ++#define BCM2835_DMA_CHAN_NAME_SIZE 8 ++ + struct bcm2835_dmadev { + struct dma_device ddev; + spinlock_t lock; +@@ -81,6 +84,7 @@ struct bcm2835_chan { + + void __iomem *chan_base; + int irq_number; ++ unsigned int irq_flags; + + bool is_lite_channel; + }; +@@ -466,6 +470,15 @@ static irqreturn_t bcm2835_dma_callback(int irq, void *data) + struct bcm2835_desc *d; + unsigned long flags; + ++ /* check the shared interrupt */ ++ if (c->irq_flags & IRQF_SHARED) { ++ /* check if the interrupt is enabled */ ++ flags = readl(c->chan_base + BCM2835_DMA_CS); ++ /* if not set then we are not the reason for the irq */ ++ if (!(flags & BCM2835_DMA_INT)) ++ return IRQ_NONE; ++ } ++ + spin_lock_irqsave(&c->vc.lock, flags); + + /* Acknowledge interrupt */ +@@ -506,8 +519,8 @@ static int bcm2835_dma_alloc_chan_resources(struct dma_chan *chan) + return -ENOMEM; + } + +- return request_irq(c->irq_number, +- bcm2835_dma_callback, 0, "DMA IRQ", c); ++ return request_irq(c->irq_number, bcm2835_dma_callback, ++ c->irq_flags, "DMA IRQ", c); + } + + static void bcm2835_dma_free_chan_resources(struct dma_chan *chan) +@@ -819,7 +832,8 @@ static int bcm2835_dma_terminate_all(struct dma_chan *chan) + return 0; + } + +-static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) ++static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, ++ int irq, unsigned int irq_flags) + { + struct bcm2835_chan *c; + +@@ -834,6 +848,7 @@ static int bcm2835_dma_chan_init(struct bcm2835_dmadev *d, int chan_id, int irq) + c->chan_base = BCM2835_DMA_CHANIO(d->base, chan_id); + c->ch = chan_id; + c->irq_number = irq; ++ c->irq_flags = irq_flags; + + /* check in DEBUG register if this is a LITE channel */ + if (readl(c->chan_base + BCM2835_DMA_DEBUG) & +@@ -882,9 +897,11 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + struct resource *res; + void __iomem *base; + int rc; +- int i; +- int irq; ++ int i, j; ++ int irq[BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED + 1]; ++ int irq_flags; + uint32_t chans_available; ++ char chan_name[BCM2835_DMA_CHAN_NAME_SIZE]; + + if (!pdev->dev.dma_mask) + pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask; +@@ -941,16 +958,48 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + goto err_no_dma; + } + +- for (i = 0; i < pdev->num_resources; i++) { +- irq = platform_get_irq(pdev, i); +- if (irq < 0) +- break; +- +- if (chans_available & (1 << i)) { +- rc = bcm2835_dma_chan_init(od, i, irq); +- if (rc) +- goto err_no_dma; ++ /* get irqs for each channel that we support */ ++ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { ++ /* skip masked out channels */ ++ if (!(chans_available & (1 << i))) { ++ irq[i] = -1; ++ continue; + } ++ ++ /* get the named irq */ ++ snprintf(chan_name, sizeof(chan_name), "dma%i", i); ++ irq[i] = platform_get_irq_byname(pdev, chan_name); ++ if (irq[i] >= 0) ++ continue; ++ ++ /* legacy device tree case handling */ ++ dev_warn_once(&pdev->dev, ++ "missing interrupts-names property in device tree - legacy interpretation is used"); ++ /* ++ * in case of channel >= 11 ++ * use the 11th interrupt and that is shared ++ */ ++ irq[i] = platform_get_irq(pdev, i < 11 ? i : 11); ++ } ++ ++ /* get irqs for each channel */ ++ for (i = 0; i <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; i++) { ++ /* skip channels without irq */ ++ if (irq[i] < 0) ++ continue; ++ ++ /* check if there are other channels that also use this irq */ ++ irq_flags = 0; ++ for (j = 0; j <= BCM2835_DMA_MAX_DMA_CHAN_SUPPORTED; j++) ++ if ((i != j) && (irq[j] == irq[i])) { ++ irq_flags = IRQF_SHARED; ++ break; ++ } ++ ++ /* initialize the channel */ ++ rc = bcm2835_dma_chan_init(od, i, irq[i], irq_flags); ++ if (rc) ++ goto err_no_dma; + } + + dev_dbg(&pdev->dev, "Initialized %i DMA channels\n", i); + +From 4aa29cc8bf827e058b81cc8ae2c3e17c2207aef4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= +Date: Sat, 3 Oct 2015 22:22:55 +0200 +Subject: [PATCH 130/141] dmaengine: bcm2835: Load driver early and support + legacy API +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Load driver early since at least bcm2708_fb doesn't support deferred +probing and even if it did, we don't want the video driver deferred. + +Support the legacy DMA API which is needed by bcm2708_fb +(but only using the dedicated dma channel 0). + +Signed-off-by: Noralf Trønnes +Signed-off-by: Martin Sperl +--- + drivers/dma/Kconfig | 2 +- + drivers/dma/bcm2835-dma.c | 27 ++++++++++++++++++++++++++- + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig +index 1acfa84be0d1f74f5a830b04cab05ba7fa0841ab..b7863f0cf95ca656859a355098aa334e20d121c3 100644 +--- a/drivers/dma/Kconfig ++++ b/drivers/dma/Kconfig +@@ -108,7 +108,7 @@ config COH901318 + + config DMA_BCM2835 + tristate "BCM2835 DMA engine support" +- depends on ARCH_BCM2835 ++ depends on ARCH_BCM2835 || ARCH_BCM2708 || ARCH_BCM2709 + select DMA_ENGINE + select DMA_VIRTUAL_CHANNELS + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 974015193b93cdb398f1157b89b6e2cf5234354e..2d7aba118640447854732384351601137b502839 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -37,6 +37,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -1021,6 +1022,14 @@ static int bcm2835_dma_probe(struct platform_device *pdev) + + dev_dbg(&pdev->dev, "Load BCM2835 DMA engine driver\n"); + ++ /* load the legacy api if bit 0 in the mask is cleared */ ++ if ((chans_available & BIT(0)) == 0) { ++ rc = bcm_dmaman_probe(pdev, base, BIT(0)); ++ if (rc) ++ dev_err(&pdev->dev, ++ "Failed to initialize the legacy API\n"); ++ } ++ + return 0; + + err_no_dma: +@@ -1032,6 +1041,7 @@ static int bcm2835_dma_remove(struct platform_device *pdev) + { + struct bcm2835_dmadev *od = platform_get_drvdata(pdev); + ++ bcm_dmaman_remove(pdev); + dma_async_device_unregister(&od->ddev); + bcm2835_dma_free(od); + +@@ -1047,7 +1057,22 @@ static struct platform_driver bcm2835_dma_driver = { + }, + }; + +-module_platform_driver(bcm2835_dma_driver); ++static int bcm2835_dma_init(void) ++{ ++ return platform_driver_register(&bcm2835_dma_driver); ++} ++ ++static void bcm2835_dma_exit(void) ++{ ++ platform_driver_unregister(&bcm2835_dma_driver); ++} ++ ++/* ++ * Load after serial driver (arch_initcall) so we see the messages if it fails, ++ * but before drivers (module_init) that need a DMA channel. ++ */ ++subsys_initcall(bcm2835_dma_init); ++module_exit(bcm2835_dma_exit); + + MODULE_ALIAS("platform:bcm2835-dma"); + MODULE_DESCRIPTION("BCM2835 DMA engine driver"); + +From 25fea97b0fa774c421d15765ba3ca0b22dd13303 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Fri, 22 Apr 2016 16:13:59 +0000 +Subject: [PATCH 131/141] ARM: bcm270x: changed bcrm,dma-channel-mask to mask + out the used channel + +Dma channel0 is used by the legacy api - to avoid confilcts this +needs to get masked out in the device-tree instead of hardcoding it +in the driver. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/bcm2708_common.dtsi | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi +index 6ea37c57f7b1f298c10a599982f347098219d468..d85862e2028487b0c357b3a7cd8e78524abc3c92 100644 +--- a/arch/arm/boot/dts/bcm2708_common.dtsi ++++ b/arch/arm/boot/dts/bcm2708_common.dtsi +@@ -59,7 +59,7 @@ + <1 27>; + + #dma-cells = <1>; +- brcm,dma-channel-mask = <0x0f35>; ++ brcm,dma-channel-mask = <0x0f34>; + }; + + intc: interrupt-controller@7e00b200 { + +From 46a2b5181e5c193cb47c92b5e8c54212bb0eb0a3 Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Sat, 23 Apr 2016 14:07:03 +0000 +Subject: [PATCH 132/141] ARM: bcm2835: add interrupt-names and apply correct + mapping + +Add interrupt-names properties to dt and apply the correct +mapping between irq and dma channels. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/bcm2708_common.dtsi | 26 ++++++++++++++++++++++++-- + 1 file changed, 24 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/bcm2708_common.dtsi b/arch/arm/boot/dts/bcm2708_common.dtsi +index d85862e2028487b0c357b3a7cd8e78524abc3c92..18a28c8578a322bdef73cdb5ff4131b40f9321e4 100644 +--- a/arch/arm/boot/dts/bcm2708_common.dtsi ++++ b/arch/arm/boot/dts/bcm2708_common.dtsi +@@ -56,10 +56,32 @@ + <1 24>, + <1 25>, + <1 26>, +- <1 27>; ++ /* dma channel 11-14 share one irq */ ++ <1 27>, ++ <1 27>, ++ <1 27>, ++ <1 27>, ++ /* unused shared irq for all channels */ ++ <1 28>; ++ interrupt-names = "dma0", ++ "dma1", ++ "dma2", ++ "dma3", ++ "dma4", ++ "dma5", ++ "dma6", ++ "dma7", ++ "dma8", ++ "dma9", ++ "dma10", ++ "dma11", ++ "dma12", ++ "dma13", ++ "dma14", ++ "dma-shared-all"; + + #dma-cells = <1>; +- brcm,dma-channel-mask = <0x0f34>; ++ brcm,dma-channel-mask = <0x7f34>; + }; + + intc: interrupt-controller@7e00b200 { + +From a9453ef9018a01817e17b63262660aeec6b5b0cb Mon Sep 17 00:00:00 2001 +From: Martin Sperl +Date: Sat, 23 Apr 2016 14:20:41 +0000 +Subject: [PATCH 133/141] ARM: bcm2835: make dma-channel-0 available for kms + setups + +Enable the use of dma-channel 0 when using the vc4-kms-v3d overlay. + +Signed-off-by: Martin Sperl +--- + arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +index a4ca2cabd4cd19d3a82ad1135604dfa52784fb3f..4f1cc20f90dc6780f74e08ebee00e5a1a6062c85 100644 +--- a/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts ++++ b/arch/arm/boot/dts/overlays/vc4-kms-v3d-overlay.dts +@@ -119,6 +119,13 @@ + }; + }; + ++ fragment@15 { ++ target-path = "/soc/dma"; ++ __overlay__ { ++ brcm,dma-channel-mask = <0x7f35>; ++ }; ++ }; ++ + __overrides__ { + cma-256 = <0>,"+0-1-2-3-4"; + cma-192 = <0>,"-0+1-2-3-4"; + +From 5dd8fd214588185192ac39f32ece199801cbea55 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Tue, 7 Jun 2016 19:37:10 +0200 +Subject: [PATCH 134/141] dmaengine: bcm2835: Fix cyclic DMA period splitting + +The code responsible for splitting periods into chunks that +can be handled by the DMA controller missed to update total_len, +the number of bytes processed in the current period, when there +are more chunks to follow. + +Therefore total_len was stuck at 0 and the code didn't work at all. +This resulted in a wrong control block layout and audio issues because +the cyclic DMA callback wasn't executing on period boundaries. + +Fix this by adding the missing total_len update. + +Signed-off-by: Matthias Reichl +Signed-off-by: Martin Sperl +Tested-by: Clive Messer +--- + drivers/dma/bcm2835-dma.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 2d7aba118640447854732384351601137b502839..ea58967594c5a2d712026f50307c2d4de7089e8d 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -252,8 +252,11 @@ static void bcm2835_dma_create_cb_set_length( + */ + + /* have we filled in period_length yet? */ +- if (*total_len + control_block->length < period_len) ++ if (*total_len + control_block->length < period_len) { ++ /* update number of bytes in this period so far */ ++ *total_len += control_block->length; + return; ++ } + + /* calculate the length that remains to reach period_length */ + control_block->length = period_len - *total_len; + +From 9a51bc189fe473d194694e068449905ea01ebd39 Mon Sep 17 00:00:00 2001 +From: Matthias Reichl +Date: Wed, 8 Jun 2016 13:09:56 +0200 +Subject: [PATCH 135/141] dmaengine: bcm2835: Avoid splitting periods into very + small chunks + +The current cyclic DMA period splitting implementation can generate +very small chunks at the end of each period. For example a 65536 byte +period will be split into a 65532 byte chunk and a 4 byte chunk on +the "lite" DMA channels. + +This increases pressure on the RAM controller as the DMA controller +needs to fetch two control blocks from RAM in quick succession and +could potentially cause latency issues if the RAM is tied up by other +devices. + +We can easily avoid these situations by distributing the remaining +length evenly between the last-but-one and the last chunk, making +sure that split chunks will be at least half the maximum length the +DMA controller can handle. + +This patch checks if the last chunk would be less than half of +the maximum DMA length and if yes distributes the max len+4...max_len*1.5 +bytes evenly between the last 2 chunks. This results in chunk sizes +between max_len/2 and max_len*0.75 bytes. + +Signed-off-by: Matthias Reichl +Signed-off-by: Martin Sperl +Tested-by: Clive Messer +--- + drivers/dma/bcm2835-dma.c | 14 ++++++++++++++ + 1 file changed, 14 insertions(+) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index ea58967594c5a2d712026f50307c2d4de7089e8d..0173b912afb26b8f59e623a9055513df34cd3caa 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -253,6 +253,20 @@ static void bcm2835_dma_create_cb_set_length( + + /* have we filled in period_length yet? */ + if (*total_len + control_block->length < period_len) { ++ /* ++ * If the next control block is the last in the period ++ * and it's length would be less than half of max_len ++ * change it so that both control blocks are (almost) ++ * equally long. This avoids generating very short ++ * control blocks (worst case would be 4 bytes) which ++ * might be problematic. We also have to make sure the ++ * new length is a multiple of 4 bytes. ++ */ ++ if (*total_len + control_block->length + max_len / 2 > ++ period_len) { ++ control_block->length = ++ DIV_ROUND_UP(period_len - *total_len, 8) * 4; ++ } + /* update number of bytes in this period so far */ + *total_len += control_block->length; + return; + +From 60fbaa3fe333d07205485a6e6e8466f5d3e160a0 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Fri, 3 Jun 2016 19:29:11 -0700 +Subject: [PATCH 136/141] dmaengine: bcm2835: Fix polling for completion of DMA + with interrupts masked. + +The tx_status hook is supposed to be safe to call from interrupt +context, but it wouldn't ever return completion for the last transfer, +meaning you couldn't poll for DMA completion with interrupts masked. + +This fixes IRQ handling for bcm2835's DSI1, which requires using the +DMA engine to write its registers due to a bug in the AXI bridge. + +Signed-off-by: Eric Anholt +--- + drivers/dma/bcm2835-dma.c | 24 +++++++++++++++++++----- + 1 file changed, 19 insertions(+), 5 deletions(-) + +diff --git a/drivers/dma/bcm2835-dma.c b/drivers/dma/bcm2835-dma.c +index 0173b912afb26b8f59e623a9055513df34cd3caa..a98e2c2e6888f6351461c25f9f7d2a34330d0a76 100644 +--- a/drivers/dma/bcm2835-dma.c ++++ b/drivers/dma/bcm2835-dma.c +@@ -588,16 +588,16 @@ static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, + struct virt_dma_desc *vd; + enum dma_status ret; + unsigned long flags; ++ u32 residue; + + ret = dma_cookie_status(chan, cookie, txstate); +- if (ret == DMA_COMPLETE || !txstate) ++ if (ret == DMA_COMPLETE) + return ret; + + spin_lock_irqsave(&c->vc.lock, flags); + vd = vchan_find_desc(&c->vc, cookie); + if (vd) { +- txstate->residue = +- bcm2835_dma_desc_size(to_bcm2835_dma_desc(&vd->tx)); ++ residue = bcm2835_dma_desc_size(to_bcm2835_dma_desc(&vd->tx)); + } else if (c->desc && c->desc->vd.tx.cookie == cookie) { + struct bcm2835_desc *d = c->desc; + dma_addr_t pos; +@@ -609,11 +609,25 @@ static enum dma_status bcm2835_dma_tx_status(struct dma_chan *chan, + else + pos = 0; + +- txstate->residue = bcm2835_dma_desc_size_pos(d, pos); ++ residue = bcm2835_dma_desc_size_pos(d, pos); ++ ++ /* ++ * If our non-cyclic transfer is done, then report ++ * complete and trigger the next tx now. This lets ++ * the dmaengine API be used synchronously from an IRQ ++ * handler. ++ */ ++ if (!d->cyclic && residue == 0) { ++ vchan_cookie_complete(&c->desc->vd); ++ bcm2835_dma_start_desc(c); ++ ret = dma_cookie_status(chan, cookie, txstate); ++ } + } else { +- txstate->residue = 0; ++ residue = 0; + } + ++ dma_set_residue(txstate, residue); ++ + spin_unlock_irqrestore(&c->vc.lock, flags); + + return ret; + +From 17729f364b572e5ab87aafe377c29f9bc67b2ff7 Mon Sep 17 00:00:00 2001 +From: P33M +Date: Thu, 9 Jun 2016 18:53:56 +0100 +Subject: [PATCH 137/141] dwc_otg: add FIQ latency profiling histogram + +Add a sysfs-based FIQ latency profiler that times differences between +start-of-frame interrupts. Stats readout is via the sof_histogram +attribute. + +Writing to the sof_histogram attribute resets the bucket counters. +--- + drivers/usb/host/dwc_otg/dwc_otg_attr.c | 23 ++++++++++++++++- + drivers/usb/host/dwc_otg/dwc_otg_attr.h | 1 + + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c | 7 +++++- + drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h | 6 +++++ + drivers/usb/host/dwc_otg/dwc_otg_hcd.c | 38 ++++++++++++++++++++++++++++- + drivers/usb/host/dwc_otg/dwc_otg_hcd.h | 7 ++++++ + drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h | 2 ++ + drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c | 27 ++++++++++++++++++++ + 8 files changed, 108 insertions(+), 3 deletions(-) + +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.c b/drivers/usb/host/dwc_otg/dwc_otg_attr.c +index 9da0c92aaeca2fc393016442cc6578cb4a52c978..e536f7e828174c193b3967f022e32e6f0f3e41d2 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.c +@@ -1016,6 +1016,26 @@ static ssize_t wr_reg_test_show(struct device *_dev, + + DEVICE_ATTR(wr_reg_test, S_IRUGO, wr_reg_test_show, 0); + ++static ssize_t sof_histogram_reset(struct device *_dev, ++ struct device_attribute *attr, const char *buf, size_t count) ++{ ++ dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev); ++ dwc_otg_hcd_t *hcd = otg_dev->hcd; ++ dwc_otg_hcd_sof_histogram_reset(hcd); ++ return count; ++} ++ ++static ssize_t sof_histogram_show(struct device *_dev, struct device_attribute *attr, char *buf) ++{ ++ dwc_otg_device_t *otg_dev = dwc_otg_drvdev(_dev); ++ dwc_otg_hcd_t *hcd = otg_dev->hcd; ++ ++ return dwc_otg_hcd_dump_sof_histogram(hcd, buf); ++ ++} ++ ++DEVICE_ATTR(sof_histogram, S_IRUGO | S_IWUSR, sof_histogram_show, sof_histogram_reset); ++ + #ifdef CONFIG_USB_DWC_OTG_LPM + + /** +@@ -1113,7 +1133,7 @@ void dwc_otg_attr_create( + ) + { + int error; +- ++ error = device_create_file(&dev->dev, &dev_attr_sof_histogram); + error = device_create_file(&dev->dev, &dev_attr_regoffset); + error = device_create_file(&dev->dev, &dev_attr_regvalue); + error = device_create_file(&dev->dev, &dev_attr_mode); +@@ -1168,6 +1188,7 @@ void dwc_otg_attr_remove( + #endif + ) + { ++ device_remove_file(&dev->dev, &dev_attr_sof_histogram); + device_remove_file(&dev->dev, &dev_attr_regoffset); + device_remove_file(&dev->dev, &dev_attr_regvalue); + device_remove_file(&dev->dev, &dev_attr_mode); +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_attr.h b/drivers/usb/host/dwc_otg/dwc_otg_attr.h +index e10b67f97c522094b553b7675741ba1b3cae293d..f86ed9534c0d36329d60b52b4b05f31ac073b1b5 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_attr.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_attr.h +@@ -39,6 +39,7 @@ + */ + extern struct device_attribute dev_attr_regoffset; + extern struct device_attribute dev_attr_regvalue; ++extern struct device_attribute dev_attr_sof_histogram; + + extern struct device_attribute dev_attr_mode; + extern struct device_attribute dev_attr_hnpcapable; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +index 85d82f31cb49631f03b23631882d2b6c063b33db..9f7cec1ddfc761e61ebb208ea234e82545bf1e49 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.c +@@ -580,8 +580,13 @@ static int notrace noinline fiq_fsm_update_hs_isoc(struct fiq_state *state, int + static int notrace noinline fiq_fsm_do_sof(struct fiq_state *state, int num_channels) + { + hfnum_data_t hfnum = { .d32 = FIQ_READ(state->dwc_regs_base + HFNUM) }; +- int n; ++ int n, i; + int kick_irq = 0; ++ ++ for (i = FIQ_NR_TIMESTAMPS - 1; i > 0; i--) { ++ state->sof_timestamps[i] = state->sof_timestamps[i - 1]; ++ } ++ state->sof_timestamps[0] = FIQ_READ(STC_LO); + + if ((hfnum.b.frnum & 0x7) == 1) { + /* We cannot issue csplits for transactions in the last frame past (n+1).1 +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h +index f9fddfbcffb37f32c808fd78f222b676378398b1..a3e0a784d9567c861410d0d1271d5f95729b5ccb 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_fiq_fsm.h +@@ -49,6 +49,7 @@ + #include + #include + #include ++#include + + #if 0 + #define FLAME_ON(x) \ +@@ -80,6 +81,9 @@ do { \ + #define FIQ_WRITE(_addr_,_data_) (*(volatile unsigned int *) (_addr_) = (_data_)) + #define FIQ_READ(_addr_) (*(volatile unsigned int *) (_addr_)) + ++#define FIQ_NR_TIMESTAMPS 32 ++#define STC_LO __io_address(ST_BASE + 0x04) ++ + /* FIQ-ified register definitions. Offsets are from dwc_regs_base. */ + #define GINTSTS 0x014 + #define GINTMSK 0x018 +@@ -339,12 +343,14 @@ struct fiq_state { + fiq_lock_t lock; + mphi_regs_t mphi_regs; + void *dwc_regs_base; ++ void *stc_base; + dma_addr_t dma_base; + struct fiq_dma_blob *fiq_dmab; + void *dummy_send; + gintmsk_data_t gintmsk_saved; + haintmsk_data_t haintmsk_saved; + int mphi_int_count; ++ int sof_timestamps[FIQ_NR_TIMESTAMPS]; + unsigned int fiq_done; + unsigned int kick_np_queues; + unsigned int next_sched_frame; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +index 135b611abe08e141c937612ab7baada6b13113fc..cb7ec4af267459494194be54e5321df8326bf3c4 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.c +@@ -1047,7 +1047,12 @@ int dwc_otg_hcd_init(dwc_otg_hcd_t * hcd, dwc_otg_core_if_t * core_if) + sizeof(struct fiq_dma_channel) * num_channels); + + DWC_MEMSET(hcd->fiq_dmab, 0x6b, 9024); +- ++ ++ for(i = 0; i < NR_BINS; i++) { ++ hcd->histogram_bins[i] = BIN_START + (i * BIN_STRIDE); ++ hcd->histogram_counts[i] = 0; ++ } ++ + /* pointer for debug in fiq_print */ + hcd->fiq_state->fiq_dmab = hcd->fiq_dmab; + if (fiq_fsm_enable) { +@@ -4001,6 +4006,37 @@ int dwc_otg_hcd_is_bandwidth_freed(dwc_otg_hcd_t * hcd, void *ep_handle) + return freed; + } + ++ssize_t dwc_otg_hcd_dump_sof_histogram(dwc_otg_hcd_t *hcd, char *buf) ++{ ++ ssize_t inc = 0, count = 0; ++ int i; ++ inc = sprintf(buf, "FIQ SOF latency histogram:\n Read overflows: %d\n", ++ hcd->sof_timestamp_overflows); ++ if (inc < 0) ++ return inc; ++ else ++ count += inc; ++ ++ for (i = 0; i < NR_BINS; i++) { ++ inc = sprintf(buf + count, " >%dus : %d\n", hcd->histogram_bins[i], hcd->histogram_counts[i]); ++ if (inc < 0) ++ return inc; ++ else ++ count += inc; ++ } ++ return count; ++} ++ ++void dwc_otg_hcd_sof_histogram_reset(dwc_otg_hcd_t *hcd) ++{ ++ int i; ++ unsigned long flags; ++ DWC_SPINLOCK_IRQSAVE(hcd->lock, &flags); ++ for(i = 0; i < NR_BINS; i++) ++ hcd->histogram_counts[i] = 0; ++ DWC_SPINUNLOCK_IRQRESTORE(hcd->lock, flags); ++} ++ + uint8_t dwc_otg_hcd_get_ep_bandwidth(dwc_otg_hcd_t * hcd, void *ep_handle) + { + dwc_otg_qh_t *qh = (dwc_otg_qh_t *) ep_handle; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +index 43dbed9fddbf5491bab33cc6e551b99ca8dce7dc..53ec21b15feebf91ef3ce9d13dbb265a7f856609 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd.h +@@ -589,6 +589,13 @@ struct dwc_otg_hcd { + + struct fiq_stack *fiq_stack; + struct fiq_state *fiq_state; ++ int last_sof_timestamp; ++ int sof_timestamp_overflows; ++#define NR_BINS 16 ++#define BIN_STRIDE 5 ++#define BIN_START 100 ++ int histogram_bins[NR_BINS]; ++ int histogram_counts[NR_BINS]; + + /** Virtual address for split transaction DMA bounce buffers */ + struct fiq_dma_blob *fiq_dmab; +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +index fb57db09378f4ab95d57cb58aa570a915ccb61c3..6103f7085b417d29eca323c1ed9667c6614c9ecd 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_if.h +@@ -411,6 +411,8 @@ extern int dwc_otg_hcd_is_bandwidth_freed(dwc_otg_hcd_t * hcd, void *ep_handle); + extern uint8_t dwc_otg_hcd_get_ep_bandwidth(dwc_otg_hcd_t * hcd, + void *ep_handle); + ++extern ssize_t dwc_otg_hcd_dump_sof_histogram(dwc_otg_hcd_t *hcd, char *buf); ++extern void dwc_otg_hcd_sof_histogram_reset(dwc_otg_hcd_t *hcd); + /** @} */ + + #endif /* __DWC_HCD_IF_H__ */ +diff --git a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +index e6b38ac330b72152204c2a6879c20f0ce02ac2e5..a72438c9ed0b45471c736c52248480399511aca3 100644 +--- a/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c ++++ b/drivers/usb/host/dwc_otg/dwc_otg_hcd_intr.c +@@ -72,6 +72,31 @@ void notrace _fiq_print(FIQDBG_T dbg_lvl, char *fmt, ...) + } + #endif + ++void dwc_otg_hcd_update_histogram(dwc_otg_hcd_t *hcd) ++{ ++ int i, j, delta; ++ /* Search through the stack of SOF timestamps to find the last congruent timestamp */ ++ for(i = FIQ_NR_TIMESTAMPS - 1; i >= 0; i--) { ++ if ((hcd->last_sof_timestamp - hcd->fiq_state->sof_timestamps[i]) <= 0) ++ break; ++ } ++ if (i < 0) { ++ hcd->sof_timestamp_overflows++; ++ i += 1; ++ } ++ for(; i < FIQ_NR_TIMESTAMPS - 1; i++) { ++ /* Compute deltas, add to histogram buckets */ ++ delta = hcd->fiq_state->sof_timestamps[i] - hcd->fiq_state->sof_timestamps[i+1]; ++ for (j = 0; j < NR_BINS; j++) { ++ if(hcd->histogram_bins[j] >= delta || j == NR_BINS - 1) { ++ hcd->histogram_counts[j]++; ++ break; ++ } ++ } ++ } ++ hcd->last_sof_timestamp = hcd->fiq_state->sof_timestamps[0]; ++} ++ + /** This function handles interrupts for the HCD. */ + int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) + { +@@ -104,6 +129,8 @@ int32_t dwc_otg_hcd_handle_intr(dwc_otg_hcd_t * dwc_otg_hcd) + /* Pull in from the FIQ's disabled mask */ + gintmsk.d32 = gintmsk.d32 | ~(dwc_otg_hcd->fiq_state->gintmsk_saved.d32); + dwc_otg_hcd->fiq_state->gintmsk_saved.d32 = ~0; ++ ++ dwc_otg_hcd_update_histogram(dwc_otg_hcd); + } + + if (fiq_fsm_enable && ( 0x0000FFFF & ~(dwc_otg_hcd->fiq_state->haintmsk_saved.b2.chint))) { + +From 8aa86d0116b8c3a23a67d3a53fc75f075d417de3 Mon Sep 17 00:00:00 2001 +From: Matt Flax +Date: Fri, 17 Jun 2016 12:03:39 +1000 +Subject: [PATCH 138/141] Added support for headphones, microphone and + bclk_ratio settings. + +This patch adds headphone and microphone capability to the Audio Injector sound card. The patch also sets the bit clock ratio for use in the bcm2835-i2s driver. The bcm2835-i2s can't handle an 8 kHz sample rate when the bit clock is at 12 MHz because its register is only 10 bits wide which can't represent the ch2 offset of 1508. For that reason, the rate constraint is added. +--- + sound/soc/bcm/audioinjector-pi-soundcard.c | 67 ++++++++++++++++++++++++++---- + 1 file changed, 58 insertions(+), 9 deletions(-) + +diff --git a/sound/soc/bcm/audioinjector-pi-soundcard.c b/sound/soc/bcm/audioinjector-pi-soundcard.c +index 39f29e26897226a413b4fa0a11a9bc160a485281..5ff0985e07efb96b95634a65995f09f7c68d9e99 100644 +--- a/sound/soc/bcm/audioinjector-pi-soundcard.c ++++ b/sound/soc/bcm/audioinjector-pi-soundcard.c +@@ -29,16 +29,56 @@ + + #include "../codecs/wm8731.h" + +-static int audioinjector_pi_soundcard_dai_init(struct snd_soc_pcm_runtime *rtd) ++static const unsigned int bcm2835_rates_12000000[] = { ++ 32000, 44100, 48000, 96000, 88200, ++}; ++ ++static struct snd_pcm_hw_constraint_list bcm2835_constraints_12000000 = { ++ .list = bcm2835_rates_12000000, ++ .count = ARRAY_SIZE(bcm2835_rates_12000000), ++}; ++ ++static int snd_audioinjector_pi_soundcard_startup(struct snd_pcm_substream *substream) + { +- struct snd_soc_dapm_context *dapm = &rtd->card->dapm; ++ /* Setup constraints, because there is a 12 MHz XTAL on the board */ ++ snd_pcm_hw_constraint_list(substream->runtime, 0, ++ SNDRV_PCM_HW_PARAM_RATE, ++ &bcm2835_constraints_12000000); ++ return 0; ++} + +- // not connected +- snd_soc_dapm_nc_pin(dapm, "Mic Bias"); +- snd_soc_dapm_nc_pin(dapm, "MICIN"); +- snd_soc_dapm_nc_pin(dapm, "RHPOUT"); +- snd_soc_dapm_nc_pin(dapm, "LHPOUT"); ++static int snd_audioinjector_pi_soundcard_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_dai *cpu_dai = rtd->cpu_dai; ++ ++ switch (params_rate(params)){ ++ case 8000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 1508); ++ case 32000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 378); ++ case 44100: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 274); ++ case 48000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 252); ++ case 88200: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 136); ++ case 96000: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 126); ++ default: ++ return snd_soc_dai_set_bclk_ratio(cpu_dai, 126); ++ } ++} ++ ++/* machine stream operations */ ++static struct snd_soc_ops snd_audioinjector_pi_soundcard_ops = { ++ .startup = snd_audioinjector_pi_soundcard_startup, ++ .hw_params = snd_audioinjector_pi_soundcard_hw_params, ++}; + ++static int audioinjector_pi_soundcard_dai_init(struct snd_soc_pcm_runtime *rtd) ++{ + return snd_soc_dai_set_sysclk(rtd->codec_dai, WM8731_SYSCLK_XTAL, 12000000, SND_SOC_CLOCK_IN); + } + +@@ -50,30 +90,39 @@ static struct snd_soc_dai_link audioinjector_pi_soundcard_dai[] = { + .codec_dai_name = "wm8731-hifi", + .platform_name = "bcm2835-i2s.0", + .codec_name = "wm8731.1-001a", ++ .ops = &snd_audioinjector_pi_soundcard_ops, + .init = audioinjector_pi_soundcard_dai_init, + .dai_fmt = SND_SOC_DAIFMT_CBM_CFM|SND_SOC_DAIFMT_I2S|SND_SOC_DAIFMT_NB_NF, + }, + }; + + static const struct snd_soc_dapm_widget wm8731_dapm_widgets[] = { ++ SND_SOC_DAPM_HP("Headphone Jack", NULL), + SND_SOC_DAPM_SPK("Ext Spk", NULL), + SND_SOC_DAPM_LINE("Line In Jacks", NULL), ++ SND_SOC_DAPM_MIC("Microphone", NULL), + }; + +-/* Corgi machine connections to the codec pins */ + static const struct snd_soc_dapm_route audioinjector_audio_map[] = { ++ /* headphone connected to LHPOUT, RHPOUT */ ++ {"Headphone Jack", NULL, "LHPOUT"}, ++ {"Headphone Jack", NULL, "RHPOUT"}, ++ + /* speaker connected to LOUT, ROUT */ + {"Ext Spk", NULL, "ROUT"}, + {"Ext Spk", NULL, "LOUT"}, + + /* line inputs */ + {"Line In Jacks", NULL, "Line Input"}, ++ ++ /* mic is connected to Mic Jack, with WM8731 Mic Bias */ ++ {"Microphone", NULL, "Mic Bias"}, + }; + + static struct snd_soc_card snd_soc_audioinjector = { + .name = "audioinjector-pi-soundcard", + .dai_link = audioinjector_pi_soundcard_dai, +- .num_links = 1, ++ .num_links = ARRAY_SIZE(audioinjector_pi_soundcard_dai), + + .dapm_widgets = wm8731_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(wm8731_dapm_widgets), + +From 900340bd2b43711372627df83e4ffcc4ce4c2294 Mon Sep 17 00:00:00 2001 +From: Thomas Kriechbaumer +Date: Fri, 3 Jun 2016 09:40:44 +0200 +Subject: [PATCH 139/141] BCM270X_DT: Add spi-rtc overlay on SPI0.0 + +Initial version only supports PCF2123 RTC. + +See: https://github.com/raspberrypi/linux/pull/1510 +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 6 +++++ + arch/arm/boot/dts/overlays/spi-rtc-overlay.dts | 33 ++++++++++++++++++++++++++ + 3 files changed, 40 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/spi-rtc-overlay.dts + +diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile +index ed62846e18e4d3098169f05a1a8ba16caf1619aa..988884db1861a6f1b032e8e88d812e9721e75d26 100644 +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -77,6 +77,7 @@ dtbo-$(RPI_DT_OVERLAYS) += smi.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-dev.dtbo + dtbo-$(RPI_DT_OVERLAYS) += smi-nand.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi-gpio35-39.dtbo ++dtbo-$(RPI_DT_OVERLAYS) += spi-rtc.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-1cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-2cs.dtbo + dtbo-$(RPI_DT_OVERLAYS) += spi1-3cs.dtbo +diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README +index 628cff3fc60a13b26b3f2f572573884df480c7bf..f105bbc3d55caacfedc346699d96cbc6bc611fce 100644 +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -953,6 +953,12 @@ Load: dtoverlay=spi-gpio35-39 + Params: + + ++Name: spi-rtc ++Info: Adds support for a number of SPI Real Time Clock devices ++Load: dtoverlay=spi-rtc,= ++Params: pcf2123 Select the PCF2123 device ++ ++ + Name: spi1-1cs + Info: Enables spi1 with a single chip select (CS) line and associated spidev + dev node. The gpio pin number for the CS line and spidev device node +diff --git a/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts +new file mode 100644 +index 0000000000000000000000000000000000000000..88d1800d63c9f6727b46d4e590c8e96c671c3755 +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/spi-rtc-overlay.dts +@@ -0,0 +1,33 @@ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2708"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spi0>; ++ __dormant__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ status = "okay"; ++ ++ rtc-pcf2123@0 { ++ compatible = "nxp,rtc-pcf2123"; ++ spi-max-frequency = <5000000>; ++ spi-cs-high = <1>; ++ reg = <0>; ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ pcf2123 = <0>, "=0=1"; ++ }; ++}; + +From 5e2ceb5da81488cd4be7625e0ffb2d7bd4faac13 Mon Sep 17 00:00:00 2001 +From: Phil Elwell +Date: Wed, 15 Jun 2016 16:48:41 +0100 +Subject: [PATCH 140/141] rtc: Add SPI alias for pcf2123 driver + +Without this alias, Device Tree won't cause the driver +to be loaded. + +See: https://github.com/raspberrypi/linux/pull/1510 +--- + drivers/rtc/rtc-pcf2123.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/drivers/rtc/rtc-pcf2123.c b/drivers/rtc/rtc-pcf2123.c +index da27738b12428eaac52771cfc62261995d1aa58e..3164be24eba3c123ea8cc49f16d409ea1de9e605 100644 +--- a/drivers/rtc/rtc-pcf2123.c ++++ b/drivers/rtc/rtc-pcf2123.c +@@ -475,3 +475,4 @@ MODULE_AUTHOR("Chris Verges "); + MODULE_DESCRIPTION("NXP PCF2123 RTC driver"); + MODULE_LICENSE("GPL"); + MODULE_VERSION(DRV_VERSION); ++MODULE_ALIAS("spi:rtc-pcf2123"); + +From 474abc9360db6f40c3b9cd42faaff458cd265ec5 Mon Sep 17 00:00:00 2001 +From: Wang Sheng-Hui +Date: Wed, 8 Jun 2016 15:33:56 -0700 +Subject: [PATCH 141/141] mm: introduce dedicated WQ_MEM_RECLAIM workqueue to + do lru_add_drain_all + +Backport of upstream commit f3a932baa7f65072434f1c04c02c8a4d2746fcfc + +See: https://github.com/raspberrypi/linux/issues/1534 + +-- + +This patch is based on https://patchwork.ozlabs.org/patch/574623/. + +Tejun submitted commit 23d11a58a9a6 ("workqueue: skip flush dependency +checks for legacy workqueues") for the legacy create*_workqueue() +interface. + +But some workq created by alloc_workqueue still reports warning on +memory reclaim, e.g nvme_workq with flag WQ_MEM_RECLAIM set: + + workqueue: WQ_MEM_RECLAIM nvme:nvme_reset_work is flushing !WQ_MEM_RECLAIM events:lru_add_drain_per_cpu + ------------[ cut here ]------------ + WARNING: CPU: 0 PID: 6 at SoC/linux/kernel/workqueue.c:2448 check_flush_dependency+0xb4/0x10c + ... + check_flush_dependency+0xb4/0x10c + flush_work+0x54/0x140 + lru_add_drain_all+0x138/0x188 + migrate_prep+0xc/0x18 + alloc_contig_range+0xf4/0x350 + cma_alloc+0xec/0x1e4 + dma_alloc_from_contiguous+0x38/0x40 + __dma_alloc+0x74/0x25c + nvme_alloc_queue+0xcc/0x36c + nvme_reset_work+0x5c4/0xda8 + process_one_work+0x128/0x2ec + worker_thread+0x58/0x434 + kthread+0xd4/0xe8 + ret_from_fork+0x10/0x50 + +That's because lru_add_drain_all() will schedule the drain work on +system_wq, whose flag is set to 0, !WQ_MEM_RECLAIM. + +Introduce a dedicated WQ_MEM_RECLAIM workqueue to do +lru_add_drain_all(), aiding in getting memory freed. + +Link: http://lkml.kernel.org/r/1464917521-9775-1-git-send-email-shhuiw@foxmail.com +Signed-off-by: Wang Sheng-Hui +Acked-by: Tejun Heo +Cc: Keith Busch +Cc: Peter Zijlstra +Cc: Thierry Reding +Cc: Ingo Molnar +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +--- + mm/swap.c | 20 +++++++++++++++++++- + 1 file changed, 19 insertions(+), 1 deletion(-) + +diff --git a/mm/swap.c b/mm/swap.c +index 03aacbcb013f2be47efbb15d78387c8b368e2604..f02d8fb2110a85d25451d5466b8bc22a3b7d7577 100644 +--- a/mm/swap.c ++++ b/mm/swap.c +@@ -666,6 +666,24 @@ static void lru_add_drain_per_cpu(struct work_struct *dummy) + + static DEFINE_PER_CPU(struct work_struct, lru_add_drain_work); + ++/* ++ * lru_add_drain_wq is used to do lru_add_drain_all() from a WQ_MEM_RECLAIM ++ * workqueue, aiding in getting memory freed. ++ */ ++static struct workqueue_struct *lru_add_drain_wq; ++ ++static int __init lru_init(void) ++{ ++ lru_add_drain_wq = alloc_workqueue("lru-add-drain", WQ_MEM_RECLAIM, 0); ++ ++ if (WARN(!lru_add_drain_wq, ++ "Failed to create workqueue lru_add_drain_wq")) ++ return -ENOMEM; ++ ++ return 0; ++} ++early_initcall(lru_init); ++ + void lru_add_drain_all(void) + { + static DEFINE_MUTEX(lock); +@@ -685,7 +703,7 @@ void lru_add_drain_all(void) + pagevec_count(&per_cpu(lru_deactivate_pvecs, cpu)) || + need_activate_page_drain(cpu)) { + INIT_WORK(work, lru_add_drain_per_cpu); +- schedule_work_on(cpu, work); ++ queue_work_on(cpu, lru_add_drain_wq, work); + cpumask_set_cpu(cpu, &has_work); + } + } From 66395c23f916737a5d6dce9d2128e2fc0ad8cb5b Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Tue, 21 Jun 2016 19:55:20 +0100 Subject: [PATCH 4/4] tools: Fix typos --- tools/RPi/gen-rpi-kodi-patch.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/RPi/gen-rpi-kodi-patch.sh b/tools/RPi/gen-rpi-kodi-patch.sh index 444a45bb59..48ec2ab569 100755 --- a/tools/RPi/gen-rpi-kodi-patch.sh +++ b/tools/RPi/gen-rpi-kodi-patch.sh @@ -42,7 +42,7 @@ rm -fr raspberrypi-kodi # If we have a persisted version of the repo, quickly copy it if [ -d raspberrypi-kodi.stash ]; then - echo "Copying raspberrypi-kodi.stash raspberrypi-kodii..." + echo "Copying raspberrypi-kodi.stash raspberrypi-kodi..." cp -r raspberrypi-kodi.stash raspberrypi-kodi cd raspberrypi-kodi git checkout ${BRANCH} @@ -91,7 +91,7 @@ BRANCH="${BRANCH//_/-}" echo echo "cp /tmp/skin.patch projects/RPi/patches/${SKIN2}/${SKIN2}-001-${BRANCH}.patch" echo "cp /tmp/skin.patch projects/RPi2/patches/${SKIN2}/${SKIN2}-001-${BRANCH}.patch" -echo "git commit -am \"RPi/RPi2: Update kodi-theme-${SKIN} support patches\"" +echo "git commit -am \"RPi/RPi2: Update ${SKIN2} support patches\"" echo echo "cp /tmp/kodi.patch projects/RPi/patches/kodi/kodi-001-${BRANCH}.patch"