From 11301c7977adfee656ad417be56d7a814f5b4850 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 4 Sep 2017 23:43:31 +0100 Subject: [PATCH] RPi: update linux support patch for linux 4.13-rc1 --- .../patches/linux/linux-01-RPi_support.patch | 2478 ++++++----------- 1 file changed, 788 insertions(+), 1690 deletions(-) diff --git a/projects/RPi/patches/linux/linux-01-RPi_support.patch b/projects/RPi/patches/linux/linux-01-RPi_support.patch index 89e55f0ab6..9884c4b409 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 e7020b24780500375c972138247088055aa58c4b Mon Sep 17 00:00:00 2001 +From 3ebdf84e6ba13cec6989dbd864979d2d9419e2a3 Mon Sep 17 00:00:00 2001 From: Steve Glendinning Date: Thu, 19 Feb 2015 18:47:12 +0000 -Subject: [PATCH 001/182] smsx95xx: fix crimes against truesize +Subject: [PATCH 001/170] 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. @@ -48,10 +48,10 @@ index 2dfca96a63b60283b89efab676932a711024a499..88843b36182f0f12175df06e3a6fb55a usbnet_skb_return(dev, ax_skb); } -From fd8078bf456f4a629db67188df72fbee0416d6cb Mon Sep 17 00:00:00 2001 +From bd5fa30ddea4358c0a533005915af5de783d775b Mon Sep 17 00:00:00 2001 From: Sam Nazarko Date: Fri, 1 Apr 2016 17:27:21 +0100 -Subject: [PATCH 002/182] smsc95xx: Experimental: Enable turbo_mode and +Subject: [PATCH 002/170] smsc95xx: Experimental: Enable turbo_mode and packetsize=2560 by default See: http://forum.kodi.tv/showthread.php?tid=285288 @@ -94,10 +94,10 @@ index 88843b36182f0f12175df06e3a6fb55a3a8f47e5..27813c57707c4b001646a26d8b1174a0 netif_dbg(dev, ifup, dev->net, "rx_urb_size=%ld\n", -From 754b366ed8cdaecaed19c1a094a41e920a2b96c0 Mon Sep 17 00:00:00 2001 +From 99193f007bf96dfe7385c5d13e1e22168f09fffc Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 26 Mar 2013 17:26:38 +0000 -Subject: [PATCH 003/182] Allow mac address to be set in smsc95xx +Subject: [PATCH 003/170] Allow mac address to be set in smsc95xx Signed-off-by: popcornmix --- @@ -193,10 +193,10 @@ index 27813c57707c4b001646a26d8b1174a0162c55ec..fac7a5f8642030a7dca7807e6c4808ea eth_hw_addr_random(dev->net); netif_dbg(dev, ifup, dev->net, "MAC address set to eth_random_addr\n"); -From aa1545cb558dcc4b3c137cc656ee357a2b1767dc Mon Sep 17 00:00:00 2001 +From c640636a9f65b395fed89c095ddb23278cf57f59 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 13 Mar 2015 12:43:36 +0000 -Subject: [PATCH 004/182] Protect __release_resource against resources without +Subject: [PATCH 004/170] Protect __release_resource against resources without parents Without this patch, removing a device tree overlay can crash here. @@ -224,10 +224,38 @@ index 9b5f04404152c296af3a96132f27cfc80ffa9af9..f8a9af6e6b915812be2ba2c1c2b40106 for (;;) { tmp = *p; -From a618e7e996d6c5087d1517da68f932a5dc658fc7 Mon Sep 17 00:00:00 2001 +From 5c86809ffeef9dad008f1181aa13f5b004678825 Mon Sep 17 00:00:00 2001 +From: Eric Anholt +Date: Thu, 18 Dec 2014 16:07:15 -0800 +Subject: [PATCH 005/170] mm: Remove the PFN busy warning + +See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is +expected sometimes when using CMA. However, that commit still spams +my kernel log with these warnings. + +Signed-off-by: Eric Anholt +--- + mm/page_alloc.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 6d30e914afb6c1b9ecc77b33ee5e01fc7a0ed6b3..c507ff0f4442d9e4ddd35c34067e9fb8bf2e264d 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -7666,8 +7666,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, + + /* Make sure the range is really isolated. */ + if (test_pages_isolated(outer_start, end, false)) { +- pr_info("%s: [%lx, %lx) PFNs busy\n", +- __func__, outer_start, end); + ret = -EBUSY; + goto done; + } + +From 01fb9104f7acc1e56171b1715efa7c5aa26f5850 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 4 Dec 2015 17:41:50 +0000 -Subject: [PATCH 005/182] irq-bcm2836: Prevent spurious interrupts, and trap +Subject: [PATCH 006/170] irq-bcm2836: Prevent spurious interrupts, and trap them early The old arch-specific IRQ macros included a dsb to ensure the @@ -254,10 +282,10 @@ index e7463e3c08143acae3e8cc5682f918c6a0b07ebd..a8db33b50ad9ff83d284fa54fe4d3b65 #endif } else if (stat) { -From 022796eab9a09bf12dd5404c3eabaf37b36cd1b5 Mon Sep 17 00:00:00 2001 +From f4eb9d7bbcb3d960bc76750f6657339871815f17 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:33:30 +0000 -Subject: [PATCH 006/182] irq-bcm2836: Avoid "Invalid trigger warning" +Subject: [PATCH 007/170] irq-bcm2836: Avoid "Invalid trigger warning" Initialise the level for each IRQ to avoid a warning from the arm arch timer code. @@ -281,10 +309,10 @@ index a8db33b50ad9ff83d284fa54fe4d3b65f859df0f..c4e151451cf8c8ebde5225515eac2786 static void -From 12c2f7e3338c01594e7dcdb05db8ae733111cc80 Mon Sep 17 00:00:00 2001 +From 609fec920216fa923295cbc1e90eea03893908a8 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 007/182] irqchip: bcm2835: Add FIQ support +Subject: [PATCH 008/170] irqchip: bcm2835: Add FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -302,12 +330,12 @@ 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 f9389c5910e76bad8353744137a7360a0c549b56..307fcf9c9d92c1e9eee5111260997cbc5514b5fc 100644 +index 73be3d5788510e953a460c76437db3f22c3d7bda..3c7d01eaa341b03ced0ba9aadb705463f82ca149 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -152,6 +152,7 @@ config ARCH_BCM2835 +@@ -154,6 +154,7 @@ config ARCH_BCM2835 select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7 - select CLKSRC_OF + select TIMER_OF select BCM2835_TIMER + select FIQ select PINCTRL @@ -413,10 +441,10 @@ index 44d7c38dde479d771f3552e914bf8c1c1f5019f7..42ff5e6a8e0d532f5b60a1e7af7cc4d9 } -From a745cf6f6ce8cc37a228150d8983a631c33f3e70 Mon Sep 17 00:00:00 2001 +From a3897adda1ef43d3098a29e859a5eb61d0f731a1 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 008/182] irqchip: irq-bcm2835: Add 2836 FIQ support +Subject: [PATCH 009/170] irqchip: irq-bcm2835: Add 2836 FIQ support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -515,10 +543,10 @@ index 42ff5e6a8e0d532f5b60a1e7af7cc4d941bd5008..eccf6ed025299cb480884f5bcbe77abf for (b = 0; b < NR_BANKS; b++) { for (i = 0; i < bank_irqs[b]; i++) { -From f03f6711ed354be82a29bde663e136f91cae06d7 Mon Sep 17 00:00:00 2001 +From c4983cc011fea4648d400b676d820677427f52d3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 10:26:09 +0100 -Subject: [PATCH 009/182] spidev: Add "spidev" compatible string to silence +Subject: [PATCH 010/170] spidev: Add "spidev" compatible string to silence warning See: https://github.com/raspberrypi/linux/issues/1054 @@ -527,10 +555,10 @@ 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 9a2a79a871ba009fcfa8b7e2b52002c8845d94ce..4ffd24e8c50fd0df03cbb1257448c2020be5a696 100644 +index cda10719d1d1b21b32866d2b79363faa461ab8e1..4f3779d3aa0960640506725bde918075131e1121 100644 --- a/drivers/spi/spidev.c +++ b/drivers/spi/spidev.c -@@ -698,6 +698,7 @@ static const struct of_device_id spidev_dt_ids[] = { +@@ -669,6 +669,7 @@ static const struct of_device_id spidev_dt_ids[] = { { .compatible = "lineartechnology,ltc2488" }, { .compatible = "ge,achc" }, { .compatible = "semtech,sx1301" }, @@ -539,16 +567,16 @@ index 9a2a79a871ba009fcfa8b7e2b52002c8845d94ce..4ffd24e8c50fd0df03cbb1257448c202 }; MODULE_DEVICE_TABLE(of, spidev_dt_ids); -From 4c0319e5819cd8b9eb1e48de563a6fd59c066e0a Mon Sep 17 00:00:00 2001 +From 13c1a80b53e9b3470a15da3163f742377e2d311a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 3 Jan 2017 18:25:01 +0000 -Subject: [PATCH 010/182] Revert "pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP" +Subject: [PATCH 011/170] Revert "pinctrl: bcm2835: switch to GPIOLIB_IRQCHIP" This reverts commit 85ae9e512f437cd09bf61564bdba29ab88bab3e3. --- drivers/pinctrl/bcm/Kconfig | 1 - - drivers/pinctrl/bcm/pinctrl-bcm2835.c | 140 ++++++++++++++++++---------------- - 2 files changed, 76 insertions(+), 65 deletions(-) + drivers/pinctrl/bcm/pinctrl-bcm2835.c | 144 ++++++++++++++++++---------------- + 2 files changed, 76 insertions(+), 69 deletions(-) diff --git a/drivers/pinctrl/bcm/Kconfig b/drivers/pinctrl/bcm/Kconfig index e8c4e4f934a6d388bef3e77b89dc19d1e3a6db66..5691311b93991043e9074c330646d0b4837d296e 100644 @@ -563,10 +591,10 @@ index e8c4e4f934a6d388bef3e77b89dc19d1e3a6db66..5691311b93991043e9074c330646d0b4 config PINCTRL_IPROC_GPIO bool "Broadcom iProc GPIO (with PINCONF) driver" diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2ee428d6db 100644 +index 230883168e99a1a3fecc7916ef0a7e0de7e8b3f1..ff3789a11b3c36b922b9d08035abb638187c2f5a 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -24,9 +24,11 @@ +@@ -24,10 +24,12 @@ #include #include #include @@ -574,10 +602,11 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e #include #include #include + #include +#include - #include #include #include + #include @@ -79,6 +81,11 @@ enum bcm2835_pinconf_param { #define BCM2835_PINCONF_UNPACK_PARAM(_conf_) ((_conf_) >> 16) #define BCM2835_PINCONF_UNPACK_ARG(_conf_) ((_conf_) & 0xffff) @@ -673,12 +702,12 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e - /* This should not happen, every IRQ has a bank */ - if (i == ARRAY_SIZE(pc->irq)) - BUG(); +- +- chained_irq_enter(host_chip, desc); + struct bcm2835_gpio_irqdata *irqdata = dev_id; + struct bcm2835_pinctrl *pc = irqdata->pc; + int handled = 0; -- chained_irq_enter(host_chip, desc); -- - switch (group) { + switch (irqdata->irqgroup) { case 0: /* IRQ0 covers GPIOs 0-27 */ @@ -777,7 +806,7 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e for (i = 0; i < BCM2835_NUM_BANKS; i++) { unsigned long events; unsigned offset; -@@ -1032,35 +1045,34 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) +@@ -1032,39 +1045,34 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) spin_lock_init(&pc->irq_lock[i]); } @@ -819,6 +848,10 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e - for (i = 0; i < BCM2835_NUM_IRQS; i++) { - pc->irq[i] = irq_of_parse_and_map(np, i); - pc->irq_group[i] = i; +- +- if (pc->irq[i] == 0) +- continue; +- - /* - * Use the same handler for all groups: this is necessary - * since we use one gpiochip to cover all lines - the @@ -836,10 +869,10 @@ index 85d0091128644c446aed878e87769e82c77c3ebf..4f2621272bfd5cbc0d691d2fabe89e2e if (IS_ERR(pc->pctl_dev)) { gpiochip_remove(&pc->gpio_chip); -From a4dab864d1e7a785b18d5d4d506eaf7d06425c7a Mon Sep 17 00:00:00 2001 +From 17136ad93bd06f7a449dd51dd447d3c9e02b9f71 Mon Sep 17 00:00:00 2001 From: notro Date: Thu, 10 Jul 2014 13:59:47 +0200 -Subject: [PATCH 011/182] pinctrl-bcm2835: Set base to 0 give expected gpio +Subject: [PATCH 012/170] pinctrl-bcm2835: Set base to 0 give expected gpio numbering Signed-off-by: Noralf Tronnes @@ -848,7 +881,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 4f2621272bfd5cbc0d691d2fabe89e2ee428d6db..5b7cb4c415e19f98e25b221ab0ad36b6885dae4c 100644 +index ff3789a11b3c36b922b9d08035abb638187c2f5a..d2b537572095c86576f78536f737c102487f99f4 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -381,7 +381,7 @@ static struct gpio_chip bcm2835_gpio_chip = { @@ -861,10 +894,10 @@ index 4f2621272bfd5cbc0d691d2fabe89e2ee428d6db..5b7cb4c415e19f98e25b221ab0ad36b6 .can_sleep = false, }; -From 6df4cff6a8e94703ca627adc2f943321e3ea0969 Mon Sep 17 00:00:00 2001 +From d771a9fccfde965f00f088a759484d2599728e98 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 26 Feb 2015 09:58:22 +0000 -Subject: [PATCH 012/182] pinctrl-bcm2835: Only request the interrupts listed +Subject: [PATCH 013/170] pinctrl-bcm2835: Only request the interrupts listed in the DTB Although the GPIO controller can generate three interrupts (four counting @@ -878,7 +911,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 5b7cb4c415e19f98e25b221ab0ad36b6885dae4c..6351fe7f8e314ac5ebb102dd20847b383fd5b857 100644 +index d2b537572095c86576f78536f737c102487f99f4..a9d480df32562defbf8be0faf0a39bfe06ff71f9 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -1049,6 +1049,8 @@ static int bcm2835_pinctrl_probe(struct platform_device *pdev) @@ -891,10 +924,10 @@ index 5b7cb4c415e19f98e25b221ab0ad36b6885dae4c..6351fe7f8e314ac5ebb102dd20847b38 pc->irq_data[i].irqgroup = i; -From fe43d165977361c7b2d98fe93aa41fcc33c99c1c Mon Sep 17 00:00:00 2001 +From c29b0d633f826906852a514260e29201c13f2e51 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Jun 2015 14:10:44 +0100 -Subject: [PATCH 013/182] spi-bcm2835: Support pin groups other than 7-11 +Subject: [PATCH 014/170] 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 @@ -975,10 +1008,10 @@ index f35cc10772f6670397ea923ad30158270dd68578..5dfe20ffc2866fa6789825016c585175 /* and set up the "mode" and level */ dev_info(&spi->dev, "setting up native-CS%i as GPIO %i\n", -From 7214b43fc991e7ef4b3b56d12ab7ab003f31cd0d Mon Sep 17 00:00:00 2001 +From 0d2132fc738f4e764051c4b60bbe3c54c01e44ac Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 1 Jul 2016 22:09:24 +0100 -Subject: [PATCH 014/182] spi-bcm2835: Disable forced software CS +Subject: [PATCH 015/170] spi-bcm2835: Disable forced software CS Select software CS in bcm2708_common.dtsi, and disable the automatic conversion in the driver to allow hardware CS to be re-enabled with an @@ -1012,10 +1045,10 @@ index 5dfe20ffc2866fa6789825016c585175a29705b6..8493474d286f7a1ac6454a22c61c8c2c return 0; } -From f78bff7020532940b368564ea48a0a114cfac1ee Mon Sep 17 00:00:00 2001 +From 909ef48c41945b7c2fb9ba328a6d45271b4e0ce8 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 8 Nov 2016 21:35:38 +0000 -Subject: [PATCH 015/182] spi-bcm2835: Remove unused code +Subject: [PATCH 016/170] spi-bcm2835: Remove unused code --- drivers/spi/spi-bcm2835.c | 61 ----------------------------------------------- @@ -1103,10 +1136,10 @@ index 8493474d286f7a1ac6454a22c61c8c2cef9121bf..33d75ad38a7f77d085321ace9101900a } -From a6cfafab03908b3b35138577d87a963f2b212591 Mon Sep 17 00:00:00 2001 +From 614bbc844202a88b8384cd4cfd84b124dab374dd 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 016/182] ARM: bcm2835: Set Serial number and Revision +Subject: [PATCH 017/170] ARM: bcm2835: Set Serial number and Revision MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1159,10 +1192,10 @@ index 0c1edfc98696da0e0bb7f4a18cdfbcdd27a9795d..8f152266ba9b470df2eaaed9ebcf158e static const char * const bcm2835_compat[] = { -From 71725bea016ffa191726b4fbbdc4258bcaf24f81 Mon Sep 17 00:00:00 2001 +From 28c757d45d731643c4121208a58d5a3d50e9b6b9 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 017/182] dmaengine: bcm2835: Load driver early and support +Subject: [PATCH 018/170] dmaengine: bcm2835: Load driver early and support legacy API MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -1180,10 +1213,10 @@ Signed-off-by: Noralf Trønnes 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 24e8597b2c3ed3fa6857c2e1aa9cc191c2cad2e2..3b3d2c56ae7a57ec41722a060c1a93b0a61c5e98 100644 +index fa8f9c07ce73f712c02de35c40c6a7ee2c42fd5f..f8883e93c4d89a3ae62a585329c8d5edb5c23058 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig -@@ -108,7 +108,7 @@ config COH901318 +@@ -125,7 +125,7 @@ config COH901318 config DMA_BCM2835 tristate "BCM2835 DMA engine support" @@ -1265,10 +1298,10 @@ index 6204cc32d09c5096df8aec304c3c37b3bcb6be44..599c218dc8a73172dd4bd4a058fc8f95 MODULE_ALIAS("platform:bcm2835-dma"); MODULE_DESCRIPTION("BCM2835 DMA engine driver"); -From 03794c14df1aa67fe5e9b51811a82370a1f65f1b Mon Sep 17 00:00:00 2001 +From 04b5e5765780b9c54a0131c55bff3b84fbb88331 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 25 Jan 2016 17:25:12 +0000 -Subject: [PATCH 018/182] firmware: Updated mailbox header +Subject: [PATCH 019/170] firmware: Updated mailbox header --- include/soc/bcm2835/raspberrypi-firmware.h | 9 +++++++++ @@ -1329,10 +1362,10 @@ index cb979ad90401e299344dd5fae38d09c489d8bd58..30fb37fe175df604a738258a2a632bca RPI_FIRMWARE_VCHIQ_INIT = 0x00048010, -From 9b55d46fa8ac0eafb124377953eaef5adf4bb99b Mon Sep 17 00:00:00 2001 +From 24570510a5cde8f49995c679c1bdeaa3b883eb3a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 15 Jun 2016 16:48:41 +0100 -Subject: [PATCH 019/182] rtc: Add SPI alias for pcf2123 driver +Subject: [PATCH 020/170] rtc: Add SPI alias for pcf2123 driver Without this alias, Device Tree won't cause the driver to be loaded. @@ -1352,10 +1385,10 @@ index 8895f77726e8da5444afcd602dceff8f25a9b3fd..1833b8853ceb0e6147cceb93a00e558c MODULE_LICENSE("GPL"); +MODULE_ALIAS("spi:rtc-pcf2123"); -From d8456ed75a8b4d4470be6d8998070b97d332d113 Mon Sep 17 00:00:00 2001 +From 4bb656049aa2675a1efa9932213f45c3b8467362 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Fri, 7 Oct 2016 16:50:59 +0200 -Subject: [PATCH 020/182] watchdog: bcm2835: Support setting reboot partition +Subject: [PATCH 021/170] watchdog: bcm2835: Support setting reboot partition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -1457,10 +1490,10 @@ index b339e0e67b4c1275fd4992fea4f1e24c0575b783..26b7177573fac2af1cd4ab5488d2686f static int bcm2835_wdt_probe(struct platform_device *pdev) -From 305ac65c07738f149a25ad9aee34561b25dfa3cf Mon Sep 17 00:00:00 2001 +From 83e2eadcebe668871a49fceacde7b771bcbce76c Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 5 Apr 2016 19:40:12 +0100 -Subject: [PATCH 021/182] reboot: Use power off rather than busy spinning when +Subject: [PATCH 022/170] reboot: Use power off rather than busy spinning when halt is requested --- @@ -1483,17 +1516,17 @@ index 3b2aa9a9fe268d45335f781c4aa22cf573753a1b..0180d89a34af45c56243fe0f17fbe209 /* -From 6cfa7a1f23f6a73a955164fe54e120afe3dbb7fb Mon Sep 17 00:00:00 2001 +From febcaee5db731a2daeefe29487efafa312351914 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 9 Nov 2016 13:02:52 +0000 -Subject: [PATCH 022/182] bcm: Make RASPBERRYPI_POWER depend on PM +Subject: [PATCH 023/170] bcm: Make RASPBERRYPI_POWER depend on PM --- drivers/soc/bcm/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/soc/bcm/Kconfig b/drivers/soc/bcm/Kconfig -index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..e037a6dd79d1881a09e3ca911578270917888846 100644 +index 49f1e2a75d614bc21db152327c7b425ae2504f8d..dccd2374ed00631abd441e3e9d78ee743c2de6a8 100644 --- a/drivers/soc/bcm/Kconfig +++ b/drivers/soc/bcm/Kconfig @@ -4,6 +4,7 @@ config RASPBERRYPI_POWER @@ -1505,10 +1538,10 @@ index a39b0d58ddd0fdf0ac1cc7295f8aafb12546e226..e037a6dd79d1881a09e3ca9115782709 help This enables support for the RPi power domains which can be enabled -From b8f81dd611ee33a79c700970d69a86ecaefc3ab7 Mon Sep 17 00:00:00 2001 +From 59964a8fc9189539c3a24934f8d0eec405bcd6e7 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Fri, 2 Sep 2016 16:45:27 +0100 -Subject: [PATCH 023/182] Register the clocks early during the boot process, so +Subject: [PATCH 024/170] Register the clocks early during the boot process, so that special/critical clocks can get enabled early on in the boot process avoiding the risk of disabling a clock, pll_divider or pll when a claiming driver fails to install propperly - maybe it needs to defer. @@ -1519,10 +1552,10 @@ Signed-off-by: Martin Sperl 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 02585387061967ac9408e18ac1bce67e9e9414c0..283d2de45e4f29406d01f24ab1cae3f9f879234a 100644 +index 58ce6af8452db9ca8b4d3c380a06e448919f6a8d..11d89d106026f15719ea25047d6f357b4bfcb2c5 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -2163,8 +2163,15 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2214,8 +2214,15 @@ static int bcm2835_clk_probe(struct platform_device *pdev) if (ret) return ret; @@ -1539,7 +1572,7 @@ index 02585387061967ac9408e18ac1bce67e9e9414c0..283d2de45e4f29406d01f24ab1cae3f9 } static const struct of_device_id bcm2835_clk_of_match[] = { -@@ -2181,7 +2188,11 @@ static struct platform_driver bcm2835_clk_driver = { +@@ -2232,7 +2239,11 @@ static struct platform_driver bcm2835_clk_driver = { .probe = bcm2835_clk_probe, }; @@ -1553,10 +1586,10 @@ index 02585387061967ac9408e18ac1bce67e9e9414c0..283d2de45e4f29406d01f24ab1cae3f9 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("BCM2835 clock driver"); -From e519df686e7afa70cfa2eceb3e331ca433fbc813 Mon Sep 17 00:00:00 2001 +From 218d7e08cbc1db35febff72afb40588d616aa00b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 6 Dec 2016 17:05:39 +0000 -Subject: [PATCH 024/182] bcm2835-rng: Avoid initialising if already enabled +Subject: [PATCH 025/170] bcm2835-rng: Avoid initialising if already enabled Avoids the 0x40000 cycles of warmup again if firmware has already used it --- @@ -1582,20 +1615,20 @@ index 574211a495491d9d6021dcaefe4274a63ed02055..e66c0fca8c6090e32f72796c0877a1cf err = hwrng_register(&bcm2835_rng_ops); if (err) { -From 8fdb6f08f8b87828454f6acdc62afd6c29a9bcf3 Mon Sep 17 00:00:00 2001 +From ea860414f1693487fd811c1bc319ed8da4808e48 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 24 Aug 2016 16:28:44 +0100 -Subject: [PATCH 025/182] kbuild: Ignore dtco targets when filtering symbols +Subject: [PATCH 026/170] kbuild: Ignore dtco targets when filtering symbols --- scripts/Kbuild.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include -index 61f87a99bf0a1c512e572d3cbdcf4b4b5d7ae785..0a5e36778eacf7dc589486f8bc8033f57d1adc6e 100644 +index dd8e2dde0b34b3759fe6061eb5c2887f4ecd21fd..801faf1fa311262445dea6e091bf1ac7711394a1 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include -@@ -288,7 +288,7 @@ ksym_dep_filter = \ +@@ -293,7 +293,7 @@ ksym_dep_filter = \ $(CPP) $(call flags_nodeps,c_flags) -D__KSYM_DEPS__ $< ;; \ as_*_S|cpp_s_S) \ $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;; \ @@ -1605,10 +1638,10 @@ index 61f87a99bf0a1c512e572d3cbdcf4b4b5d7ae785..0a5e36778eacf7dc589486f8bc8033f5 esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' -From 452cecc4d170acf3d45787a985e9a2b2f8eeee1a Mon Sep 17 00:00:00 2001 +From df1a8c2f40dbf6f2076a013ea60984195365f86d Mon Sep 17 00:00:00 2001 From: Robert Tiemann Date: Mon, 20 Jul 2015 11:01:25 +0200 -Subject: [PATCH 026/182] BCM2835_DT: Fix I2S register map +Subject: [PATCH 027/170] BCM2835_DT: Fix I2S register map --- Documentation/devicetree/bindings/dma/brcm,bcm2835-dma.txt | 4 ++-- @@ -1646,10 +1679,10 @@ index 65783de0aedf3da79adc36fd077b7a89954ddb6b..a89fe4220fdc3f26f75ee66daf187554 dmas = <&dma 2>, <&dma 3>; -From c52b9697ecb9464bc5a716ba2e7b914657fc2eef Mon Sep 17 00:00:00 2001 +From e11dee50aafd4f02b5d119e3818e4f9b24e7f6df Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 027/182] clk-bcm2835: Mark used PLLs and dividers CRITICAL +Subject: [PATCH 028/170] clk-bcm2835: Mark used PLLs and dividers CRITICAL The VPU configures and relies on several PLLs and dividers. Mark all enabled dividers and their PLLs as CRITICAL to prevent the kernel from @@ -1661,10 +1694,10 @@ Signed-off-by: Phil Elwell 1 file changed, 5 insertions(+) diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 283d2de45e4f29406d01f24ab1cae3f9f879234a..85df8c74a309f0b877ef65f1c55b086f1bb774a1 100644 +index 11d89d106026f15719ea25047d6f357b4bfcb2c5..fe8f5d65f2749cb3ddc878df616648267441e0ee 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1366,6 +1366,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, +@@ -1391,6 +1391,11 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, divider->div.hw.init = &init; divider->div.table = NULL; @@ -1677,10 +1710,10 @@ index 283d2de45e4f29406d01f24ab1cae3f9f879234a..85df8c74a309f0b877ef65f1c55b086f divider->data = data; -From 3e94335d1cece712bd0045710021070470154969 Mon Sep 17 00:00:00 2001 +From c8102a170a927689cf6b5e5aba5017e46905d41d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 13 Feb 2017 17:20:08 +0000 -Subject: [PATCH 028/182] clk-bcm2835: Add claim-clocks property +Subject: [PATCH 029/170] clk-bcm2835: Add claim-clocks property The claim-clocks property can be used to prevent PLLs and dividers from being marked as critical. It contains a vector of clock IDs, @@ -1695,10 +1728,10 @@ Signed-off-by: Phil Elwell 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb68ab3a488 100644 +index fe8f5d65f2749cb3ddc878df616648267441e0ee..92b5e0f5145b32d3bfc3592fe381e8be3cd90c72 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1298,6 +1298,8 @@ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { +@@ -1323,6 +1323,8 @@ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { .debug_init = bcm2835_clock_debug_init, }; @@ -1707,7 +1740,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, const struct bcm2835_pll_data *data) { -@@ -1314,6 +1316,9 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, +@@ -1339,6 +1341,9 @@ static struct clk_hw *bcm2835_register_pll(struct bcm2835_cprman *cprman, init.ops = &bcm2835_pll_clk_ops; init.flags = CLK_IGNORE_UNUSED; @@ -1717,7 +1750,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 pll = kzalloc(sizeof(*pll), GFP_KERNEL); if (!pll) return NULL; -@@ -1367,8 +1372,10 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, +@@ -1392,8 +1397,10 @@ bcm2835_register_pll_divider(struct bcm2835_cprman *cprman, divider->div.table = NULL; if (!(cprman_read(cprman, data->cm_reg) & data->hold_mask)) { @@ -1730,7 +1763,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 } divider->cprman = cprman; -@@ -2095,6 +2102,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { +@@ -2146,6 +2153,8 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { .ctl_reg = CM_PERIICTL), }; @@ -1739,7 +1772,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 /* * Permanently take a reference on the parent of the SDRAM clock. * -@@ -2114,6 +2123,19 @@ static int bcm2835_mark_sdc_parent_critical(struct clk *sdc) +@@ -2165,6 +2174,19 @@ static int bcm2835_mark_sdc_parent_critical(struct clk *sdc) return clk_prepare_enable(parent); } @@ -1759,7 +1792,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 static int bcm2835_clk_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -2123,6 +2145,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2174,6 +2196,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); size_t i; @@ -1767,7 +1800,7 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 int ret; cprman = devm_kzalloc(dev, sizeof(*cprman) + -@@ -2138,6 +2161,13 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2189,6 +2212,13 @@ static int bcm2835_clk_probe(struct platform_device *pdev) if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); @@ -1782,40 +1815,10 @@ index 85df8c74a309f0b877ef65f1c55b086f1bb774a1..eec6735505c074c0a76ae647bf0e1bb6 sizeof(cprman_parent_names)); of_clk_parent_fill(dev->of_node, cprman->real_parent_names, -From 5e272818d0d6e991539c9ee109e56b54025ee280 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 1 Mar 2017 16:06:53 +0000 -Subject: [PATCH 029/182] clk-bcm2835: Correct the prediv logic - -If a clock has the prediv flag set, both the integer and fractional -parts must be scaled when calculating the resulting frequency. - -Signed-off-by: Phil Elwell ---- - drivers/clk/bcm/clk-bcm2835.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index eec6735505c074c0a76ae647bf0e1bb68ab3a488..e0d28add45efdf70d1eba590282a3a2654af328d 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -616,8 +616,10 @@ static unsigned long bcm2835_pll_get_rate(struct clk_hw *hw, - using_prediv = cprman_read(cprman, data->ana_reg_base + 4) & - data->ana->fb_prediv_mask; - -- if (using_prediv) -+ if (using_prediv) { - ndiv *= 2; -+ fdiv *= 2; -+ } - - return bcm2835_pll_rate_from_divisors(parent_rate, ndiv, fdiv, pdiv); - } - -From f5a16a8fb01d7c2cd638a055d9afe3ae3dddb794 Mon Sep 17 00:00:00 2001 +From 0ba28ff6d48271d921ba6fbcc0f297ae0202f75b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 6 Mar 2017 09:06:18 +0000 -Subject: [PATCH 030/182] clk-bcm2835: Read max core clock from firmware +Subject: [PATCH 030/170] clk-bcm2835: Read max core clock from firmware The VPU is responsible for managing the core clock, usually under direction from the bcm2835-cpufreq driver but not via the clk-bcm2835 @@ -1838,7 +1841,7 @@ Signed-off-by: Phil Elwell 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344aab008da 100644 +index 92b5e0f5145b32d3bfc3592fe381e8be3cd90c72..336f8c9c44325d0a94e591a8557f7af246adc857 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c @@ -45,6 +45,7 @@ @@ -1866,7 +1869,7 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 spinlock_t regs_lock; /* spinlock for all clocks */ /* -@@ -1025,6 +1029,30 @@ static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw, +@@ -1026,6 +1030,30 @@ static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw, return bcm2835_clock_rate_from_divisor(clock, parent_rate, div); } @@ -1897,7 +1900,7 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 static void bcm2835_clock_wait_busy(struct bcm2835_clock *clock) { struct bcm2835_cprman *cprman = clock->cprman; -@@ -1292,7 +1320,7 @@ static int bcm2835_vpu_clock_is_on(struct clk_hw *hw) +@@ -1315,7 +1343,7 @@ static int bcm2835_vpu_clock_is_on(struct clk_hw *hw) */ static const struct clk_ops bcm2835_vpu_clock_clk_ops = { .is_prepared = bcm2835_vpu_clock_is_on, @@ -1906,7 +1909,7 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 .set_rate = bcm2835_clock_set_rate, .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, -@@ -2146,6 +2174,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2195,6 +2223,7 @@ static int bcm2835_clk_probe(struct platform_device *pdev) struct resource *res; const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); @@ -1914,7 +1917,7 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 size_t i; u32 clk_id; int ret; -@@ -2163,6 +2192,14 @@ static int bcm2835_clk_probe(struct platform_device *pdev) +@@ -2212,6 +2241,14 @@ static int bcm2835_clk_probe(struct platform_device *pdev) if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); @@ -1930,10 +1933,10 @@ index e0d28add45efdf70d1eba590282a3a2654af328d..39f72da6ba1f6ec6ec41d5dc1bf46344 for (i = 0; !of_property_read_u32_index(pdev->dev.of_node, "claim-clocks", -From c930b7730ea7578e2018fcc0f5c07bb817750359 Mon Sep 17 00:00:00 2001 +From 4979b988f9e4966924fbe04aa1717567a762e14e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 9 Feb 2017 14:36:44 +0000 -Subject: [PATCH 031/182] sound: Demote deferral errors to INFO level +Subject: [PATCH 031/170] sound: Demote deferral errors to INFO level At present there is no mechanism to specify driver load order, which can lead to deferrals and repeated retries until successful. @@ -1946,10 +1949,10 @@ Signed-off-by: Phil Elwell 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c -index d05acc8eed1fdc1f24cba7282bc61bcb3471c084..5578e501505fe86eb67d5b066854a13d934a4602 100644 +index 921622a019448394687655034f52befb4abfd6ec..e9c52f8faa77dfe2ae0a736e9ab93f99fe3766f5 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c -@@ -1057,7 +1057,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, +@@ -1072,7 +1072,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, cpu_dai_component.dai_name = dai_link->cpu_dai_name; rtd->cpu_dai = snd_soc_find_dai(&cpu_dai_component); if (!rtd->cpu_dai) { @@ -1958,7 +1961,7 @@ index d05acc8eed1fdc1f24cba7282bc61bcb3471c084..5578e501505fe86eb67d5b066854a13d dai_link->cpu_dai_name); goto _err_defer; } -@@ -1069,7 +1069,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, +@@ -1084,7 +1084,7 @@ static int soc_bind_dai_link(struct snd_soc_card *card, for (i = 0; i < rtd->num_codecs; i++) { codec_dais[i] = snd_soc_find_dai(&codecs[i]); if (!codec_dais[i]) { @@ -1968,10 +1971,10 @@ index d05acc8eed1fdc1f24cba7282bc61bcb3471c084..5578e501505fe86eb67d5b066854a13d goto _err_defer; } -From 10a2b9fb6cf4df6e5535ac1ac549246c246d83d8 Mon Sep 17 00:00:00 2001 +From 0ff11b8a7225a67d3bebb9e6d421e2cb29236b8f Mon Sep 17 00:00:00 2001 From: Claggy3 Date: Sat, 11 Feb 2017 14:00:30 +0000 -Subject: [PATCH 032/182] Update vfpmodule.c +Subject: [PATCH 032/170] Update vfpmodule.c Christopher Alexander Tobias Schulze - May 2, 2015, 11:57 a.m. This patch fixes a problem with VFP state save and restore related @@ -2108,10 +2111,10 @@ index a71a48e71fffa8626fe90106815376c44bbe679b..d6c0a5a0a5ae3510db3ace5e3f5d3410 /* * Save the userland NEON/VFP state. Under UP, -From 26aaa96bf4172683bd89cd917b1149353ea46e8c Mon Sep 17 00:00:00 2001 +From f38c36a26946c8bd94538cab8a966b83d8849ae1 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 21:13:24 +1100 -Subject: [PATCH 033/182] ASoC: bcm2835_i2s.c: relax the ch2 register setting +Subject: [PATCH 033/170] ASoC: bcm2835_i2s.c: relax the ch2 register setting for 8 channels This patch allows ch2 registers to be set for 8 channels of audio. @@ -2132,10 +2135,10 @@ index 6ba20498202ed36906b52096893a88867a79269f..56df7d8a43d0aac055a91b0d24aca8e1 format |= BCM2835_I2S_CH1(BCM2835_I2S_CHPOS(ch1pos)); format |= BCM2835_I2S_CH2(BCM2835_I2S_CHPOS(ch2pos)); -From 775c3769de0434b75e7d7a64a7f59f338bc66cd6 Mon Sep 17 00:00:00 2001 +From f6f1f9360240d2fa0e510b035da4150f6183adf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Date: Tue, 1 Nov 2016 15:15:41 +0100 -Subject: [PATCH 034/182] i2c: bcm2835: Add debug support +Subject: [PATCH 034/170] i2c: bcm2835: Add debug support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2324,10 +2327,10 @@ index cd07a69e2e9355540442785f95e90823b05c9d10..47167f403cc8329bd811b47c7011c299 if (i2c_dev->msg_err & BCM2835_I2C_S_ERR) return -EREMOTEIO; -From 01365a6ff2c33a7dda749737a1c9409b7c9e9733 Mon Sep 17 00:00:00 2001 +From 3c62b34bb5b83d7efb6a3c51cff0fef27d834c58 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Sun, 12 May 2013 12:24:19 +0100 -Subject: [PATCH 035/182] Main bcm2708/bcm2709 linux port +Subject: [PATCH 035/170] Main bcm2708/bcm2709 linux port MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -2358,10 +2361,10 @@ Signed-off-by: Noralf Trønnes 5 files changed, 44 insertions(+), 6 deletions(-) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 307fcf9c9d92c1e9eee5111260997cbc5514b5fc..567601148318bf4a5fbc581d6c9881d9e190c409 100644 +index 3c7d01eaa341b03ced0ba9aadb705463f82ca149..17ec37811c32f09126ed42753037e055c5cec115 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -155,6 +155,7 @@ config ARCH_BCM2835 +@@ -157,6 +157,7 @@ config ARCH_BCM2835 select FIQ select PINCTRL select PINCTRL_BCM2835 @@ -2515,10 +2518,10 @@ index cfb4b4496dd9f61362dea012176c146120fada07..d9c6c217c4d6a2408abe2665bf7f2700 MODULE_AUTHOR("Lubomir Rintel "); MODULE_DESCRIPTION("BCM2835 mailbox IPC driver"); -From ffaf5284269a2ea08eb0c619f07dda20d045e115 Mon Sep 17 00:00:00 2001 +From ad003b0934f3d98788bca270e151abd5ce7ad12b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 1 May 2013 19:46:17 +0100 -Subject: [PATCH 036/182] Add dwc_otg driver +Subject: [PATCH 036/170] Add dwc_otg driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -3296,10 +3299,10 @@ index bd3e0c5a6db25e7a162d922c6508de1ad0b68025..15c80079c97bb9eeec478932af88a293 return i; } diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c -index 0881a3e8131cb12f8444da333bd0a9939ae2a896..6fc8005d9a606c4c12bc6470b046db5b8077e762 100644 +index 6e6797d145dd80136c413129641bdbbae2f1e63b..1be32b62d264b9ddae20fbba6a3461163ecf88f6 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) +@@ -5037,7 +5037,7 @@ static void port_event(struct usb_hub *hub, int port1) if (portchange & USB_PORT_STAT_C_OVERCURRENT) { u16 status = 0, unused; @@ -7238,10 +7241,10 @@ index 0000000000000000000000000000000000000000..a896d73f7a9336f5a34015c44ea5a6b0 +} +module_exit(fsg_cleanup); diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig -index ababb91d654ab2a7ee3885da9c35ae8465290013..e9a40ded5d11c4e2cc7309b303be08c0a98f2fd3 100644 +index fa5692dec8320695a59bf7f3c0fa0a9e5457a0de..64ed87af62b3d38db663cc77978b024d0f020f65 100644 --- a/drivers/usb/host/Kconfig +++ b/drivers/usb/host/Kconfig -@@ -763,6 +763,19 @@ config USB_HWA_HCD +@@ -771,6 +771,19 @@ config USB_HWA_HCD To compile this driver a module, choose M here: the module will be called "hwa-hc". @@ -7262,10 +7265,10 @@ index ababb91d654ab2a7ee3885da9c35ae8465290013..e9a40ded5d11c4e2cc7309b303be08c0 tristate "i.MX21 HCD support" depends on ARM && ARCH_MXC diff --git a/drivers/usb/host/Makefile b/drivers/usb/host/Makefile -index c77b0a38557b5bfcd6339302fc780ccdf9a14e35..f527fff7282e26c670fc6b3d9c8c273c0305d5ce 100644 +index cf2691fffcc0a5429858e39479a3c313be23d17b..e7291653b98ab382d151312431806592c6afb200 100644 --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile -@@ -73,6 +73,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o +@@ -72,6 +72,8 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o obj-$(CONFIG_USB_HWA_HCD) += hwa-hc.o @@ -63660,10 +63663,10 @@ index 0000000000000000000000000000000000000000..cdc9963176e5a4a0d5250613b61e26c5 +test_main(); +0; -From 0b5bc5756490961ea211a13f28368b1223099db0 Mon Sep 17 00:00:00 2001 +From e8f8a0ae20a39fe8f635dd0ae1347a88d5c2c432 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 17:06:34 +0100 -Subject: [PATCH 037/182] bcm2708 framebuffer driver +Subject: [PATCH 037/170] bcm2708 framebuffer driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67122,10 +67125,10 @@ index 3c14e43b82fefe1d32f591d1b2f61d2cd28d0fa8..7626beb6a5bb8df601ddf0f6e6909d1f +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0 0 0 0 0 0 0 0 0 -From 2ecd6ae9c68dc7a6b1bbf3b5221ac3f61062da9c Mon Sep 17 00:00:00 2001 +From 610b0eedec673ff7da36999a3466f9801bf92360 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 14:22:53 +0100 -Subject: [PATCH 038/182] dmaengine: Add support for BCM2708 +Subject: [PATCH 038/170] dmaengine: Add support for BCM2708 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67284,10 +67287,10 @@ bcm2708-dmaengine - Fix arm64 portability/build issues create mode 100644 include/linux/platform_data/dma-bcm2708.h diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig -index 3b3d2c56ae7a57ec41722a060c1a93b0a61c5e98..45a7ee981b7f7f8cec6eada56e3f4ff4b63cabe1 100644 +index f8883e93c4d89a3ae62a585329c8d5edb5c23058..ec67ffad5415015512958f1b76ccc181ce0cfa33 100644 --- a/drivers/dma/Kconfig +++ b/drivers/dma/Kconfig -@@ -108,7 +108,7 @@ config COH901318 +@@ -125,7 +125,7 @@ config COH901318 config DMA_BCM2835 tristate "BCM2835 DMA engine support" @@ -67296,7 +67299,7 @@ index 3b3d2c56ae7a57ec41722a060c1a93b0a61c5e98..45a7ee981b7f7f8cec6eada56e3f4ff4 select DMA_ENGINE select DMA_VIRTUAL_CHANNELS -@@ -513,6 +513,10 @@ config TIMB_DMA +@@ -529,6 +529,10 @@ config TIMB_DMA help Enable support for the Timberdale FPGA DMA engine. @@ -67308,12 +67311,12 @@ index 3b3d2c56ae7a57ec41722a060c1a93b0a61c5e98..45a7ee981b7f7f8cec6eada56e3f4ff4 tristate "CPPI 4.1 DMA support" depends on (ARCH_OMAP || ARCH_DAVINCI_DA8XX) diff --git a/drivers/dma/Makefile b/drivers/dma/Makefile -index 0b723e94d9e6d3751d1ceea4509b173cbd84b458..a114b110fc2277615ca2e3f4c58a9a20166ee58b 100644 +index d12ab2985ed121e20a6351ec4c23604c50111339..8013779881d1a9442bdc26b12af8c1740b342a99 100644 --- a/drivers/dma/Makefile +++ b/drivers/dma/Makefile -@@ -18,6 +18,7 @@ obj-$(CONFIG_AT_HDMAC) += at_hdmac.o - obj-$(CONFIG_AT_XDMAC) += at_xdmac.o +@@ -19,6 +19,7 @@ obj-$(CONFIG_AT_XDMAC) += at_xdmac.o obj-$(CONFIG_AXI_DMAC) += dma-axi-dmac.o + obj-$(CONFIG_BCM_SBA_RAID) += bcm-sba-raid.o obj-$(CONFIG_COH901318) += coh901318.o coh901318_lli.o +obj-$(CONFIG_DMA_BCM2708) += bcm2708-dmaengine.o obj-$(CONFIG_DMA_BCM2835) += bcm2835-dma.o @@ -67756,10 +67759,10 @@ index 0000000000000000000000000000000000000000..c5bfff2765be4606077e6c8af73040ec + +#endif /* _PLAT_BCM2708_DMA_H */ -From 35449131350b7b78178f9bd9d9c8abb38f7a026d Mon Sep 17 00:00:00 2001 +From b5b30eb97a8b1224a4c0ff2fcb404ae2f2f13a4d Mon Sep 17 00:00:00 2001 From: gellert Date: Fri, 15 Aug 2014 16:35:06 +0100 -Subject: [PATCH 039/182] MMC: added alternative MMC driver +Subject: [PATCH 039/170] MMC: added alternative MMC driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -67849,7 +67852,7 @@ Signed-off-by: Phil Elwell create mode 100644 drivers/mmc/host/bcm2835-mmc.c diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 2db84dd664d7616f5fc07bd12a794b822f72b1fb..ac2376b7324473f2cf888b800d79552ce489eff9 100644 +index 5755b69f2f728ffb829f257c2016a8965ce19c93..d657e99b7b5a9218cd37dd529ca08eef8c681981 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -4,6 +4,35 @@ @@ -67889,7 +67892,7 @@ index 2db84dd664d7616f5fc07bd12a794b822f72b1fb..ac2376b7324473f2cf888b800d79552c tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 926347c2eeb49709a567928e9b31971b73e219d9..00ceba92f1057a14aae1f22907fd37ea4504e521 100644 +index 4d454711631158559c99a4df7953b17f3b1330d6..b8815fc623d7bba9f1375778daa274febeb32769 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -69481,10 +69484,10 @@ index 0000000000000000000000000000000000000000..4fe8d1fe44578fbefcd48f8c327ba3d0 +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Gellert Weisz"); -From f892acb1edb4b852a97a1d84c76c28b9f94ac22f Mon Sep 17 00:00:00 2001 +From 03058e4bc12cc125bcdc8e531f3838d05e23535e Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 25 Mar 2015 17:49:47 +0000 -Subject: [PATCH 040/182] Adding bcm2835-sdhost driver, and an overlay to +Subject: [PATCH 040/170] Adding bcm2835-sdhost driver, and an overlay to enable it BCM2835 has two SD card interfaces. This driver uses the other one. @@ -69658,7 +69661,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 ac2376b7324473f2cf888b800d79552ce489eff9..6300af1eff1a52608455682fdc412c96e8438ad4 100644 +index d657e99b7b5a9218cd37dd529ca08eef8c681981..64bd7825131d3dcb003e7ece581b8d599a717b31 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -33,6 +33,16 @@ config MMC_BCM2835_PIO_DMA_BARRIER @@ -69679,7 +69682,7 @@ index ac2376b7324473f2cf888b800d79552ce489eff9..6300af1eff1a52608455682fdc412c96 tristate "ARM AMBA Multimedia Card Interface support" depends on ARM_AMBA diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index 00ceba92f1057a14aae1f22907fd37ea4504e521..f4b8951af214fd0b0392d4fb38b29a0b41c7340e 100644 +index b8815fc623d7bba9f1375778daa274febeb32769..cd3a47d8965958ccf3ac3d186a05bbd437494154 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_MMC_SDHCI_SIRF) += sdhci-sirf.o @@ -71890,10 +71893,10 @@ index 0000000000000000000000000000000000000000..9c6f199a7830959f31012d86bc1f8b1a +MODULE_LICENSE("GPL v2"); +MODULE_AUTHOR("Phil Elwell"); -From c28fc345b2a39c0015d5820651912933a0ba0153 Mon Sep 17 00:00:00 2001 +From 63d1ad0aab5c857f9dc23af7bc893ee131131605 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Fri, 28 Oct 2016 15:36:43 +0100 -Subject: [PATCH 041/182] vc_mem: Add vc_mem driver for querying firmware +Subject: [PATCH 041/170] vc_mem: Add vc_mem driver for querying firmware memory addresses MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -72418,10 +72421,10 @@ index 0000000000000000000000000000000000000000..20a475377eb3078ea1ecaef2b24efc35 + +#endif /* _VC_MEM_H */ -From 816157aab70bf7b49e04427a89fdb40ee3f81397 Mon Sep 17 00:00:00 2001 +From 3df0688aa1c43f0a5883e990f371b3efce45ade1 Mon Sep 17 00:00:00 2001 From: Tim Gover Date: Tue, 22 Jul 2014 15:41:04 +0100 -Subject: [PATCH 042/182] vcsm: VideoCore shared memory service for BCM2835 +Subject: [PATCH 042/170] vcsm: VideoCore shared memory service for BCM2835 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -72492,7 +72495,7 @@ Signed-off-by: popcornmix create mode 100644 include/linux/broadcom/vmcs_sm_ioctl.h diff --git a/drivers/char/Kconfig b/drivers/char/Kconfig -index 31adbebf812edb23bdd203192785c085155248da..ce14b380bf447bfa92825a526894ac55d02eba2b 100644 +index ccd239ab879ff326a1c7a85c2fd66fb8021d0f29..7cab65d4e530a701844bc4c3d65df2b4137b150d 100644 --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig @@ -4,6 +4,8 @@ @@ -72505,10 +72508,10 @@ index 31adbebf812edb23bdd203192785c085155248da..ce14b380bf447bfa92825a526894ac55 config DEVMEM diff --git a/drivers/char/Makefile b/drivers/char/Makefile -index 6e6c244a66a02c4efd57229b0f31d331377bbc55..67c40b8f2ff25f423cb74b64de9afa6f32479aed 100644 +index 53e33720818c0aba856ca2d8f7386618d73a8f40..8b75903fe3df617a7c3298603610e6599502f592 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -60,3 +60,4 @@ js-rtc-y = rtc.o +@@ -59,3 +59,4 @@ js-rtc-y = rtc.o obj-$(CONFIG_TILE_SROM) += tile-srom.o obj-$(CONFIG_XILLYBUS) += xillybus/ obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o @@ -76876,10 +76879,10 @@ index 0000000000000000000000000000000000000000..334f36d0d697b047df2922b5f2db67f3 + +#endif /* __VMCS_SM_IOCTL_H__INCLUDED__ */ -From 437ac4dc30bed54a99410ea2d72d233126a78202 Mon Sep 17 00:00:00 2001 +From 2f27ef201d0bee86b13642e3f022ce1f6eaab572 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Fri, 21 Aug 2015 23:14:48 +0100 -Subject: [PATCH 043/182] Add /dev/gpiomem device for rootless user GPIO access +Subject: [PATCH 043/170] Add /dev/gpiomem device for rootless user GPIO access Signed-off-by: Luke Wren @@ -77187,10 +77190,10 @@ index 0000000000000000000000000000000000000000..f5e7f1ba8fb6f18dee77fad06a17480c +MODULE_DESCRIPTION("gpiomem driver for accessing GPIO from userspace"); +MODULE_AUTHOR("Luke Wren "); -From 8ade5a64014e0b294abeece8e93fb19a20f3a2aa Mon Sep 17 00:00:00 2001 +From fa0fc296a03045df0a78c702058f445b0c5cdb41 Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:14:45 +0100 -Subject: [PATCH 044/182] Add SMI driver +Subject: [PATCH 044/170] Add SMI driver Signed-off-by: Luke Wren --- @@ -77722,7 +77725,7 @@ index 0000000000000000000000000000000000000000..d6efd92fdfe46df5cfe219d2123e0dff + "Character device driver for BCM2835's secondary memory interface"); +MODULE_AUTHOR("Luke Wren "); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 07bbd4cc18526514a2f1029b3d12b4d1b4724613..ea1570ed43b8ee3fb158948bf4e9ad6f98b6148d 100644 +index 8136dc7e863d7166a64c5ac8bddfa7f606e8c1fa..3db74632766eaacfe7a98d6cf4cf39dbee35dd7a 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -10,6 +10,14 @@ config SENSORS_LIS3LV02D @@ -77741,7 +77744,7 @@ index 07bbd4cc18526514a2f1029b3d12b4d1b4724613..ea1570ed43b8ee3fb158948bf4e9ad6f tristate "Analog Devices Digital Potentiometers" depends on (I2C || SPI) && SYSFS diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile -index 81ef3e67acc96a6dde7d5a0227760f399bb902ad..2190d89353058e7b236711d074ff26ed44fd5ff9 100644 +index b0b766416306e2e9ab4ffed550cb2a89b9f94280..fa5cba718065e656a29d7c9be0497e871a67d13f 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -9,6 +9,7 @@ obj-$(CONFIG_AD525X_DPOT_SPI) += ad525x_dpot-spi.o @@ -79141,10 +79144,10 @@ index 0000000000000000000000000000000000000000..ee3a75edfc033eeb0d90a687ffb68b10 + +#endif /* BCM2835_SMI_H */ -From b776bf76a543c0c3506ffb0ab1df17a779120901 Mon Sep 17 00:00:00 2001 +From 6c0cd74a671a4b59d5a231ba69be9052d6ca8409 Mon Sep 17 00:00:00 2001 From: Martin Sperl Date: Tue, 26 Apr 2016 14:59:21 +0000 -Subject: [PATCH 045/182] MISC: bcm2835: smi: use clock manager and fix reload +Subject: [PATCH 045/170] MISC: bcm2835: smi: use clock manager and fix reload issues Use clock manager instead of self-made clockmanager. @@ -79314,10 +79317,10 @@ index 63a4ea08b9930a3a31a985f0a1d969b488ed49ec..1261540703127d1d63b9f3c87042c6e5 return 0; } -From f225c0ebb2640c49305e7c9b1d225baec630a384 Mon Sep 17 00:00:00 2001 +From 307c6915c64fe9376b014eb37c38d5a692a3a83c Mon Sep 17 00:00:00 2001 From: Luke Wren Date: Sat, 5 Sep 2015 01:16:10 +0100 -Subject: [PATCH 046/182] Add SMI NAND driver +Subject: [PATCH 046/170] Add SMI NAND driver Signed-off-by: Luke Wren --- @@ -79379,7 +79382,7 @@ index 0000000000000000000000000000000000000000..159544d6579070d376d146bd24a86653 +}; \ No newline at end of file diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index c3029528063b8578e79746c51038d643631920b2..42c706d22ec20c3476a2de8356dec18a34f7b800 100644 +index dbfa72d61d5aa7b955e6d0728b127f69e79b3012..cb0e36dd772e8babb15f1a5f71797401f7153eb9 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -40,6 +40,13 @@ config MTD_SM_COMMON @@ -79682,10 +79685,10 @@ index 0000000000000000000000000000000000000000..02adda6da18bd0ba9ab19a104975b79d + ("Driver for NAND chips using Broadcom Secondary Memory Interface"); +MODULE_AUTHOR("Luke Wren "); -From ad848b93a52cc89078238a40e8c3f0e37d769c45 Mon Sep 17 00:00:00 2001 +From 741e42334125b02da2b7dcce6fe2e873f688d654 Mon Sep 17 00:00:00 2001 From: Aron Szabo Date: Sat, 16 Jun 2012 12:15:55 +0200 -Subject: [PATCH 047/182] lirc: added support for RaspberryPi GPIO +Subject: [PATCH 047/170] 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 @@ -79743,9 +79746,9 @@ spurious interrupts. --- drivers/staging/media/lirc/Kconfig | 6 + drivers/staging/media/lirc/Makefile | 1 + - drivers/staging/media/lirc/lirc_rpi.c | 734 ++++++++++++++++++++++++++++++++++ + drivers/staging/media/lirc/lirc_rpi.c | 733 ++++++++++++++++++++++++++++++++++ include/linux/platform_data/bcm2708.h | 23 ++ - 4 files changed, 764 insertions(+) + 4 files changed, 763 insertions(+) create mode 100644 drivers/staging/media/lirc/lirc_rpi.c create mode 100644 include/linux/platform_data/bcm2708.h @@ -79778,10 +79781,10 @@ index 665562436e30dd19d74b67fb8ef600e3815f282a..9bb9f1455759c4bd30a2ab1d7c9dc95f obj-$(CONFIG_LIRC_ZILOG) += lirc_zilog.o diff --git a/drivers/staging/media/lirc/lirc_rpi.c b/drivers/staging/media/lirc/lirc_rpi.c new file mode 100644 -index 0000000000000000000000000000000000000000..61328968d21540b04814cbd5155eaa30b715c8f4 +index 0000000000000000000000000000000000000000..84f0d94a71d9566bae718a1938ba2af7f472cf1f --- /dev/null +++ b/drivers/staging/media/lirc/lirc_rpi.c -@@ -0,0 +1,734 @@ +@@ -0,0 +1,733 @@ +/* + * lirc_rpi.c + * @@ -80350,12 +80353,8 @@ index 0000000000000000000000000000000000000000..61328968d21540b04814cbd5155eaa30 + .name = LIRC_DRIVER_NAME, + .minor = -1, + .code_length = 1, -+ .sample_rate = 0, + .data = NULL, -+ .add_to_buf = NULL, + .rbuf = &rbuf, -+ .set_use_inc = set_use_inc, -+ .set_use_dec = set_use_dec, + .fops = &lirc_fops, + .dev = NULL, + .owner = THIS_MODULE, @@ -80429,6 +80428,7 @@ index 0000000000000000000000000000000000000000..61328968d21540b04814cbd5155eaa30 + +static void lirc_rpi_exit(void) +{ ++ set_use_dec(NULL); + if (!lirc_rpi_dev->dev.of_node) + platform_device_unregister(lirc_rpi_dev); + platform_driver_unregister(&lirc_rpi_driver); @@ -80464,6 +80464,8 @@ index 0000000000000000000000000000000000000000..61328968d21540b04814cbd5155eaa30 + + printk(KERN_INFO LIRC_DRIVER_NAME ": driver registered!\n"); + ++ set_use_inc(NULL); ++ + return 0; + + exit_rpi: @@ -80546,10 +80548,10 @@ index 0000000000000000000000000000000000000000..fb69624ccef00ddbdccf8256d6baf1b1 + +#endif -From 966d0c0904402e79cec621ee30effee9eb0fe457 Mon Sep 17 00:00:00 2001 +From 9ca443ac643cb038681f342eb16c6f4947e2d06b Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 3 Jul 2013 00:49:20 +0100 -Subject: [PATCH 048/182] Add cpufreq driver +Subject: [PATCH 048/170] Add cpufreq driver Signed-off-by: popcornmix --- @@ -80816,196 +80818,10 @@ index 0000000000000000000000000000000000000000..414fbdc10dfbfc6e4bb47870a7af3fd5 +module_init(bcm2835_cpufreq_module_init); +module_exit(bcm2835_cpufreq_module_exit); -From 0e8335d9592b8bbbbc0236c8264c85312c2cd9eb Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Tue, 26 Mar 2013 19:24:24 +0000 -Subject: [PATCH 049/182] Added hwmon/thermal driver for reporting core - temperature. Thanks Dorian -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -BCM270x: Move thermal sensor to Device Tree - -Add Device Tree support to bcm2835-thermal driver. -Add thermal sensor device to Device Tree. -Don't add platform device when booting in DT mode. - -Signed-off-by: Noralf Trønnes - -thermal: Compatible strings for bcm2836, bcm2837 - -The upstream dt-bindings documentation for bcm2835-thermal (which -exists even though the driver isn't upstreamed) says to use -dedicated compatible strings on bcm2836 and bcm2837, even though -the downstream driver doesn't support them. The Pi2 DTB uses -"brcm,bcm2836-thermal", so the driver doesn't load. The Pi3 DTB -doesn't override the base value, but the arm64 Pi3 support uses "brcm,bcm2837-thermal". - -Solve the documentation problem by adding "brcm,bcm2836-thermal" and -"brcm,bcm2837-thermal" as alternative compatible strings for the -bcm2835-thermal driver. - -Signed-off-by: Phil Elwell ---- - drivers/thermal/Kconfig | 7 +++ - drivers/thermal/Makefile | 1 + - drivers/thermal/bcm2835-thermal.c | 111 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 119 insertions(+) - create mode 100644 drivers/thermal/bcm2835-thermal.c - -diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig -index b5b5facb87473e4de8c30fa29a105251965cd027..257e2d59d1b0fbb13827f7a12ab062a905ffee40 100644 ---- a/drivers/thermal/Kconfig -+++ b/drivers/thermal/Kconfig -@@ -328,6 +328,13 @@ config INTEL_POWERCLAMP - enforce idle time which results in more package C-state residency. The - user interface is exposed via generic thermal framework. - -+config THERMAL_BCM2835 -+ depends on RASPBERRYPI_FIRMWARE -+ tristate "BCM2835 Thermal Driver" -+ help -+ This will enable temperature monitoring for the Broadcom BCM2835 -+ chip. If built as a module, it will be called 'bcm2835-thermal'. -+ - config X86_PKG_TEMP_THERMAL - tristate "X86 package temperature thermal driver" - depends on X86_THERMAL_VECTOR -diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile -index 094d7039981ca3eb2371562c16393fa35e19bd10..a654feeaca0796880183b24d8374fbb04af399fc 100644 ---- a/drivers/thermal/Makefile -+++ b/drivers/thermal/Makefile -@@ -44,6 +44,7 @@ obj-$(CONFIG_MAX77620_THERMAL) += max77620_thermal.o - obj-$(CONFIG_QORIQ_THERMAL) += qoriq_thermal.o - obj-$(CONFIG_DA9062_THERMAL) += da9062-thermal.o - obj-$(CONFIG_INTEL_POWERCLAMP) += intel_powerclamp.o -+obj-$(CONFIG_THERMAL_BCM2835) += bcm2835-thermal.o - obj-$(CONFIG_X86_PKG_TEMP_THERMAL) += x86_pkg_temp_thermal.o - obj-$(CONFIG_INTEL_SOC_DTS_IOSF_CORE) += intel_soc_dts_iosf.o - 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 0000000000000000000000000000000000000000..25b78c3eac1503fbc9e679b963a6284b673b2ed3 ---- /dev/null -+++ b/drivers/thermal/bcm2835-thermal.c -@@ -0,0 +1,111 @@ -+/***************************************************************************** -+* Copyright 2011 Broadcom Corporation. All rights reserved. -+* -+* Unless you and Broadcom execute a separate written software license -+* agreement governing use of this software, this software is licensed to you -+* under the terms of the GNU General Public License version 2, available at -+* http://www.broadcom.com/licenses/GPLv2.php (the "GPL"). -+* -+* Notwithstanding the above, under no circumstances may you combine this -+* software in any way with any other Broadcom software provided under a -+* license other than the GPL, without Broadcom's express prior written -+* consent. -+*****************************************************************************/ -+ -+#include -+#include -+#include -+#include -+ -+static int bcm2835_thermal_get_property(struct thermal_zone_device *tz, -+ int *temp, u32 tag) -+{ -+ struct rpi_firmware *fw = tz->devdata; -+ struct { -+ u32 id; -+ u32 val; -+ } packet; -+ int ret; -+ -+ *temp = 0; -+ packet.id = 0; -+ ret = rpi_firmware_property(fw, tag, &packet, sizeof(packet)); -+ if (ret) { -+ dev_err(&tz->device, "Failed to get temperature\n"); -+ return ret; -+ } -+ -+ *temp = packet.val; -+ dev_dbg(&tz->device, "%stemp=%d\n", -+ tag == RPI_FIRMWARE_GET_MAX_TEMPERATURE ? "max" : "", *temp); -+ -+ return 0; -+} -+ -+static int bcm2835_thermal_get_temp(struct thermal_zone_device *tz, -+ int *temp) -+{ -+ return bcm2835_thermal_get_property(tz, temp, -+ RPI_FIRMWARE_GET_TEMPERATURE); -+} -+ -+static struct thermal_zone_device_ops ops = { -+ .get_temp = bcm2835_thermal_get_temp, -+}; -+ -+static int bcm2835_thermal_probe(struct platform_device *pdev) -+{ -+ struct device_node *fw_np; -+ struct rpi_firmware *fw; -+ struct thermal_zone_device *tz; -+ -+ fw_np = of_parse_phandle(pdev->dev.of_node, "firmware", 0); -+ if (!fw_np) { -+ dev_err(&pdev->dev, "Missing firmware node\n"); -+ return -ENOENT; -+ } -+ fw = rpi_firmware_get(fw_np); -+ if (!fw) -+ return -EPROBE_DEFER; -+ -+ tz = thermal_zone_device_register("bcm2835_thermal", 0, 0, fw, &ops, -+ NULL, 0, 0); -+ if (IS_ERR(tz)) { -+ dev_err(&pdev->dev, "Failed to register the thermal device\n"); -+ return PTR_ERR(tz); -+ } -+ -+ platform_set_drvdata(pdev, tz); -+ -+ return 0; -+} -+ -+static int bcm2835_thermal_remove(struct platform_device *pdev) -+{ -+ thermal_zone_device_unregister(platform_get_drvdata(pdev)); -+ -+ return 0; -+} -+ -+static const struct of_device_id bcm2835_thermal_of_match_table[] = { -+ { .compatible = "brcm,bcm2835-thermal", }, -+ { .compatible = "brcm,bcm2836-thermal", }, -+ { .compatible = "brcm,bcm2837-thermal", }, -+ {}, -+}; -+MODULE_DEVICE_TABLE(of, bcm2835_thermal_of_match_table); -+ -+static struct platform_driver bcm2835_thermal_driver = { -+ .probe = bcm2835_thermal_probe, -+ .remove = bcm2835_thermal_remove, -+ .driver = { -+ .name = "bcm2835_thermal", -+ .of_match_table = bcm2835_thermal_of_match_table, -+ }, -+}; -+module_platform_driver(bcm2835_thermal_driver); -+ -+MODULE_AUTHOR("Dorian Peake"); -+MODULE_AUTHOR("Noralf Trønnes"); -+MODULE_DESCRIPTION("Thermal driver for bcm2835 chip"); -+MODULE_LICENSE("GPL"); - -From 3b7605120ffa5253651d023ed0a38da30f8f0ecc Mon Sep 17 00:00:00 2001 +From 77b9fa26fc60626fc3c0f8df26ed4d32e6e9e779 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 17 Jun 2015 15:44:08 +0100 -Subject: [PATCH 050/182] Add Chris Boot's i2c driver +Subject: [PATCH 049/170] Add Chris Boot's i2c driver MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81109,7 +80925,7 @@ both bcm2708_bsc_fifo_fill and ~drain are changed as well. create mode 100644 drivers/i2c/busses/i2c-bcm2708.c diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig -index 144cbadc7c728d38661cd231f704751cce6b0227..d3f9fffd26920d517f456cfe3a6b5c4603ad3acf 100644 +index 1006b230b236f1c977d1c1a7d9bf32a268b7e263..61312405eaf7855505390b802742809470a4bbd2 100644 --- a/drivers/i2c/busses/Kconfig +++ b/drivers/i2c/busses/Kconfig @@ -8,6 +8,25 @@ menu "I2C Hardware Bus support" @@ -81139,7 +80955,7 @@ index 144cbadc7c728d38661cd231f704751cce6b0227..d3f9fffd26920d517f456cfe3a6b5c46 tristate "ALI 1535" depends on PCI diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile -index 30b60855fbcd1e353d4dbd687d480a52f4811761..c1ca31b413255ee00cc9bfa94ff1340aac6e1100 100644 +index 1b2fc815a4d838fffd96f8f40234092752477f31..68cfa5bbc26b1ea89ec0212559fadc10fa437346 100644 --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile @@ -2,6 +2,8 @@ @@ -81670,10 +81486,10 @@ index 0000000000000000000000000000000000000000..962f2e5c7455d91bf32925d785f5f16b +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); -From b96feb9d31d2ed7cdfde2357f8f81687489bf26d Mon Sep 17 00:00:00 2001 +From 62348426aa2f9efb786a88ca86d43477e1335066 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/182] char: broadcom: Add vcio module +Subject: [PATCH 050/170] char: broadcom: Add vcio module MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81898,10 +81714,10 @@ index 0000000000000000000000000000000000000000..c19bc2075c77879563ef5e59038b5a14 +MODULE_DESCRIPTION("Mailbox userspace access"); +MODULE_LICENSE("GPL"); -From 23dad2d91a71cf3ed98628a4d86ff875c29c2997 Mon Sep 17 00:00:00 2001 +From 8c5b31cbb4dbc4983a70c462c65750b5d147fb54 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/182] firmware: bcm2835: Support ARCH_BCM270x +Subject: [PATCH 051/170] firmware: bcm2835: Support ARCH_BCM270x MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -81984,10 +81800,10 @@ index dd506cd3a5b874f9e1acd07efb8cd151bb6145d1..3f070bd38a91511c986e3fb114b15bd4 MODULE_AUTHOR("Eric Anholt "); MODULE_DESCRIPTION("Raspberry Pi firmware driver"); -From 893cd86a5853a6caa53c2e266eda5de408db02eb Mon Sep 17 00:00:00 2001 +From 70bf64f6b14b6b3c88e8abf1f65072c9fbf70944 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 11 May 2015 09:00:42 +0100 -Subject: [PATCH 053/182] scripts: Add mkknlimg and knlinfo scripts from tools +Subject: [PATCH 052/170] scripts: Add mkknlimg and knlinfo scripts from tools repo The Raspberry Pi firmware looks for a trailer on the kernel image to @@ -82514,10 +82330,10 @@ index 0000000000000000000000000000000000000000..84be2593ec1de8f97b0167ff06b3e05d + return $trailer; +} -From 101ed8228d13dd8fec880bcc585bb3f4fcccc2a1 Mon Sep 17 00:00:00 2001 +From 35071938cc1a69486aa35da8ea40a323f8003347 Mon Sep 17 00:00:00 2001 From: notro Date: Wed, 9 Jul 2014 14:46:08 +0200 -Subject: [PATCH 054/182] BCM2708: Add core Device Tree support +Subject: [PATCH 053/170] BCM2708: Add core Device Tree support MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -82971,10 +82787,10 @@ Signed-off-by: Phil Elwell create mode 100644 arch/arm/boot/dts/overlays/wittypi-overlay.dts diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 65f4e2a4eb94df1351f0e8e746440b1867c4ae2c..10544a5ca5583a30992b41ae38ef52c5fcf233af 100644 +index 47d3a1ab08d2491aff178040b309180226d131e8..895f8bfd519a77c46d31b2f6fb7c0ffdcef23638 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -338,6 +338,8 @@ $(INSTALL_TARGETS): +@@ -339,6 +339,8 @@ $(INSTALL_TARGETS): %.dtb: | scripts $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ @@ -82994,7 +82810,7 @@ index 3c79f85975aaa26c7c2e353fefc54d71d89bc5bf..eaaeb17e5986e5f7178b2851169444ac -*.dtb +*.dtb* diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index 9c5e1d944d1c714f0fcd49cfd1614e7957f0bd52..a4cdecbff62d637dc26c1a56c3f47e4506a403c9 100644 +index 4b17f35dc9a7167bcce9b5c9c9b35b7375add15c..7dd76e2bce867092846ce9bf5131d1a37ca965eb 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1,5 +1,14 @@ @@ -83012,7 +82828,7 @@ index 9c5e1d944d1c714f0fcd49cfd1614e7957f0bd52..a4cdecbff62d637dc26c1a56c3f47e45 dtb-$(CONFIG_ARCH_ALPINE) += \ alpine-db.dtb dtb-$(CONFIG_MACH_ARTPEC6) += \ -@@ -1041,10 +1050,21 @@ dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb +@@ -1056,10 +1065,21 @@ dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \ aspeed-bmc-opp-romulus.dtb \ aspeed-ast2500-evb.dtb @@ -84572,10 +84388,10 @@ index 0000000000000000000000000000000000000000..3e134a1208610b90e2d0fc22f03c6e9f +}; + diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi -index 9444a9a9ba1057e6b594dc8e2595ac1e5ec593fb..8405bea39722e5fa86369cba328fe8cace432388 100644 +index 431dcfc900c024d85a88231d1df007916dafdfeb..6a119d30c5f8c2d13deacea646af8c3035e886d6 100644 --- a/arch/arm/boot/dts/bcm283x.dtsi +++ b/arch/arm/boot/dts/bcm283x.dtsi -@@ -388,6 +388,7 @@ +@@ -408,6 +408,7 @@ #address-cells = <1>; #size-cells = <0>; status = "disabled"; @@ -84583,7 +84399,7 @@ index 9444a9a9ba1057e6b594dc8e2595ac1e5ec593fb..8405bea39722e5fa86369cba328fe8ca }; i2c0: i2c@7e205000 { -@@ -443,12 +444,16 @@ +@@ -464,12 +465,16 @@ #clock-cells = <1>; reg = <0x7e215000 0x8>; clocks = <&clocks BCM2835_CLOCK_VPU>; @@ -84601,7 +84417,7 @@ index 9444a9a9ba1057e6b594dc8e2595ac1e5ec593fb..8405bea39722e5fa86369cba328fe8ca clocks = <&aux BCM2835_AUX_CLOCK_UART>; status = "disabled"; }; -@@ -456,7 +461,8 @@ +@@ -477,7 +482,8 @@ spi1: spi@7e215080 { compatible = "brcm,bcm2835-aux-spi"; reg = <0x7e215080 0x40>; @@ -84611,7 +84427,7 @@ index 9444a9a9ba1057e6b594dc8e2595ac1e5ec593fb..8405bea39722e5fa86369cba328fe8ca clocks = <&aux BCM2835_AUX_CLOCK_SPI1>; #address-cells = <1>; #size-cells = <0>; -@@ -466,7 +472,8 @@ +@@ -487,7 +493,8 @@ spi2: spi@7e2150c0 { compatible = "brcm,bcm2835-aux-spi"; reg = <0x7e2150c0 0x40>; @@ -93962,10 +93778,10 @@ index 58c05e5d9870b6c18a72da7dc44ff3112994946d..9842523b225a88505d796cc689c04f40 # Bzip2 -From adf83bfba5336794728189a1faebffe6f162965d Mon Sep 17 00:00:00 2001 +From d9e74a007df007047136f23473a68ab16bb05803 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 6 Feb 2015 13:50:57 +0000 -Subject: [PATCH 055/182] BCM270x_DT: Add pwr_led, and the required "input" +Subject: [PATCH 054/170] BCM270x_DT: Add pwr_led, and the required "input" trigger The "input" trigger makes the associated GPIO an input. This is to support @@ -94140,10 +93956,10 @@ index 64c56d454f7df9f864a5242ce4212df586f66886..3fd74c8737871cb56f0355c858fc135e /* set_brightness_work / blink_timer flags, atomic, private. */ unsigned long work_flags; -From b540a0f18904aab16da58ff0908e37eb3c1146e9 Mon Sep 17 00:00:00 2001 +From 4fa8524385bf34d9f29d54be6500fb3f6590a3a0 Mon Sep 17 00:00:00 2001 From: Siarhei Siamashka Date: Mon, 17 Jun 2013 13:32:11 +0300 -Subject: [PATCH 056/182] fbdev: add FBIOCOPYAREA ioctl +Subject: [PATCH 055/170] fbdev: add FBIOCOPYAREA ioctl Based on the patch authored by Ali Gholami Rudi at https://lkml.org/lkml/2009/7/13/153 @@ -94313,7 +94129,7 @@ index 37f60813fe1dd95d9f5f725c07ec2e75c09857bf..a048c964b11508042ffc582f452f2a4c if (ret == 0) { platform_set_drvdata(dev, fb); diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c -index 069fe7960df1cedd17c3f7119d2ab6a6989e46c1..2577fca6a93954a499d8b2f94e6a70967874ded2 100644 +index 7a42238db446b0093323505b710963ac94a53e15..6e3be5680f33a564cebec408d1e15ffddbe0f890 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1084,6 +1084,31 @@ fb_blank(struct fb_info *info, int blank) @@ -94372,7 +94188,7 @@ index 069fe7960df1cedd17c3f7119d2ab6a6989e46c1..2577fca6a93954a499d8b2f94e6a7096 default: if (!lock_fb_info(info)) return -ENODEV; -@@ -1365,6 +1400,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, +@@ -1356,6 +1391,7 @@ static long fb_compat_ioctl(struct file *file, unsigned int cmd, case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: @@ -94411,10 +94227,10 @@ index fb795c3b3c178ad3cd7c9e9e4547ffd492bac181..703fa8a70574323abe2fb32599254582 __u32 dx; /* screen-relative */ __u32 dy; -From 1580dd9978c755205391458c3cba226683ea6aae Mon Sep 17 00:00:00 2001 +From 96b5a14eaf4f8ffcf7eacaf496315ebd44455d94 Mon Sep 17 00:00:00 2001 From: Harm Hanemaaijer Date: Thu, 20 Jun 2013 20:21:39 +0200 -Subject: [PATCH 057/182] Speed up console framebuffer imageblit function +Subject: [PATCH 056/170] 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 @@ -94623,10 +94439,10 @@ index a2bb276a8b2463eee98eb237c4647bc00cd93601..436494fba15abecb400ef28688466faf start_index, pitch_index); } else -From 8ea6d6b2b606a340f466fd1afeb7580466ed1fbe Mon Sep 17 00:00:00 2001 +From 5efce01c5499d948b176f8f9c0f1c7100500e42a Mon Sep 17 00:00:00 2001 From: popcornmix Date: Wed, 8 May 2013 11:46:50 +0100 -Subject: [PATCH 058/182] enabling the realtime clock 1-wire chip DS1307 and +Subject: [PATCH 057/170] 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 @@ -94647,19 +94463,19 @@ Signed-off-by: Alex J Lennon w1-gpio: Sort out the pullup/parasitic power tangle --- drivers/w1/masters/w1-gpio.c | 69 ++++++++++++++++++++++++++++++++++++++++---- - drivers/w1/w1.h | 6 ++++ drivers/w1/w1_int.c | 14 +++++++++ drivers/w1/w1_io.c | 18 ++++++++++-- include/linux/w1-gpio.h | 1 + + include/linux/w1.h | 6 ++++ 5 files changed, 99 insertions(+), 9 deletions(-) diff --git a/drivers/w1/masters/w1-gpio.c b/drivers/w1/masters/w1-gpio.c -index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648cb0b2f000 100644 +index a90728ceec5ad8968489021f9da44e161f399998..43286a26b596fbef41bd3ddfe340cbe13960f993 100644 --- a/drivers/w1/masters/w1-gpio.c +++ b/drivers/w1/masters/w1-gpio.c -@@ -23,6 +23,19 @@ - #include "../w1.h" - #include "../w1_int.h" +@@ -22,6 +22,19 @@ + + #include +static int w1_gpio_pullup = 0; +static int w1_gpio_pullup_orig = 0; @@ -94677,7 +94493,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c static u8 w1_gpio_set_pullup(void *data, int delay) { struct w1_gpio_platform_data *pdata = data; -@@ -67,6 +80,16 @@ static u8 w1_gpio_read_bit(void *data) +@@ -66,6 +79,16 @@ static u8 w1_gpio_read_bit(void *data) return gpio_get_value(pdata->pin) ? 1 : 0; } @@ -94694,7 +94510,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c #if defined(CONFIG_OF) static const struct of_device_id w1_gpio_dt_ids[] = { { .compatible = "w1-gpio" }, -@@ -80,6 +103,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) +@@ -79,6 +102,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) struct w1_gpio_platform_data *pdata = dev_get_platdata(&pdev->dev); struct device_node *np = pdev->dev.of_node; int gpio; @@ -94702,7 +94518,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL); if (!pdata) -@@ -88,6 +112,9 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) +@@ -87,6 +111,9 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) if (of_get_property(np, "linux,open-drain", NULL)) pdata->is_open_drain = 1; @@ -94712,7 +94528,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c gpio = of_get_gpio(np, 0); if (gpio < 0) { if (gpio != -EPROBE_DEFER) -@@ -103,7 +130,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) +@@ -102,7 +129,7 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) if (gpio == -EPROBE_DEFER) return gpio; /* ignore other errors as the pullup gpio is optional */ @@ -94721,7 +94537,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c pdev->dev.platform_data = pdata; -@@ -113,13 +140,15 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) +@@ -112,13 +139,15 @@ static int w1_gpio_probe_dt(struct platform_device *pdev) static int w1_gpio_probe(struct platform_device *pdev) { struct w1_bus_master *master; @@ -94742,7 +94558,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c } pdata = dev_get_platdata(&pdev->dev); -@@ -136,6 +165,22 @@ static int w1_gpio_probe(struct platform_device *pdev) +@@ -135,6 +164,22 @@ static int w1_gpio_probe(struct platform_device *pdev) return -ENOMEM; } @@ -94765,7 +94581,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c err = devm_gpio_request(&pdev->dev, pdata->pin, "w1"); if (err) { dev_err(&pdev->dev, "gpio_request (pin) failed\n"); -@@ -165,6 +210,14 @@ static int w1_gpio_probe(struct platform_device *pdev) +@@ -164,6 +209,14 @@ static int w1_gpio_probe(struct platform_device *pdev) master->set_pullup = w1_gpio_set_pullup; } @@ -94780,7 +94596,7 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c err = w1_add_master_device(master); if (err) { dev_err(&pdev->dev, "w1_add_master device failed\n"); -@@ -195,6 +248,10 @@ static int w1_gpio_remove(struct platform_device *pdev) +@@ -194,6 +247,10 @@ static int w1_gpio_remove(struct platform_device *pdev) w1_remove_master_device(master); @@ -94791,28 +94607,11 @@ index a373ae69d9f6ef8a5925dbd5004cd5e9b8fc5c05..080e5976e2a6b75965ed753ddf29648c return 0; } -diff --git a/drivers/w1/w1.h b/drivers/w1/w1.h -index 758a7a6322e983d527c1f26e4262a5f853b877bc..a36f5becf27b8b07b22a0ab28d1edb9bb9ff4ac4 100644 ---- a/drivers/w1/w1.h -+++ b/drivers/w1/w1.h -@@ -166,6 +166,12 @@ struct w1_bus_master - - u8 (*set_pullup)(void *, int); - -+ /** -+ * Turns the pullup on/off in bitbanging mode, takes an on/off argument. -+ * @return -1=Error, 0=completed -+ */ -+ void (*bitbang_pullup) (void *, u8); -+ - void (*search)(void *, struct w1_master *, - u8, w1_slave_found_callback); - }; diff --git a/drivers/w1/w1_int.c b/drivers/w1/w1_int.c -index 1072a2e620bb16f7546c4c0d89da27b998a3fed3..09bddeca75e6a3b88ea22fb1b5db0db1e506285f 100644 +index 1c776178f598d07724b262b3a43b4f90c1513d9c..d17bc2db1c26ae3536097d4274e615574b78c9f7 100644 --- a/drivers/w1/w1_int.c +++ b/drivers/w1/w1_int.c -@@ -115,6 +115,20 @@ int w1_add_master_device(struct w1_bus_master *master) +@@ -114,6 +114,20 @@ int w1_add_master_device(struct w1_bus_master *master) return(-EINVAL); } @@ -94834,7 +94633,7 @@ index 1072a2e620bb16f7546c4c0d89da27b998a3fed3..09bddeca75e6a3b88ea22fb1b5db0db1 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 1134e6b1eb023b26ea2f978c046d7796be5f69f6..1d2344f3000e8654f3a1ecd800b7e10ff12ad054 100644 +index d191e1f8057993bb9a76ba38a540ff6a6178ce5f..81d4efd57b8e70bb5a5401ed54f1650340179041 100644 --- a/drivers/w1/w1_io.c +++ b/drivers/w1/w1_io.c @@ -126,10 +126,22 @@ static void w1_pre_write(struct w1_master *dev) @@ -94875,11 +94674,28 @@ index d58594a3232492e33f1dd4babd3798b03e0f0203..feae94256256316fd9d850c3d83325af void (*enable_external_pullup)(int enable); unsigned int ext_pullup_enable_pin; unsigned int pullup_duration; +diff --git a/include/linux/w1.h b/include/linux/w1.h +index 90cbe7e65059f6b604a87c6bf39cd9bbeae7684c..a52be51ee0a5511a75d4eaa8dacaec5e131ebdcf 100644 +--- a/include/linux/w1.h ++++ b/include/linux/w1.h +@@ -155,6 +155,12 @@ struct w1_bus_master { + + u8 (*set_pullup)(void *, int); + ++ /** ++ * Turns the pullup on/off in bitbanging mode, takes an on/off argument. ++ * @return -1=Error, 0=completed ++ */ ++ void (*bitbang_pullup) (void *, u8); ++ + void (*search)(void *, struct w1_master *, + u8, w1_slave_found_callback); + }; -From aa1a15742a7e32f50892517826a138ea4aea72f7 Mon Sep 17 00:00:00 2001 +From 5297b0d910975ddfc6ad90a3e23f5387c5356f4e Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 14 Jul 2014 22:02:09 +0100 -Subject: [PATCH 059/182] hid: Reduce default mouse polling interval to 60Hz +Subject: [PATCH 058/170] hid: Reduce default mouse polling interval to 60Hz Reduces overhead when using X --- @@ -94887,7 +94703,7 @@ Reduces overhead when using X 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c -index 83772fa7d92a6f6178cd3a4a5c0fea28350040b5..3f4a7e34b3f775e712b1b4d6afe27a2ac8838e16 100644 +index 76013eb5cb7faedbf5ec6ca62dca6181afc5919b..1c51fdee303f0b9e567a4f839b4600fb36838a15 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -48,7 +48,7 @@ @@ -94899,7 +94715,7 @@ index 83772fa7d92a6f6178cd3a4a5c0fea28350040b5..3f4a7e34b3f775e712b1b4d6afe27a2a module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644); MODULE_PARM_DESC(mousepoll, "Polling interval of mice"); -@@ -1085,7 +1085,9 @@ static int usbhid_start(struct hid_device *hid) +@@ -1084,7 +1084,9 @@ static int usbhid_start(struct hid_device *hid) /* Change the polling interval of mice and joysticks. */ switch (hid->collection->usage) { case HID_GD_MOUSE: @@ -94911,10 +94727,10 @@ index 83772fa7d92a6f6178cd3a4a5c0fea28350040b5..3f4a7e34b3f775e712b1b4d6afe27a2a break; case HID_GD_JOYSTICK: -From 425e8ca78b6337f05e4e83d036c60c526d07f503 Mon Sep 17 00:00:00 2001 +From 0eee391e716388550a9678ffc741b74d34a708e9 Mon Sep 17 00:00:00 2001 From: Gordon Hollingworth Date: Tue, 12 May 2015 14:47:56 +0100 -Subject: [PATCH 060/182] rpi-ft5406: Add touchscreen driver for pi LCD display +Subject: [PATCH 059/170] 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 @@ -94932,7 +94748,7 @@ Signed-off-by: Gerhard de Clercq create mode 100644 drivers/input/touchscreen/rpi-ft5406.c diff --git a/drivers/input/touchscreen/Kconfig b/drivers/input/touchscreen/Kconfig -index cf26ca49ae6d623d44d68e654c20082e7cf09d9e..4bb0404d48a40653f79d077c9167a1743fd730b1 100644 +index 64b30fe273fd7ba17312402c0efc9e81b77e94bb..c5237087c6024ba5520bf624251473c923fae85a 100644 --- a/drivers/input/touchscreen/Kconfig +++ b/drivers/input/touchscreen/Kconfig @@ -628,6 +628,13 @@ config TOUCHSCREEN_EDT_FT5X06 @@ -94950,7 +94766,7 @@ index cf26ca49ae6d623d44d68e654c20082e7cf09d9e..4bb0404d48a40653f79d077c9167a174 tristate "Renesas MIGO-R touchscreen" depends on (SH_MIGOR || COMPILE_TEST) && I2C diff --git a/drivers/input/touchscreen/Makefile b/drivers/input/touchscreen/Makefile -index 18e476948e44e4a44b16acb9e96887ee4a88b606..423ecb4f7728b84c68f79df4a6c4f7618bf5cee7 100644 +index 6badce87037b54bcea7c91f5ddbaebca4c93db58..9164b707800297555acce46fdd848ca9e4126526 100644 --- a/drivers/input/touchscreen/Makefile +++ b/drivers/input/touchscreen/Makefile @@ -29,6 +29,7 @@ obj-$(CONFIG_TOUCHSCREEN_DA9034) += da9034-ts.o @@ -95272,10 +95088,10 @@ index 30fb37fe175df604a738258a2a632bca3bfff33f..4a3d79d3b48eb483a4e4bf498f617515 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From cd6b610057e338b64f5dcbd36ed82aa05b9d0757 Mon Sep 17 00:00:00 2001 +From 34a978f83523d2ed6f74e8189f9b06bbc3b77110 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 28 Nov 2016 16:50:04 +0000 -Subject: [PATCH 061/182] Improve __copy_to_user and __copy_from_user +Subject: [PATCH 060/170] Improve __copy_to_user and __copy_from_user performance Provide a __copy_from_user that uses memcpy. On BCM2708, use @@ -95333,10 +95149,10 @@ index cf4f3aad0fc1c2154c6cf3839ff21bb1c46d6499..d69b70a6007dfc647ad164d1ee90d253 #define memset(p,v,n) \ diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index 2577405d082dab01004f13adee7a91398942d399..11d8f8d9512f4e111f37207597066dbf41dc5b1a 100644 +index 0bf2347495f13e4db7fdc1c560b0976ec1fbd619..6c7927ab1a47a0bd24241772ed1dcb3e37827e61 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h -@@ -454,6 +454,9 @@ do { \ +@@ -447,6 +447,9 @@ do { \ extern unsigned long __must_check arm_copy_from_user(void *to, const void __user *from, unsigned long n); @@ -96832,10 +96648,10 @@ index 9b4ed172861615fa94f628fb3eea067176ef3bae..9dc1b8517dff3e6b8e5aa090ad957fd3 static unsigned long noinline __clear_user_memset(void __user *addr, unsigned long n) diff --git a/arch/arm/mach-bcm/Kconfig b/arch/arm/mach-bcm/Kconfig -index 567601148318bf4a5fbc581d6c9881d9e190c409..45ea7866761a71470bd335f6f37ea603f550f968 100644 +index 17ec37811c32f09126ed42753037e055c5cec115..c08f81812d0d56a0d90c1eb6777d0622dadbb827 100644 --- a/arch/arm/mach-bcm/Kconfig +++ b/arch/arm/mach-bcm/Kconfig -@@ -174,6 +174,13 @@ config ARCH_BCM_53573 +@@ -176,6 +176,13 @@ config ARCH_BCM_53573 The base chip is BCM53573 and there are some packaging modifications like BCM47189 and BCM47452. @@ -96850,10 +96666,10 @@ index 567601148318bf4a5fbc581d6c9881d9e190c409..45ea7866761a71470bd335f6f37ea603 bool "Broadcom BCM63xx DSL SoC" depends on ARCH_MULTI_V7 -From 6309f490258b30746b0af7735dfffeaf9cb4084a Mon Sep 17 00:00:00 2001 +From c7023b37f3299787edf554adbba14d8dfef2a482 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 25 Jun 2015 12:16:11 +0100 -Subject: [PATCH 062/182] gpio-poweroff: Allow it to work on Raspberry Pi +Subject: [PATCH 061/170] 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 @@ -96888,10 +96704,10 @@ index be3d81ff51cc3f510d85e4eed7a52960e51e7bc1..a030ae9fb1fca325061c093696e82186 "%s: pm_power_off function already registered", __func__); -From 541969a397eeef6bc5134a6653c36b4fa080a072 Mon Sep 17 00:00:00 2001 +From da43bdb47d5a47d255852ce1fd3a075af7a24bc5 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 14 Jul 2015 14:32:47 +0100 -Subject: [PATCH 063/182] mfd: Add Raspberry Pi Sense HAT core driver +Subject: [PATCH 062/170] mfd: Add Raspberry Pi Sense HAT core driver --- drivers/input/joystick/Kconfig | 8 + @@ -97101,7 +96917,7 @@ index 0000000000000000000000000000000000000000..6a416769065d2198344792eb02d8e38d +MODULE_AUTHOR("Serge Schneider "); +MODULE_LICENSE("GPL"); diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig -index 3eb5c93595f66f0311b73faf65b9c4716044ecff..eca3a195213ec8d99328f7ee6bc1aad14fc0aab0 100644 +index 94ad2c1c3d9055df0b245e58db6dc4c9e9d9c2b2..19e45c8a6755d720b097c64bcb68c62747d54a22 100644 --- a/drivers/mfd/Kconfig +++ b/drivers/mfd/Kconfig @@ -10,6 +10,14 @@ config MFD_CORE @@ -97120,10 +96936,10 @@ index 3eb5c93595f66f0311b73faf65b9c4716044ecff..eca3a195213ec8d99328f7ee6bc1aad1 tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE diff --git a/drivers/mfd/Makefile b/drivers/mfd/Makefile -index c16bf1ea0ea9b0a4432539b228a4a48744ac0599..c1b557ca3899ab18cdcd39218d8ec2a7298730d2 100644 +index 080793b3fd0ed7dc8a903ebef3c1b05dbf5822c4..0dc5c6d0d3cf54d7b26ccedb33cb4d8f21dcf37f 100644 --- a/drivers/mfd/Makefile +++ b/drivers/mfd/Makefile -@@ -221,3 +221,4 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o +@@ -223,3 +223,4 @@ obj-$(CONFIG_MFD_SUN4I_GPADC) += sun4i-gpadc.o obj-$(CONFIG_MFD_STM32_TIMERS) += stm32-timers.o obj-$(CONFIG_MFD_MXS_LRADC) += mxs-lradc.o @@ -97756,10 +97572,10 @@ index 0000000000000000000000000000000000000000..56196dc2af10e464a1e3f98b028dca1c + +#endif -From 4218c1b43513e72e405c05bb7c71b4e9d7c7397b Mon Sep 17 00:00:00 2001 +From f6361fd75fc4fecfcfe4e1e534019dbe3abd43c6 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Fri, 22 Nov 2013 19:19:08 +0100 -Subject: [PATCH 064/182] ASoC: Add support for HifiBerry DAC +Subject: [PATCH 063/170] ASoC: Add support for HifiBerry DAC This adds a machine driver for the HifiBerry DAC. It is a sound card that can @@ -97934,10 +97750,10 @@ index 0000000000000000000000000000000000000000..ee9f133953544629282631e5ef3f73fe +MODULE_DESCRIPTION("ASoC Driver for HifiBerry DAC"); +MODULE_LICENSE("GPL v2"); -From 4f1de9c899e4c394d7da4342a970d6abe2bd16e0 Mon Sep 17 00:00:00 2001 +From b135a6961334c6f6934fcbc03f2350ce783b3841 Mon Sep 17 00:00:00 2001 From: Florian Meier Date: Mon, 25 Jan 2016 15:48:59 +0000 -Subject: [PATCH 065/182] ASoC: Add support for Rpi-DAC +Subject: [PATCH 064/170] ASoC: Add support for Rpi-DAC --- sound/soc/bcm/Kconfig | 7 +++ @@ -98103,10 +97919,10 @@ index 0000000000000000000000000000000000000000..38224467cbab7d5be3be731e73e2cf78 +MODULE_DESCRIPTION("ASoC Driver for RPi-DAC"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index 883ed4c8a5510fb9090ad1889976003960781d89..fefde2905c505d8cc1049981591234bfef94aae3 100644 +index 6c78b0b49b8145c24740d93c4174c059d91ddae9..d8b8cf059e8730432c692e8ce4e4fb9f1269550a 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -107,6 +107,7 @@ config SND_SOC_ALL_CODECS +@@ -108,6 +108,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_PCM1681 if I2C select SND_SOC_PCM179X_I2C if I2C select SND_SOC_PCM179X_SPI if SPI_MASTER @@ -98114,7 +97930,7 @@ index 883ed4c8a5510fb9090ad1889976003960781d89..fefde2905c505d8cc1049981591234bf select SND_SOC_PCM3008 select SND_SOC_PCM3168A_I2C if I2C select SND_SOC_PCM3168A_SPI if SPI_MASTER -@@ -734,6 +735,10 @@ config SND_SOC_RT5616 +@@ -739,6 +740,10 @@ config SND_SOC_RT5616 tristate "Realtek RT5616 CODEC" depends on I2C @@ -98126,10 +97942,10 @@ index 883ed4c8a5510fb9090ad1889976003960781d89..fefde2905c505d8cc1049981591234bf tristate "Realtek ALC5631/RT5631 CODEC" depends on I2C diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index 28a63fdaf982fdf6b15afcdc56fd11f89698c250..a0426bc4f2af97c8aa95fa6f1347c3d6f824a9ee 100644 +index 1755a54e3dc9379668de08326ed14b724fe4e4da..f1af18c2847a6c1bd3e0d97bcd42cc13aed24268 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile -@@ -102,6 +102,7 @@ snd-soc-pcm1681-objs := pcm1681.o +@@ -103,6 +103,7 @@ snd-soc-pcm1681-objs := pcm1681.o snd-soc-pcm179x-codec-objs := pcm179x.o snd-soc-pcm179x-i2c-objs := pcm179x-i2c.o snd-soc-pcm179x-spi-objs := pcm179x-spi.o @@ -98137,7 +97953,7 @@ index 28a63fdaf982fdf6b15afcdc56fd11f89698c250..a0426bc4f2af97c8aa95fa6f1347c3d6 snd-soc-pcm3008-objs := pcm3008.o snd-soc-pcm3168a-objs := pcm3168a.o snd-soc-pcm3168a-i2c-objs := pcm3168a-i2c.o -@@ -344,6 +345,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o +@@ -347,6 +348,7 @@ obj-$(CONFIG_SND_SOC_PCM5102A) += snd-soc-pcm5102a.o obj-$(CONFIG_SND_SOC_PCM512x) += snd-soc-pcm512x.o obj-$(CONFIG_SND_SOC_PCM512x_I2C) += snd-soc-pcm512x-i2c.o obj-$(CONFIG_SND_SOC_PCM512x_SPI) += snd-soc-pcm512x-spi.o @@ -98221,10 +98037,10 @@ index 0000000000000000000000000000000000000000..afe1b419582aa40c4b2729d242bb13cd +MODULE_AUTHOR("Florian Meier "); +MODULE_LICENSE("GPL v2"); -From c6abce8490f1281d971758305264e407d8edb89f Mon Sep 17 00:00:00 2001 +From 6cfdc9051c1e902550b0236763699066151764de Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:41:23 +0100 -Subject: [PATCH 066/182] ASoC: wm8804: Implement MCLK configuration options, +Subject: [PATCH 065/170] 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 @@ -98273,10 +98089,10 @@ index af95d648265b3e92e345101542b332aee35191d4..513f56ba132929662802d15cdc653af3 .component_driver = { .dapm_widgets = wm8804_dapm_widgets, -From 159800a71e96dd578c507475e3cf23bf6d211cf0 Mon Sep 17 00:00:00 2001 +From 729d3e989b84bb36ea0e725a57d8dd81c1bb3ffc Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Wed, 15 Jan 2014 21:42:08 +0100 -Subject: [PATCH 067/182] ASoC: BCM:Add support for HiFiBerry Digi. Driver is +Subject: [PATCH 066/170] ASoC: BCM:Add support for HiFiBerry Digi. Driver is based on the patched WM8804 driver. Signed-off-by: Daniel Matuschek @@ -98620,10 +98436,10 @@ index 0000000000000000000000000000000000000000..7620dd02de40b6d644ff038b445d375d +MODULE_DESCRIPTION("ASoC Driver for HifiBerry Digi"); +MODULE_LICENSE("GPL v2"); -From 816de5611317d603d75b8814322be9940043e6a8 Mon Sep 17 00:00:00 2001 +From 7983292ea80b4949c8b5c03794740698e9f0fef5 Mon Sep 17 00:00:00 2001 From: Gordon Garrity Date: Sat, 8 Mar 2014 16:56:57 +0000 -Subject: [PATCH 068/182] Add IQaudIO Sound Card support for Raspberry Pi +Subject: [PATCH 067/170] Add IQaudIO Sound Card support for Raspberry Pi Set a limit of 0dB on Digital Volume Control @@ -98958,10 +98774,10 @@ index 0000000000000000000000000000000000000000..1ee4097c846376666775272ed692ca33 +MODULE_DESCRIPTION("ASoC Driver for IQAudio DAC"); +MODULE_LICENSE("GPL v2"); -From 16e2898cac88f6447cc0b1062b9905f84daa03e9 Mon Sep 17 00:00:00 2001 +From e374688b908edc8f55aba414221a47ac6e6057ff Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 10:06:56 +0200 -Subject: [PATCH 069/182] Added support for HiFiBerry DAC+ +Subject: [PATCH 068/170] 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. @@ -98998,12 +98814,12 @@ Signed-off-by: DigitalDreamtime create mode 100644 sound/soc/bcm/hifiberry_dacplus.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index c19983afcb81c9d1ec8e5059a1a29d70e97a4ca1..c81646bd1e91fc6f844c2139666d1811eb3313b3 100644 +index cd376b3fb47adc2bd87c64dddb7ec775e51f8e21..9f85909bcf0a17b9b575833ccf011cb0878b4147 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile -@@ -26,6 +26,7 @@ obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o - obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o +@@ -27,6 +27,7 @@ obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o + obj-$(CONFIG_COMMON_CLK_GEMINI) += clk-gemini.o obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o +obj-$(CONFIG_SND_BCM2708_SOC_HIFIBERRY_DACPLUS) += clk-hifiberry-dacpro.o obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o @@ -99591,10 +99407,10 @@ index 72b19e62f6267698aea45d2410d616d91c1825cb..c6839ef6e16754ed9de2698507b8986a dev_err(dev, "No LRCLK?\n"); return -EINVAL; -From 6d9c2850cd7cc7c969a90c95c057f78b113b41ea Mon Sep 17 00:00:00 2001 +From b442d6fe9599c2e100be0d6e9c5aee017c31d191 Mon Sep 17 00:00:00 2001 From: Daniel Matuschek Date: Mon, 4 Aug 2014 11:09:58 +0200 -Subject: [PATCH 070/182] Added driver for HiFiBerry Amp amplifier add-on board +Subject: [PATCH 069/170] 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. @@ -99794,10 +99610,10 @@ index 0000000000000000000000000000000000000000..221c6c38e6465ffe5d5ad77fa80a0b14 +MODULE_DESCRIPTION("ASoC driver for HiFiBerry-AMP"); +MODULE_LICENSE("GPL v2"); diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index fefde2905c505d8cc1049981591234bfef94aae3..adf3b7b75e303430d6a03a2b457d389596f39c1a 100644 +index d8b8cf059e8730432c692e8ce4e4fb9f1269550a..aca3a53f08dba8762307f7c25a5d7c5561b9cf71 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -149,6 +149,7 @@ config SND_SOC_ALL_CODECS +@@ -150,6 +150,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_TFA9879 if I2C select SND_SOC_TLV320AIC23_I2C if I2C select SND_SOC_TLV320AIC23_SPI if SPI_MASTER @@ -99805,7 +99621,7 @@ index fefde2905c505d8cc1049981591234bfef94aae3..adf3b7b75e303430d6a03a2b457d3895 select SND_SOC_TLV320AIC26 if SPI_MASTER select SND_SOC_TLV320AIC31XX if I2C select SND_SOC_TLV320AIC32X4_I2C if I2C -@@ -869,6 +870,9 @@ config SND_SOC_TFA9879 +@@ -874,6 +875,9 @@ config SND_SOC_TFA9879 tristate "NXP Semiconductors TFA9879 amplifier" depends on I2C @@ -99816,10 +99632,10 @@ index fefde2905c505d8cc1049981591234bfef94aae3..adf3b7b75e303430d6a03a2b457d3895 tristate diff --git a/sound/soc/codecs/Makefile b/sound/soc/codecs/Makefile -index a0426bc4f2af97c8aa95fa6f1347c3d6f824a9ee..0821306d3f57ad34d48aadefbf77347b5924f046 100644 +index f1af18c2847a6c1bd3e0d97bcd42cc13aed24268..fc50753457b791eec4f369fd1d021330cd1857ee 100644 --- a/sound/soc/codecs/Makefile +++ b/sound/soc/codecs/Makefile -@@ -154,6 +154,7 @@ snd-soc-tas5086-objs := tas5086.o +@@ -155,6 +155,7 @@ snd-soc-tas5086-objs := tas5086.o snd-soc-tas571x-objs := tas571x.o snd-soc-tas5720-objs := tas5720.o snd-soc-tfa9879-objs := tfa9879.o @@ -99827,7 +99643,7 @@ index a0426bc4f2af97c8aa95fa6f1347c3d6f824a9ee..0821306d3f57ad34d48aadefbf77347b snd-soc-tlv320aic23-objs := tlv320aic23.o snd-soc-tlv320aic23-i2c-objs := tlv320aic23-i2c.o snd-soc-tlv320aic23-spi-objs := tlv320aic23-spi.o -@@ -386,6 +387,7 @@ obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o +@@ -389,6 +390,7 @@ obj-$(CONFIG_SND_SOC_TAS5086) += snd-soc-tas5086.o obj-$(CONFIG_SND_SOC_TAS571X) += snd-soc-tas571x.o obj-$(CONFIG_SND_SOC_TAS5720) += snd-soc-tas5720.o obj-$(CONFIG_SND_SOC_TFA9879) += snd-soc-tfa9879.o @@ -100429,10 +100245,10 @@ index 0000000000000000000000000000000000000000..8f019e04898754d2f87e9630137be9e8 + +#endif /* _TAS5713_H */ -From 44b5788f078cb269b426ae793d25feac84860050 Mon Sep 17 00:00:00 2001 +From 72cf57456f452359279fd9cd46d6ec692a26fb6a Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 25 Mar 2015 09:26:17 +0100 -Subject: [PATCH 071/182] Add driver for rpi-proto +Subject: [PATCH 070/170] 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 @@ -100647,10 +100463,10 @@ index 0000000000000000000000000000000000000000..fadbfade100228aaafabb0d3bdf35c01 +MODULE_DESCRIPTION("ASoC Driver for Raspberry Pi connected to PROTO board (WM8731)"); +MODULE_LICENSE("GPL"); -From 5ae7684d43a43812cc32ea4aabb725c3fad8003b Mon Sep 17 00:00:00 2001 +From 9ea3c220b4816d70195f61e3f75096da3fc5f4d6 Mon Sep 17 00:00:00 2001 From: Jan Grulich Date: Mon, 24 Aug 2015 16:03:47 +0100 -Subject: [PATCH 072/182] RaspiDAC3 support +Subject: [PATCH 071/170] RaspiDAC3 support Signed-off-by: Jan Grulich @@ -100893,10 +100709,10 @@ index 0000000000000000000000000000000000000000..ad2b5b89bc8213dc2e277306ef50d6e3 +MODULE_DESCRIPTION("ASoC Driver for RaspiDAC Rev.3x"); +MODULE_LICENSE("GPL v2"); -From be939d448017fd78a8a265b6f9cd55ad5a623338 Mon Sep 17 00:00:00 2001 +From 237d2a4f2ce837acae3fd12e7fdb60e5eb3c4b09 Mon Sep 17 00:00:00 2001 From: Aaron Shaw Date: Thu, 7 Apr 2016 21:26:21 +0100 -Subject: [PATCH 073/182] Add Support for JustBoom Audio boards +Subject: [PATCH 072/170] Add Support for JustBoom Audio boards justboom-dac: Adjust for ALSA API change @@ -101352,10 +101168,10 @@ index 0000000000000000000000000000000000000000..909cf8928f2f4313982316f9c5b8a709 +MODULE_DESCRIPTION("ASoC Driver for JustBoom PI Digi HAT Sound Card"); +MODULE_LICENSE("GPL v2"); -From c960a4cb6eb039e15253e415bb261200e6500409 Mon Sep 17 00:00:00 2001 +From 7352a8623e17c67aff449a3bcc3eb0785c1bbdcb Mon Sep 17 00:00:00 2001 From: Andrey Grodzovsky Date: Tue, 3 May 2016 22:10:59 -0400 -Subject: [PATCH 074/182] ARM: adau1977-adc: Add basic machine driver for +Subject: [PATCH 073/170] ARM: adau1977-adc: Add basic machine driver for adau1977 codec driver. This commit adds basic support for the codec usage including: Device tree overlay, @@ -101537,10 +101353,10 @@ index 0000000000000000000000000000000000000000..f3d7e5db7bb912e1d7ca6f8e8d42df5f +MODULE_DESCRIPTION("ASoC Driver for ADAU1977 ADC"); +MODULE_LICENSE("GPL v2"); -From a90648803cb0b5e3a1c01e948ccc8477e34dd24d Mon Sep 17 00:00:00 2001 +From 3831f8c1a6454dbdd6bd772d7714420c77d5cc44 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Mon, 16 May 2016 21:36:31 +1000 -Subject: [PATCH 075/182] New AudioInjector.net Pi soundcard with low jitter +Subject: [PATCH 074/170] 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. @@ -101791,10 +101607,10 @@ index 0000000000000000000000000000000000000000..ef54e0f07ea03f59e9957b5d98f3e7fd +MODULE_ALIAS("platform:audioinjector-pi-soundcard"); + -From c7c5dedbcc5519a04b912597b0e3075147797643 Mon Sep 17 00:00:00 2001 +From 0806f1c16e61f0251a5699114c6f5b9a65388dc5 Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Thu, 30 Jun 2016 18:38:42 +0100 -Subject: [PATCH 076/182] Add IQAudIO Digi WM8804 board support +Subject: [PATCH 075/170] Add IQAudIO Digi WM8804 board support Support IQAudIO Digi board with iqaudio_digi machine driver and iqaudio-digi-wm8804-audio overlay. @@ -102094,10 +101910,10 @@ index 0000000000000000000000000000000000000000..33aa2be8a43a12a12cfb5d844dd9732c +MODULE_DESCRIPTION("ASoC Driver for IQAudIO WM8804 Digi"); +MODULE_LICENSE("GPL v2"); -From 9337de555017fc37c14f621a139e74d772849f88 Mon Sep 17 00:00:00 2001 +From 9ec0d7c98e36edac76e68b24b30279fede7c6f84 Mon Sep 17 00:00:00 2001 From: escalator2015 Date: Tue, 24 May 2016 16:20:09 +0100 -Subject: [PATCH 077/182] New driver for RRA DigiDAC1 soundcard using WM8741 + +Subject: [PATCH 076/170] New driver for RRA DigiDAC1 soundcard using WM8741 + WM8804 --- @@ -102570,10 +102386,10 @@ index 0000000000000000000000000000000000000000..f200688bb4ae32b90a0ced555aed94b0 +MODULE_DESCRIPTION("ASoC Driver for RRA DigiDAC1"); +MODULE_LICENSE("GPL v2"); -From 1f557e3d561ca953a783836ec08af4fb6d825f3e Mon Sep 17 00:00:00 2001 +From b9393fa49995b3b9d07997c908ad35939f6677ed Mon Sep 17 00:00:00 2001 From: DigitalDreamtime Date: Sat, 2 Jul 2016 16:26:19 +0100 -Subject: [PATCH 078/182] Add support for Dion Audio LOCO DAC-AMP HAT +Subject: [PATCH 077/170] Add support for Dion Audio LOCO DAC-AMP HAT Using dedicated machine driver and pcm5102a codec driver. @@ -102746,10 +102562,10 @@ index 0000000000000000000000000000000000000000..65e03741d349a2dc5bd91f69855ea952 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO"); +MODULE_LICENSE("GPL v2"); -From a1f614820d8980eb90f9f2c86a099c311d7331b2 Mon Sep 17 00:00:00 2001 +From ef2b85f81cdb33b36a517ad232ca19ccbf8ecb02 Mon Sep 17 00:00:00 2001 From: Clive Messer Date: Mon, 19 Sep 2016 14:01:04 +0100 -Subject: [PATCH 079/182] Allo Piano DAC boards: Initial 2 channel (stereo) +Subject: [PATCH 078/170] Allo Piano DAC boards: Initial 2 channel (stereo) support (#1645) Add initial 2 channel (stereo) support for Allo Piano DAC (2.0/2.1) boards, @@ -102956,10 +102772,10 @@ index 0000000000000000000000000000000000000000..eaf50fb6dbca1970ae1c6f8662088b0f +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC"); +MODULE_LICENSE("GPL v2"); -From cd4e9755c76be301b6cff05a1d060670f26f5338 Mon Sep 17 00:00:00 2001 +From 33591264cdd0c09b7b53e4539167ea97cada3be2 Mon Sep 17 00:00:00 2001 From: Raashid Muhammed Date: Mon, 27 Mar 2017 12:35:00 +0530 -Subject: [PATCH 080/182] Add support for Allo Piano DAC 2.1 plus add-on board +Subject: [PATCH 079/170] Add support for Allo Piano DAC 2.1 plus add-on board for Raspberry Pi. The Piano DAC 2.1 has support for 4 channels with subwoofer. @@ -103704,10 +103520,10 @@ index 0000000000000000000000000000000000000000..56e43f98846b41e487b3089813f7edc3 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Piano DAC Plus"); +MODULE_LICENSE("GPL v2"); -From dd4fb655193b79eedd7693d2db6b05f185dee152 Mon Sep 17 00:00:00 2001 +From 28ee81a88329c3a53541e814202453830d713821 Mon Sep 17 00:00:00 2001 From: BabuSubashChandar Date: Tue, 28 Mar 2017 20:04:42 +0530 -Subject: [PATCH 081/182] Add support for Allo Boss DAC add-on board for +Subject: [PATCH 080/170] Add support for Allo Boss DAC add-on board for Raspberry Pi. (#1924) Signed-off-by: Baswaraj K @@ -103730,7 +103546,7 @@ Reviewed-by: BabuSubashChandar create mode 100644 sound/soc/bcm/allo-boss-dac.c diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile -index c81646bd1e91fc6f844c2139666d1811eb3313b3..531ae351872dfb0c748e2d067da0503bf21a6d43 100644 +index 9f85909bcf0a17b9b575833ccf011cb0878b4147..1df694cf247220c7af1a770aec10811a8fb51fed 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -17,6 +17,7 @@ endif @@ -104410,10 +104226,10 @@ index 0000000000000000000000000000000000000000..203ab76c7045b081578e23bda1099dd1 +MODULE_DESCRIPTION("ALSA ASoC Machine Driver for Allo Boss DAC"); +MODULE_LICENSE("GPL v2"); -From 9a0afd959fc4efc1b557101ebd850bfe1bebe580 Mon Sep 17 00:00:00 2001 +From 02a676f12bedd7ca177bbeabc9668291e98c37c0 Mon Sep 17 00:00:00 2001 From: gtrainavicius Date: Sun, 23 Oct 2016 12:06:53 +0300 -Subject: [PATCH 082/182] Support for Blokas Labs pisound board +Subject: [PATCH 081/170] Support for Blokas Labs pisound board Pisound dynamic overlay (#1760) @@ -104440,13 +104256,13 @@ Signed-off-by: Giedrius Trainavicius create mode 100644 sound/soc/bcm/pisound.c diff --git a/Documentation/devicetree/bindings/vendor-prefixes.txt b/Documentation/devicetree/bindings/vendor-prefixes.txt -index c03d201403661926164f1f9ba45ecd381a77b544..e17541b32ddb3b4a8e8a9d9479ecf5616bea8ce4 100644 +index daf465bef75898c1b1960d456c82b666c4f9dca6..538fce10a103a7c3abae1ffbb9b431730eb935d6 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.txt +++ b/Documentation/devicetree/bindings/vendor-prefixes.txt -@@ -44,6 +44,7 @@ avia avia semiconductor - avic Shanghai AVIC Optoelectronics Co., Ltd. +@@ -47,6 +47,7 @@ avic Shanghai AVIC Optoelectronics Co., Ltd. axentia Axentia Technologies AB axis Axis Communications AB + bananapi BIPAI KEJI LIMITED +blokaslabs Vilniaus Blokas UAB boe BOE Technology Group Co., Ltd. bosch Bosch Sensortec GmbH @@ -105612,10 +105428,10 @@ index 0000000000000000000000000000000000000000..06ff1e53dc9d860946965b6303577762 +MODULE_DESCRIPTION("ASoC Driver for pisound, http://blokas.io/pisound"); +MODULE_LICENSE("GPL v2"); -From 8f0d84774601fefdbf7be3288e9708d9c6b3729d Mon Sep 17 00:00:00 2001 +From a6245805cd97d3ee1c255f7f15dba9e609d67ede Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 22 Jan 2017 12:49:37 +0100 -Subject: [PATCH 083/182] ASoC: Add driver for Cirrus Logic Audio Card +Subject: [PATCH 082/170] ASoC: Add driver for Cirrus Logic Audio Card Note: due to problems with deferred probing of regulators the following softdep should be added to a modprobe.d file @@ -106680,10 +106496,10 @@ index 0000000000000000000000000000000000000000..ac8651ddff7bd3701dffe22c7fb88352 +MODULE_DESCRIPTION("ASoC driver for Cirrus Logic Audio Card"); +MODULE_LICENSE("GPL"); -From 9909ce1d26ddbc5b4b6fda51b0181d47a026d6ca Mon Sep 17 00:00:00 2001 +From 879ab328bdd34351b0dd4d5f2183581ce8c4f0a5 Mon Sep 17 00:00:00 2001 From: Miquel Date: Fri, 24 Feb 2017 20:51:06 +0100 -Subject: [PATCH 084/182] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT +Subject: [PATCH 083/170] sound: Support for Dion Audio LOCO-V2 DAC-AMP HAT Signed-off-by: Miquel Blauw --- @@ -106878,10 +106694,10 @@ index 0000000000000000000000000000000000000000..a009c49477972a9832175d86f201b035 +MODULE_DESCRIPTION("ASoC Driver for DionAudio LOCO-V2"); +MODULE_LICENSE("GPL v2"); -From a0b8d996de0829fa945c47c5955f208d84f96ba9 Mon Sep 17 00:00:00 2001 +From c19a8ec4b58a2debaa317c18fecb196a74467f34 Mon Sep 17 00:00:00 2001 From: Fe-Pi Date: Wed, 1 Mar 2017 04:42:43 -0700 -Subject: [PATCH 085/182] Add support for Fe-Pi audio sound card. (#1867) +Subject: [PATCH 084/170] Add support for Fe-Pi audio sound card. (#1867) Fe-Pi Audio Sound Card is based on NXP SGTL5000 codec. Mechanical specification of the board is the same the Raspberry Pi Zero. @@ -107095,10 +106911,10 @@ index 0000000000000000000000000000000000000000..015b56fd73cc36be5b5eecd17548fd03 +MODULE_DESCRIPTION("ASoC Driver for Fe-Pi Audio"); +MODULE_LICENSE("GPL v2"); -From 35eba045e1c2009b5f0f25f4ceef53f26bc6c966 Mon Sep 17 00:00:00 2001 +From 0dc5c0e45c33b2022115459edc34fc5225369046 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Wed, 8 Mar 2017 20:04:13 +1100 -Subject: [PATCH 086/182] Add support for the AudioInjector.net Octo sound card +Subject: [PATCH 085/170] Add support for the AudioInjector.net Octo sound card AudioInjector Octo: sample rates, regulators, reset @@ -107500,10 +107316,10 @@ index 0000000000000000000000000000000000000000..dcf403ab37639ba79e38278d7e4b1ade +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:audioinjector-octo-soundcard"); -From cef0c090fb585e98fefc78e20ec355c3c890b15d Mon Sep 17 00:00:00 2001 +From 7980bad648be79ade111c7545524f9c170ad1a42 Mon Sep 17 00:00:00 2001 From: Peter Malkin Date: Mon, 27 Mar 2017 16:38:21 -0700 -Subject: [PATCH 087/182] Driver support for Google voiceHAT soundcard. +Subject: [PATCH 086/170] Driver support for Google voiceHAT soundcard. --- sound/soc/bcm/Kconfig | 7 ++ @@ -107894,10 +107710,10 @@ index 0000000000000000000000000000000000000000..225854b8e5298b3c3018f59a49404354 +MODULE_DESCRIPTION("ASoC Driver for Google voiceHAT SoundCard"); +MODULE_LICENSE("GPL v2"); -From fda0494d55c54860e8945f6c97f0d0d86dcbd1d8 Mon Sep 17 00:00:00 2001 +From 0b0432bae8c60c6884bf4d1c7395c21147ad6a5c Mon Sep 17 00:00:00 2001 From: P33M Date: Wed, 21 Oct 2015 14:55:21 +0100 -Subject: [PATCH 088/182] rpi_display: add backlight driver and overlay +Subject: [PATCH 087/170] 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 @@ -108066,10 +107882,10 @@ index 0000000000000000000000000000000000000000..14a0d9b037395497c1fdae2961feccd5 +MODULE_DESCRIPTION("Raspberry Pi mailbox based Backlight Driver"); +MODULE_LICENSE("GPL"); -From 2a3f570360be1b04b5dfe12b1b29d91655156637 Mon Sep 17 00:00:00 2001 +From 97e34cf37934678f814a2cf3e5145f7a7a4e956d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 23 Feb 2016 19:56:04 +0000 -Subject: [PATCH 089/182] bcm2835-virtgpio: Virtual GPIO driver +Subject: [PATCH 088/170] bcm2835-virtgpio: Virtual GPIO driver Add a virtual GPIO driver that uses the firmware mailbox interface to request that the VPU toggles LEDs. @@ -108082,7 +107898,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 23ca51ee6b28e416bc7472ca5525a71652bbde92..da39a1767741adebecede7407520e403835bc8d0 100644 +index f235eae04c16ed1096689329c0462df74e05a36d..e86c7846a88e7f1e0f4da93570a652b318691a94 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -134,6 +134,12 @@ config GPIO_BCM_KONA @@ -108099,7 +107915,7 @@ index 23ca51ee6b28e416bc7472ca5525a71652bbde92..da39a1767741adebecede7407520e403 tristate "BRCMSTB GPIO support" default y if (ARCH_BRCMSTB || BMIPS_GENERIC) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index 68b96277d9fa463bc641b0211eb4d719d75ac481..a211175566384fed8a6344da825b17d1f5513913 100644 +index a9fda6c55113c7b472863de7f412f69d72de602d..78ad9e06466ed7ed57622444e19e729a2ca8d669 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -34,6 +34,7 @@ obj-$(CONFIG_GPIO_ASPEED) += gpio-aspeed.o @@ -108343,10 +108159,10 @@ index 4a3d79d3b48eb483a4e4bf498f617515e3ad158f..5f34e1257117fb48013c9926a8a223d6 RPI_FIRMWARE_FRAMEBUFFER_SET_BACKLIGHT = 0x0004800f, -From 35a5ab0d580a4c9f3fd6b57709d04532ed21591e Mon Sep 17 00:00:00 2001 +From 97f2ad8f60b9a9a2e385e5f7cb6d86c2e4f7b12a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Mon, 20 Feb 2017 17:01:21 +0000 -Subject: [PATCH 090/182] bcm2835-gpio-exp: Driver for GPIO expander via +Subject: [PATCH 089/170] bcm2835-gpio-exp: Driver for GPIO expander via mailbox service Pi3 and Compute Module 3 have a GPIO expander that the @@ -108366,7 +108182,7 @@ Signed-off-by: Dave Stevenson create mode 100644 drivers/gpio/gpio-bcm-exp.c diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig -index da39a1767741adebecede7407520e403835bc8d0..54e2ace125e6a3609af65f9c15541adfd3dd0008 100644 +index e86c7846a88e7f1e0f4da93570a652b318691a94..787b62f3ce29522c929018316d861d75d723c91b 100644 --- a/drivers/gpio/Kconfig +++ b/drivers/gpio/Kconfig @@ -128,6 +128,13 @@ config GPIO_AXP209 @@ -108384,7 +108200,7 @@ index da39a1767741adebecede7407520e403835bc8d0..54e2ace125e6a3609af65f9c15541adf bool "Broadcom Kona GPIO" depends on OF_GPIO && (ARCH_BCM_MOBILE || COMPILE_TEST) diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile -index a211175566384fed8a6344da825b17d1f5513913..f21c8c1d801ba365e4349a852fc711ed3dd6fd0a 100644 +index 78ad9e06466ed7ed57622444e19e729a2ca8d669..dd55b7879c844305ef39375ae551c30c272cf96e 100644 --- a/drivers/gpio/Makefile +++ b/drivers/gpio/Makefile @@ -32,6 +32,7 @@ obj-$(CONFIG_GPIO_ARIZONA) += gpio-arizona.o @@ -108672,10 +108488,10 @@ index 5f34e1257117fb48013c9926a8a223d64a598ab7..c819c21b0158a59c1308882e5a40e3f3 /* Dispmanx TAGS */ RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001, -From 704ad316489ab8641794a5c73d6d00596f7e4ea1 Mon Sep 17 00:00:00 2001 +From 3a4fba24002bca38562edb8957d5060053f57a77 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 23 Feb 2016 17:26:48 +0000 -Subject: [PATCH 091/182] amba_pl011: Don't use DT aliases for numbering +Subject: [PATCH 090/170] 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 @@ -108704,10 +108520,10 @@ index 8a857bb34fbb26c6d60784d3fe7576730a9aa5b3..0afd6f3ee7e8d021d6e324915af4dc7c uap->old_cr = 0; uap->port.dev = dev; -From 1f402a4b7d58cbdfdb457e7b76120a256a8406ec Mon Sep 17 00:00:00 2001 +From 80fccd3ffdc918eebd04560265527bb0e0da84a0 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 1 Mar 2017 16:07:39 +0000 -Subject: [PATCH 092/182] amba_pl011: Round input clock up +Subject: [PATCH 091/170] amba_pl011: Round input clock up The UART clock is initialised to be as close to the requested frequency as possible without exceeding it. Now that there is a @@ -108793,10 +108609,10 @@ index 0afd6f3ee7e8d021d6e324915af4dc7c7db56083..be4aa91bac66982b1fd9a13e9f971b3b /* unregisters the driver also if no more ports are left */ static void pl011_unregister_port(struct uart_amba_port *uap) -From d88f73aa20921b38f619ec71e85b8d564307fd66 Mon Sep 17 00:00:00 2001 +From baf1237cd667e32f3f537f784fc16ac9667e40d0 Mon Sep 17 00:00:00 2001 From: Pantelis Antoniou Date: Wed, 3 Dec 2014 13:23:28 +0200 -Subject: [PATCH 093/182] OF: DT-Overlay configfs interface +Subject: [PATCH 092/170] 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. @@ -108901,11 +108717,11 @@ index ba7b034b2b91c94afb1b7135cdee7fc3d6955828..de0da10d66e6cdc6eedc4d36cf247370 + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile -index d7efd9d458aab4554139e93c72a1688aa0eeef6a..aa5ef9dd1fedc14d4ae2d363818fc160df51bad9 100644 +index 97dc01c814383d632766d49594391c0b1200b61c..112e7ab3cae2f3bddf485b0d9b7cd5a7e26d0e39 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,4 +1,5 @@ - obj-y = base.o device.o platform.o + obj-y = base.o device.o platform.o property.o +obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o @@ -109228,10 +109044,10 @@ index 0000000000000000000000000000000000000000..0037e6868a6cda8706c88194c6a4454b +} +late_initcall(of_cfs_init); -From 898a2611afcbdbd1d83323eb129e800b56facf7a Mon Sep 17 00:00:00 2001 +From 9401dbd4d0199124ff33fc858ddf543d9942572f Mon Sep 17 00:00:00 2001 From: Cheong2K Date: Fri, 26 Feb 2016 18:20:10 +0800 -Subject: [PATCH 094/182] brcm: adds support for BCM43341 wifi +Subject: [PATCH 093/170] brcm: adds support for BCM43341 wifi brcmfmac: Disable power management @@ -109271,16 +109087,16 @@ Patch from Broadcom/Cypress to resolve a customer error Signed-off-by: Phil Elwell --- - .../broadcom/brcm80211/brcmfmac/cfg80211.c | 31 ++++++++++++++++------ + .../broadcom/brcm80211/brcmfmac/cfg80211.c | 22 +++++++++++++++++----- .../wireless/broadcom/brcm80211/brcmfmac/common.c | 2 +- .../wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 ++- - 3 files changed, 26 insertions(+), 10 deletions(-) + 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -index 210f2dc58b74a08f3893c06a1a05d364e4045c99..bc78593a611b6704aa88cc280cdaccd0873fc102 100644 +index 7e689c86d56576cf96ca755b16107216470fccdf..508cab2d0817914d454958f92167d350c74d9a5d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2745,6 +2745,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, +@@ -2821,6 +2821,8 @@ brcmf_cfg80211_set_power_mgmt(struct wiphy *wiphy, struct net_device *ndev, * preference in cfg struct to apply this to * FW later while initializing the dongle */ @@ -109289,26 +109105,7 @@ index 210f2dc58b74a08f3893c06a1a05d364e4045c99..bc78593a611b6704aa88cc280cdaccd0 cfg->pwr_save = enabled; if (!check_vif_up(ifp->vif)) { -@@ -4671,12 +4673,15 @@ static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev) - err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_DOWN, 1); - if (err < 0) - brcmf_err("BRCMF_C_DOWN error %d\n", err); -- err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0); -- if (err < 0) -- brcmf_err("setting AP mode failed %d\n", err); -+ - err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_INFRA, 0); - if (err < 0) - brcmf_err("setting INFRA mode failed %d\n", err); -+ -+ err = brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_AP, 0); -+ if (err < 0) -+ brcmf_err("setting AP mode failed %d\n", err); -+ - if (brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MBSS)) - brcmf_fil_iovar_int_set(ifp, "mbss", 0); - brcmf_fil_cmd_int_set(ifp, BRCMF_C_SET_REGULATORY, -@@ -6715,12 +6720,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6851,12 +6853,18 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], struct brcmfmac_pd_cc *country_codes; struct brcmfmac_pd_cc_entry *cc; s32 found_index; @@ -109329,7 +109126,7 @@ index 210f2dc58b74a08f3893c06a1a05d364e4045c99..bc78593a611b6704aa88cc280cdaccd0 } if ((alpha2[0] == ccreq->country_abbrev[0]) && -@@ -6744,10 +6755,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], +@@ -6880,10 +6888,14 @@ static s32 brcmf_translate_country_code(struct brcmf_pub *drvr, char alpha2[2], brcmf_dbg(TRACE, "No country code match found\n"); return -EINVAL; } @@ -109361,7 +109158,7 @@ index 7a2b49587b4d32dde1af56a2979d4e1818500f84..df138305217384de2359313bc7d00528 MODULE_PARM_DESC(roamoff, "Do not use internal roaming engine"); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index d44f59ef4f72b3324aa3deedf8746e10cf1cccc7..cb5292ede39c5f1e97df2a18d4883848b8cffe78 100644 +index fbcbb43259366ccd87c37119a5024dbb825099ed..21bb3dccfeee7922af7bfd8953ca3e7f4601ab64 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -609,6 +609,7 @@ BRCMF_FW_NVRAM_DEF(4329, "brcmfmac4329-sdio.bin", "brcmfmac4329-sdio.txt"); @@ -109372,7 +109169,7 @@ index d44f59ef4f72b3324aa3deedf8746e10cf1cccc7..cb5292ede39c5f1e97df2a18d4883848 BRCMF_FW_NVRAM_DEF(4335, "brcmfmac4335-sdio.bin", "brcmfmac4335-sdio.txt"); BRCMF_FW_NVRAM_DEF(43362, "brcmfmac43362-sdio.bin", "brcmfmac43362-sdio.txt"); BRCMF_FW_NVRAM_DEF(4339, "brcmfmac4339-sdio.bin", "brcmfmac4339-sdio.txt"); -@@ -626,7 +627,7 @@ static struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { +@@ -628,7 +629,7 @@ static struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4330_CHIP_ID, 0xFFFFFFFF, 4330), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4334_CHIP_ID, 0xFFFFFFFF, 4334), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43340_CHIP_ID, 0xFFFFFFFF, 43340), @@ -109382,10 +109179,10 @@ index d44f59ef4f72b3324aa3deedf8746e10cf1cccc7..cb5292ede39c5f1e97df2a18d4883848 BRCMF_FW_NVRAM_ENTRY(BRCM_CC_43362_CHIP_ID, 0xFFFFFFFE, 43362), BRCMF_FW_NVRAM_ENTRY(BRCM_CC_4339_CHIP_ID, 0xFFFFFFFF, 4339), -From 85c2e8241b19c3cf050db2d39c3fb8c0a7dfbb26 Mon Sep 17 00:00:00 2001 +From 50c8a5edafa12f338faac035b9fd2f5014374436 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 17 Feb 2017 15:26:13 +0000 -Subject: [PATCH 095/182] brcmfmac: Mute expected startup 'errors' +Subject: [PATCH 094/170] brcmfmac: Mute expected startup 'errors' The brcmfmac WiFi driver always complains about the '00' country code. Modify the driver to ignore '00' silently. @@ -109396,23 +109193,23 @@ 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 bc78593a611b6704aa88cc280cdaccd0873fc102..604744f7af9bd465822a93276088c96cf48e5c35 100644 +index 508cab2d0817914d454958f92167d350c74d9a5d..987b1f5b999b0ecb68b6ce741b8e3ddbfab2bcc0 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -6786,6 +6786,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, +@@ -6919,6 +6919,8 @@ static void brcmf_cfg80211_reg_notifier(struct wiphy *wiphy, /* ignore non-ISO3166 country codes */ for (i = 0; i < sizeof(req->alpha2); i++) if (req->alpha2[i] < 'A' || req->alpha2[i] > 'Z') { + if (req->alpha2[0] == '0' && req->alpha2[1] == '0') + return; - brcmf_err("not a ISO3166 code (0x%02x 0x%02x)\n", + brcmf_err("not an ISO3166 code (0x%02x 0x%02x)\n", req->alpha2[0], req->alpha2[1]); return; -From b07cb43e5789dcd3132ae69e787fc21741ae1bd4 Mon Sep 17 00:00:00 2001 +From 07aaf50201eec1c47538839a099e96cbde14dc4d Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 17 Dec 2015 13:37:07 +0000 -Subject: [PATCH 096/182] hci_h5: Don't send conf_req when ACTIVE +Subject: [PATCH 095/170] 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. @@ -109421,7 +109218,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 90d0456b67446bcc624fab4b1542c4eaf21531b1..f9adeac3bbba6418dcca298c55706356b3004e34 100644 +index c0e4e26dc30d7c3c6a771b7b86df88c8cf763646..7308287259eedcaf229f8a496a0e38262d2d2460 100644 --- a/drivers/bluetooth/hci_h5.c +++ b/drivers/bluetooth/hci_h5.c @@ -308,7 +308,8 @@ static void h5_handle_internal_rx(struct hci_uart *hu) @@ -109435,28 +109232,29 @@ index 90d0456b67446bcc624fab4b1542c4eaf21531b1..f9adeac3bbba6418dcca298c55706356 if (H5_HDR_LEN(hdr) > 2) h5->tx_win = (data[2] & 0x07); -From b6728373e9a39d3d9ce2f60e3a542fbe30bc0d2a Mon Sep 17 00:00:00 2001 +From 0560c8b395cbffc86286ae26c5c1373c71f19991 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 13 Apr 2015 17:16:29 +0100 -Subject: [PATCH 097/182] config: Add default configs +Subject: [PATCH 096/170] config: Add default configs --- - arch/arm/configs/bcm2709_defconfig | 1314 +++++++++++++++++++++++++++++++++++ - arch/arm/configs/bcmrpi_defconfig | 1322 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 2636 insertions(+) + arch/arm/configs/bcm2709_defconfig | 1312 +++++++++++++++++++++++++++++++++++ + arch/arm/configs/bcmrpi_defconfig | 1318 ++++++++++++++++++++++++++++++++++++ + 2 files changed, 2630 insertions(+) create mode 100644 arch/arm/configs/bcm2709_defconfig create mode 100644 arch/arm/configs/bcmrpi_defconfig diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig new file mode 100644 -index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a7ad5c5a6 +index 0000000000000000000000000000000000000000..93cdfa4ce3e7d3ff9f437a05a9ee6bcf4b895a20 --- /dev/null +++ b/arch/arm/configs/bcm2709_defconfig -@@ -0,0 +1,1314 @@ +@@ -0,0 +1,1312 @@ +CONFIG_LOCALVERSION="-v7" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y ++CONFIG_GENERIC_IRQ_DEBUGFS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BSD_PROCESS_ACCT=y @@ -109908,7 +109706,6 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_ENC28J60=m -+CONFIG_QCA7000=m +CONFIG_MDIO_BITBANG=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m @@ -110064,6 +109861,7 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_RAW_DRIVER=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=m ++CONFIG_I2C_MUX_GPMUX=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_BCM2708=m +CONFIG_I2C_BCM2835=m @@ -110072,6 +109870,7 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_SPI_BCM2835=m +CONFIG_SPI_BCM2835AUX=m +CONFIG_SPI_SPIDEV=m ++CONFIG_SPI_SLAVE=y +CONFIG_PPS=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_GPIO=m @@ -110080,7 +109879,6 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_GPIO_BCM_VIRT=y +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MCP23S08=m +CONFIG_W1=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m @@ -110299,12 +110097,9 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_SOUND=y +CONFIG_SND=m ++CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_MIXER_OSS=m -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_SEQUENCER_OSS=y -+CONFIG_SND_HRTIMER=m +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m @@ -110691,7 +110486,6 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_ACL=y +CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_SMB2=y +CONFIG_CIFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y @@ -110754,6 +110548,7 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_XCBC=m ++CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_CAST5=m @@ -110769,13 +110564,14 @@ index 0000000000000000000000000000000000000000..90713b5b0d1ccd80abf420e8ba1bd24a +CONFIG_LIBCRC32C=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig new file mode 100644 -index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e863117a43 +index 0000000000000000000000000000000000000000..29fd2abc2cbfcaed37cb630b5edffaa5b4994f6e --- /dev/null +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -0,0 +1,1322 @@ +@@ -0,0 +1,1318 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y ++CONFIG_GENERIC_IRQ_DEBUGFS=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BSD_PROCESS_ACCT=y @@ -110789,7 +110585,6 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_FREEZER=y -+CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_NAMESPACES=y @@ -111224,7 +111019,6 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_TUN=m +CONFIG_VETH=m +CONFIG_ENC28J60=m -+CONFIG_QCA7000=m +CONFIG_MDIO_BITBANG=m +CONFIG_PPP=m +CONFIG_PPP_BSDCOMP=m @@ -111381,6 +111175,7 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_RAW_DRIVER=y +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=m ++CONFIG_I2C_MUX_GPMUX=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_BCM2708=m +CONFIG_I2C_BCM2835=m @@ -111389,13 +111184,13 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_SPI_BCM2835=m +CONFIG_SPI_BCM2835AUX=m +CONFIG_SPI_SPIDEV=m ++CONFIG_SPI_SLAVE=y +CONFIG_PPS=m +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_STMPE=y -+CONFIG_GPIO_MCP23S08=m +CONFIG_W1=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_DS2482=m @@ -111614,12 +111409,9 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +# CONFIG_LOGO_LINUX_VGA16 is not set +CONFIG_SOUND=y +CONFIG_SND=m ++CONFIG_SND_HRTIMER=m +CONFIG_SND_SEQUENCER=m +CONFIG_SND_SEQ_DUMMY=m -+CONFIG_SND_MIXER_OSS=m -+CONFIG_SND_PCM_OSS=m -+CONFIG_SND_SEQUENCER_OSS=y -+CONFIG_SND_HRTIMER=m +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m @@ -112019,7 +111811,6 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_ACL=y +CONFIG_CIFS_DFS_UPCALL=y -+CONFIG_CIFS_SMB2=y +CONFIG_CIFS_FSCACHE=y +CONFIG_9P_FS=m +CONFIG_9P_FS_POSIX_ACL=y @@ -112096,10 +111887,10 @@ index 0000000000000000000000000000000000000000..ace19d6f5bc04091130bd28b65ce25e8 +CONFIG_CRC_ITU_T=y +CONFIG_LIBCRC32C=y -From 8d21124570759a5ddfcfd79e7dafcaa5fee2163e Mon Sep 17 00:00:00 2001 +From f94ff41626b453f951186cff482f6b9a094599df Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Wed, 24 Aug 2016 03:35:56 -0700 -Subject: [PATCH 098/182] Add arm64 configuration and device tree differences. +Subject: [PATCH 097/170] Add arm64 configuration and device tree differences. Disable MMC_BCM2835_SDHOST and MMC_BCM2835 since these drivers are crashing at the moment. @@ -112121,7 +111912,7 @@ Tested with raspbian-jessie 2016-09-23. create mode 100644 arch/arm64/configs/bcmrpi3_defconfig diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms -index 73272f43ca012faac98c0aceed350dcd49814b28..ea7731a98256d00bdeda1ddb40d1d6c7d360b4c7 100644 +index f5f0c813dfecc56cf21e0ae18b8b0c34197aad86..d8550598e3403e7d35050e48e71bac17ed8dc493 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms @@ -1,5 +1,27 @@ @@ -112149,11 +111940,11 @@ index 73272f43ca012faac98c0aceed350dcd49814b28..ea7731a98256d00bdeda1ddb40d1d6c7 + help + This enables support for Broadcom BCM2709 boards. + - config ARCH_SUNXI - bool "Allwinner sunxi 64-bit SoC Family" - select ARCH_HAS_RESET_CONTROLLER + config ARCH_ACTIONS + bool "Actions Semi Platforms" + select OWL_TIMER diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile -index bfa8f8e4c5af0643a9cff94917ccf932a5ee98cb..d6e9463b85062f80ba7c3c0bf328508929f7d519 100644 +index f11bdd6689ea96b2fce04404ae2166349c7d2c26..1046bed8bf1509eaf3127733b9263fa39a166895 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -1,5 +1,6 @@ @@ -112161,8 +111952,8 @@ index bfa8f8e4c5af0643a9cff94917ccf932a5ee98cb..d6e9463b85062f80ba7c3c0bf3285089 dtb-$(CONFIG_ARCH_BCM_IPROC) += ns2-svk.dtb ns2-xmc.dtb +dtb-$(CONFIG_ARCH_BCM2709) += bcm2710-rpi-3-b.dtb + dts-dirs := stingray always := $(dtb-y) - subdir-y := $(dts-dirs) diff --git a/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts b/arch/arm64/boot/dts/broadcom/bcm2710-rpi-3-b.dts new file mode 100644 index 0000000000000000000000000000000000000000..deb33441da95220db0ed672e41639626fba682a5 @@ -113513,10 +113304,10 @@ index 0000000000000000000000000000000000000000..e6b09fafa27eed2b762e3d53b55041f7 +CONFIG_LIBCRC32C=y +CONFIG_BCM2835_VCHIQ=n -From e1286004648afdf27a288c63830f47c64f00cdc0 Mon Sep 17 00:00:00 2001 +From 1e4724c05cfa46260cef6fc3be456dcc47c2dbb5 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Thu, 12 Jan 2017 07:07:08 -0800 -Subject: [PATCH 099/182] ARM64: Make it work again on 4.9 (#1790) +Subject: [PATCH 098/170] ARM64: Make it work again on 4.9 (#1790) * Invoke the dtc compiler with the same options used in arm mode. * ARM64 now uses the bcm2835 platform just like ARM32. @@ -113524,18 +113315,18 @@ Subject: [PATCH 099/182] ARM64: Make it work again on 4.9 (#1790) Signed-off-by: Michael Zoran --- - arch/arm64/Kconfig.platforms | 22 ------ + arch/arm64/Kconfig.platforms | 28 -------- arch/arm64/boot/dts/broadcom/Makefile | 9 +++ arch/arm64/boot/dts/overlays | 1 + arch/arm64/configs/bcmrpi3_defconfig | 125 +++++++++++----------------------- - 4 files changed, 48 insertions(+), 109 deletions(-) + 4 files changed, 48 insertions(+), 115 deletions(-) create mode 120000 arch/arm64/boot/dts/overlays diff --git a/arch/arm64/Kconfig.platforms b/arch/arm64/Kconfig.platforms -index ea7731a98256d00bdeda1ddb40d1d6c7d360b4c7..73272f43ca012faac98c0aceed350dcd49814b28 100644 +index d8550598e3403e7d35050e48e71bac17ed8dc493..1b7f6ea1171f5cc7a1df649d146520c1c77eada9 100644 --- a/arch/arm64/Kconfig.platforms +++ b/arch/arm64/Kconfig.platforms -@@ -1,27 +1,5 @@ +@@ -1,33 +1,5 @@ menu "Platform selection" -config MACH_BCM2709 @@ -113559,12 +113350,18 @@ index ea7731a98256d00bdeda1ddb40d1d6c7d360b4c7..73272f43ca012faac98c0aceed350dcd - select PINCTRL_BCM2835 - help - This enables support for Broadcom BCM2709 boards. +- +-config ARCH_ACTIONS +- bool "Actions Semi Platforms" +- select OWL_TIMER +- help +- This enables support for the Actions Semiconductor S900 SoC family. - config ARCH_SUNXI bool "Allwinner sunxi 64-bit SoC Family" select ARCH_HAS_RESET_CONTROLLER diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile -index d6e9463b85062f80ba7c3c0bf328508929f7d519..2974f282e6e4ba37bfa9bae31e355cb162e68131 100644 +index 1046bed8bf1509eaf3127733b9263fa39a166895..97af2ececc52ca3aad7b84dc2fdb5c269a45bde0 100644 --- a/arch/arm64/boot/dts/broadcom/Makefile +++ b/arch/arm64/boot/dts/broadcom/Makefile @@ -1,6 +1,15 @@ @@ -113581,8 +113378,8 @@ index d6e9463b85062f80ba7c3c0bf328508929f7d519..2974f282e6e4ba37bfa9bae31e355cb1 + +dts-dirs += ../overlays + dts-dirs := stingray always := $(dtb-y) - subdir-y := $(dts-dirs) diff --git a/arch/arm64/boot/dts/overlays b/arch/arm64/boot/dts/overlays new file mode 120000 index 0000000000000000000000000000000000000000..ded08646b6f66cdf734f8bf9c1be3a2e3a7103d7 @@ -113919,10 +113716,10 @@ index e6b09fafa27eed2b762e3d53b55041f793683d27..c7e891d72969a388d9b135a36dbfc9c9 CONFIG_LIBCRC32C=y -CONFIG_BCM2835_VCHIQ=n -From 82ebb7015a2b8fc363762bb91b7332b36e43e25c Mon Sep 17 00:00:00 2001 +From 68383baa8115821ebd8e976ef43511d5f1cb9657 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:10:07 -0800 -Subject: [PATCH 100/182] ARM64: Enable HDMI audio and vc04_services in +Subject: [PATCH 099/170] ARM64: Enable HDMI audio and vc04_services in bcmrpi3_defconfig Signed-off-by: Michael Zoran @@ -113951,10 +113748,10 @@ index c7e891d72969a388d9b135a36dbfc9c9cb609bf8..4b90f9b64abe9f089ba56b13d5a00de3 CONFIG_BCM2835_MBOX=y # CONFIG_IOMMU_SUPPORT is not set -From 731471747b225abe56aa2617b91d915bcdad960d Mon Sep 17 00:00:00 2001 +From 7cb68a13ca965b6e8a2aad09d9dc01d96cf55add Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Thu, 12 Jan 2017 19:14:03 -0800 -Subject: [PATCH 101/182] ARM64: Run bcmrpi3_defconfig through savedefconfig. +Subject: [PATCH 100/170] ARM64: Run bcmrpi3_defconfig through savedefconfig. Signed-off-by: Michael Zoran --- @@ -113999,10 +113796,10 @@ index 4b90f9b64abe9f089ba56b13d5a00de33343bfb9..dac962ca1634662ce7d966f1ffb53b5b CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m -From 6561432023612c50111ea665610ee5ff518c3d13 Mon Sep 17 00:00:00 2001 +From d1a45ad665150d5f9f9c1f813b6aba15ddb898f6 Mon Sep 17 00:00:00 2001 From: Electron752 Date: Sat, 14 Jan 2017 02:54:26 -0800 -Subject: [PATCH 102/182] ARM64: Enable Kernel Address Space Randomization +Subject: [PATCH 101/170] ARM64: Enable Kernel Address Space Randomization (#1792) Randomization allows the mapping between virtual addresses and physical @@ -114034,10 +113831,10 @@ index dac962ca1634662ce7d966f1ffb53b5bfa27c506..aae33b4b3c3e736ea7cd3ca242158ad6 CONFIG_BINFMT_MISC=y CONFIG_COMPAT=y -From f9bb220b11c15b23c5b0234b0f1cde421ce2b5d1 Mon Sep 17 00:00:00 2001 +From f4b57f46f575933f3f75f83b1e35d702f9e2dc38 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sun, 15 Jan 2017 07:31:59 -0800 -Subject: [PATCH 103/182] ARM64: Enable RTL8187/RTL8192CU wifi in build config +Subject: [PATCH 102/170] ARM64: Enable RTL8187/RTL8192CU wifi in build config These drivers build now, so they can be enabled back in the build configuration just like they are for @@ -114062,10 +113859,10 @@ index aae33b4b3c3e736ea7cd3ca242158ad6ba558aff..b7d762df19b85e369a32cd823dfd0621 CONFIG_ZD1211RW=m CONFIG_MAC80211_HWSIM=m -From 7298ccfc5a58dde0d059da7d6ca6bdbe10dfbdbe Mon Sep 17 00:00:00 2001 +From d88c72d503142ecf106acbeff9929b8172bea98c Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:33:51 -0800 -Subject: [PATCH 104/182] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 +Subject: [PATCH 103/170] ARM64/DWC_OTG: Port dwc_otg driver to ARM64 In ARM64, the FIQ mechanism used by this driver is not current implemented. As a workaround, reqular IRQ is used instead @@ -114408,10 +114205,10 @@ index 6b2c7d0c93f36a63863ff4b0ecc1f3eab77e058b..d7b700ff17821ad1944e36721fe6b2db /** The OS page size */ #define DWC_OS_PAGE_SIZE PAGE_SIZE -From dad6a3f181c1dd9fc408dfc93d78885fd58d2d95 Mon Sep 17 00:00:00 2001 +From 899db13ab374416182169ab89af3b7deb16c23a9 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:43:57 -0800 -Subject: [PATCH 105/182] ARM64: Round-Robin dispatch IRQs between CPUs. +Subject: [PATCH 104/170] ARM64: Round-Robin dispatch IRQs between CPUs. IRQ-CPU mapping is round robined on ARM64 to increase concurrency and allow multiple interrupts to be serviced @@ -114485,10 +114282,10 @@ index c4e151451cf8c8ebde5225515eac2786d6f61d46..9a7ee04ee0d9b7aa734cf3159ed59c19 .name = "bcm2836-gpu", .irq_mask = bcm2836_arm_irqchip_mask_gpu_irq, -From 27322d934b5f80d6ea7202c6d7c9a627e2e262b3 Mon Sep 17 00:00:00 2001 +From 41d404e0e4dad1d84b62d166d47466ad0c9be0bc Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 14 Jan 2017 21:45:03 -0800 -Subject: [PATCH 106/182] ARM64: Enable DWC_OTG Driver In ARM64 Build +Subject: [PATCH 105/170] ARM64: Enable DWC_OTG Driver In ARM64 Build Config(bcmrpi3_defconfig) Signed-off-by: Michael Zoran @@ -114509,10 +114306,10 @@ index b7d762df19b85e369a32cd823dfd062145bdefa7..4d85c231c5ea0244e1b05fb4a5e3c8fd CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE_REALTEK=m -From 3b8d1aad4d19d029fe4ab422e63daaa7c139deda Mon Sep 17 00:00:00 2001 +From 1ed4ee6fbbd73ff60ed5d2f8ef2375170ff39a22 Mon Sep 17 00:00:00 2001 From: Michael Zoran Date: Sat, 11 Feb 2017 01:18:31 -0800 -Subject: [PATCH 107/182] ARM64: Force hardware emulation of deprecated +Subject: [PATCH 106/170] ARM64: Force hardware emulation of deprecated instructions. --- @@ -114540,10 +114337,10 @@ index f0e6d717885b1fcf3b22f64c10c38f19c25f809d..0cb830d30fb6d2bd26ab572efe893649 case INSN_OBSOLETE: insn->current_mode = INSN_UNDEF; -From 8765d2329f57658fcdc8209e750469e0d1f9391f Mon Sep 17 00:00:00 2001 +From 15def4ae60ec81f4ed2ce717ee0eadab804c43e9 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 10 Feb 2017 17:57:08 -0800 -Subject: [PATCH 108/182] build/arm64: Add rules for .dtbo files for dts +Subject: [PATCH 107/170] build/arm64: Add rules for .dtbo files for dts overlays We now create overlays as .dtbo files. @@ -114554,10 +114351,10 @@ Signed-off-by: Khem Raj 1 file changed, 3 insertions(+) diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile -index f839ecd919f934c54a73d8e9f8179aff3d3cba26..a4010b3cc8ef11d449bcff801852266786862ca5 100644 +index 9b41f1e3b1a039cd45fe842e10abff0181186fdf..dc2859b8eed168ed52e95c503e7a5ce328b38c0a 100644 --- a/arch/arm64/Makefile +++ b/arch/arm64/Makefile -@@ -121,6 +121,9 @@ zinstall install: +@@ -126,6 +126,9 @@ zinstall install: %.dtb: scripts $(Q)$(MAKE) $(build)=$(boot)/dts $(boot)/dts/$@ @@ -114568,10 +114365,10 @@ index f839ecd919f934c54a73d8e9f8179aff3d3cba26..a4010b3cc8ef11d449bcff8018522667 dtbs: prepare scripts -From 5ec381bbc4c688c56042e072095cb4cf67d7bb3e Mon Sep 17 00:00:00 2001 +From f6507bfd13d0ae00ac45b1d39cc81d5193dd58dd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 9 May 2016 17:28:18 -0700 -Subject: [PATCH 109/182] clk: bcm2835: Mark GPIO clocks enabled at boot as +Subject: [PATCH 108/170] clk: bcm2835: Mark GPIO clocks enabled at boot as critical. These divide off of PLLD_PER and are used for the ethernet and wifi @@ -114589,10 +114386,10 @@ Signed-off-by: Eric Anholt 1 file changed, 9 insertions(+) diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index 39f72da6ba1f6ec6ec41d5dc1bf46344aab008da..fe3298b54cdfb96bd90fb4f39e13921d2e1d4356 100644 +index 336f8c9c44325d0a94e591a8557f7af246adc857..caa05e5ad0b7b5cd683e04fb3591a3dfcb40823f 100644 --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1461,6 +1461,15 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman, +@@ -1484,6 +1484,15 @@ static struct clk_hw *bcm2835_register_clock(struct bcm2835_cprman *cprman, init.flags = data->flags | CLK_IGNORE_UNUSED; /* @@ -114609,10 +114406,10 @@ index 39f72da6ba1f6ec6ec41d5dc1bf46344aab008da..fe3298b54cdfb96bd90fb4f39e13921d * rate changes on at least of the parents. */ -From 391b9b0a15c51e502e1b8023b0c5c65f89294b73 Mon Sep 17 00:00:00 2001 +From 4938ec9c07ab34531c7f6e827ca9f8d84a8bb420 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 24 Feb 2015 13:40:50 +0000 -Subject: [PATCH 110/182] pinctrl-bcm2835: Fix interrupt handling for GPIOs +Subject: [PATCH 109/170] pinctrl-bcm2835: Fix interrupt handling for GPIOs 28-31 and 46-53 Contrary to the documentation, the BCM2835 GPIO controller actually has @@ -114633,22 +114430,22 @@ the pins are often used for I2S instead. 1 file changed, 1 insertion(+) diff --git a/drivers/pinctrl/bcm/pinctrl-bcm2835.c b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -index 6351fe7f8e314ac5ebb102dd20847b383fd5b857..28745af5aadf3cb91fa7ff39118385c393e2d1d4 100644 +index a9d480df32562defbf8be0faf0a39bfe06ff71f9..18c92bae3b2e7e9f8208ca0d4487b08b8ba61575 100644 --- a/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ b/drivers/pinctrl/bcm/pinctrl-bcm2835.c -@@ -1109,6 +1109,7 @@ static struct platform_driver bcm2835_pinctrl_driver = { - .remove = bcm2835_pinctrl_remove, +@@ -1098,6 +1098,7 @@ static struct platform_driver bcm2835_pinctrl_driver = { + .probe = bcm2835_pinctrl_probe, .driver = { .name = MODULE_NAME, + .owner = THIS_MODULE, .of_match_table = bcm2835_pinctrl_match, + .suppress_bind_attrs = true, }, - }; -From babdfe14ce80f5477816088e4d6c4e302b277f4b Mon Sep 17 00:00:00 2001 +From e4a3baba5b09cc5957058c74630e0d57a2936bef Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 10:06:56 +0000 -Subject: [PATCH 111/182] ASoC: Add prompt for ICS43432 codec +Subject: [PATCH 110/170] ASoC: Add prompt for ICS43432 codec Without a prompt string, a config setting can't be included in a defconfig. Give CONFIG_SND_SOC_ICS43432 a prompt so that Pi soundcards @@ -114660,10 +114457,10 @@ Signed-off-by: Phil Elwell 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig -index adf3b7b75e303430d6a03a2b457d389596f39c1a..ba4a36dd0196e8eece5e22ad6717c18921846985 100644 +index aca3a53f08dba8762307f7c25a5d7c5561b9cf71..a3be6e005a895b995897cc007bb85c780a42de8b 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig -@@ -568,7 +568,7 @@ config SND_SOC_HDAC_HDMI +@@ -573,7 +573,7 @@ config SND_SOC_HDAC_HDMI select HDMI config SND_SOC_ICS43432 @@ -114673,10 +114470,10 @@ index adf3b7b75e303430d6a03a2b457d389596f39c1a..ba4a36dd0196e8eece5e22ad6717c189 config SND_SOC_INNO_RK3036 tristate "Inno codec driver for RK3036 SoC" -From d5b8463d49a5cf2d060ddf08cc922f48bb984061 Mon Sep 17 00:00:00 2001 +From aef396614aba655158027e44ccaa0a1eda35699b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 23 Mar 2017 16:34:46 +0000 -Subject: [PATCH 112/182] bcm2835-aux: Add aux interrupt controller +Subject: [PATCH 111/170] bcm2835-aux: Add aux interrupt controller The AUX block has a shared interrupt line with a register indicating which devices have active IRQs. Expose this as a nested interrupt @@ -114840,10 +114637,10 @@ index bd750cf2238d61489811e7d7bd3b5f9950ed53c8..41e0702fae4692221980b0d02aed1ba6 BCM2835_AUX_CLOCK_COUNT, GFP_KERNEL); if (!onecell) -From 0787d170d85ae09031a7bdadbe8fb7a129a8b54c Mon Sep 17 00:00:00 2001 +From 419d47b462576aa604d08926d782c5af493d77a4 Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Fri, 29 Apr 2016 10:32:17 -0700 -Subject: [PATCH 113/182] mmc: read mmc alias from device tree +Subject: [PATCH 112/170] mmc: read mmc alias from device tree To get the SD/MMC host device ID, read the alias from the device tree. @@ -114864,10 +114661,10 @@ Signed-off-by: Douglas Anderson 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/mmc/core/host.c b/drivers/mmc/core/host.c -index 88fa03142e923c67967f7b51e0a90a32ae1cb6a6..393bb77d829d5da5556e2ef14a2470420cf76f04 100644 +index 1503412f826cd0e0e9ad37a0554b31596a49eb77..2f5b3cf86293b96b104eac7c6d48a5839d7e974b 100644 --- a/drivers/mmc/core/host.c +++ b/drivers/mmc/core/host.c -@@ -343,15 +343,30 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) +@@ -344,15 +344,30 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev) { int err; struct mmc_host *host; @@ -114900,10 +114697,10 @@ index 88fa03142e923c67967f7b51e0a90a32ae1cb6a6..393bb77d829d5da5556e2ef14a247042 kfree(host); return NULL; -From d3d84f6b1fb9fce0ee8b579a6b22e42d696eef94 Mon Sep 17 00:00:00 2001 +From 720e64c2c6090d02bcfd559784d7e0d2affb8fce Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 11 May 2016 12:50:33 +0100 -Subject: [PATCH 114/182] mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards +Subject: [PATCH 113/170] 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, @@ -114933,7 +114730,7 @@ Signed-off-by: Phil Elwell 4 files changed, 40 insertions(+), 4 deletions(-) diff --git a/drivers/mmc/core/block.c b/drivers/mmc/core/block.c -index 8273b078686d0a939d1c5dc1b6ce58e8c72ef94a..2c58fe3bb34f25dc9bbb4bc161baa6e63a362bb2 100644 +index 8ac59dc80f23e51b8449c884611396376000e5a4..809d9b4da8881ef4ec80017d3430f22f0b88c662 100644 --- a/drivers/mmc/core/block.c +++ b/drivers/mmc/core/block.c @@ -125,6 +125,13 @@ static DEFINE_MUTEX(open_lock); @@ -114949,16 +114746,16 @@ index 8273b078686d0a939d1c5dc1b6ce58e8c72ef94a..2c58fe3bb34f25dc9bbb4bc161baa6e6 + static inline int mmc_blk_part_switch(struct mmc_card *card, struct mmc_blk_data *md); - static int get_card_status(struct mmc_card *card, u32 *status, int retries); -@@ -2167,6 +2174,7 @@ static int mmc_blk_probe(struct mmc_card *card) + +@@ -2247,6 +2254,7 @@ static int mmc_blk_probe(struct mmc_card *card) + { struct mmc_blk_data *md, *part_md; char cap_str[10]; - int ret; + char quirk_str[24]; /* * Check that the card supports the command class(es) we need. -@@ -2174,7 +2182,16 @@ static int mmc_blk_probe(struct mmc_card *card) +@@ -2254,7 +2262,16 @@ static int mmc_blk_probe(struct mmc_card *card) if (!(card->csd.cmdclass & CCC_BLOCK_READ)) return -ENODEV; @@ -114974,9 +114771,9 @@ index 8273b078686d0a939d1c5dc1b6ce58e8c72ef94a..2c58fe3bb34f25dc9bbb4bc161baa6e6 + else + mmc_fixup_device(card, mmc_blk_fixups); - ret = mmc_queue_alloc_shared_queue(card); - if (ret) -@@ -2188,9 +2205,14 @@ static int mmc_blk_probe(struct mmc_card *card) + md = mmc_blk_alloc(card); + if (IS_ERR(md)) +@@ -2262,9 +2279,14 @@ static int mmc_blk_probe(struct mmc_card *card) string_get_size((u64)get_capacity(md->disk), 512, STRING_UNITS_2, cap_str, sizeof(cap_str)); @@ -114994,10 +114791,10 @@ index 8273b078686d0a939d1c5dc1b6ce58e8c72ef94a..2c58fe3bb34f25dc9bbb4bc161baa6e6 if (mmc_blk_alloc_parts(card, md)) goto out; diff --git a/drivers/mmc/core/core.c b/drivers/mmc/core/core.c -index 82c45ddfa2023cd2e6d69218fb3c232a9c14d680..d28020552a9dd77c33277de5ab1eaf68b37b576b 100644 +index 26431267a3e2d790d4eae99e65881ca60bd2047d..0ec589ace762a27f3c5ea39226fef3a67442675f 100644 --- a/drivers/mmc/core/core.c +++ b/drivers/mmc/core/core.c -@@ -2397,7 +2397,8 @@ EXPORT_SYMBOL(mmc_erase); +@@ -2211,7 +2211,8 @@ EXPORT_SYMBOL(mmc_erase); int mmc_can_erase(struct mmc_card *card) { if ((card->host->caps & MMC_CAP_ERASE) && @@ -115030,7 +114827,7 @@ index fb725934fa21cee1b98fd7bc08227bf6d0317549..05c8d7381fff5ae88531129d9a5ddd55 }; diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h -index aad015e0152b7f1d32f92c500825b723498d1be9..d44a9c84a90a02388c05a427814fb8fca3d9e283 100644 +index 46c73e97e61f08a41d9753079345f5965caebbc5..388c551ed11e9d06ea1c25b6553d47a8d668953a 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -269,6 +269,8 @@ struct mmc_card { @@ -115043,10 +114840,10 @@ index aad015e0152b7f1d32f92c500825b723498d1be9..d44a9c84a90a02388c05a427814fb8fc unsigned int erase_size; /* erase size in sectors */ -From 3dd03b1a654105ca30262e963036fd4b802ebec5 Mon Sep 17 00:00:00 2001 +From de2b8276b95fbe80f6bad1a6c58cceeeae614ca1 Mon Sep 17 00:00:00 2001 From: Yasunari Takiguchi Date: Fri, 14 Apr 2017 10:43:57 +0100 -Subject: [PATCH 115/182] This is the driver for Sony CXD2880 DVB-T2/T tuner + +Subject: [PATCH 114/170] This is the driver for Sony CXD2880 DVB-T2/T tuner + demodulator. It includes the CXD2880 driver and the CXD2880 SPI adapter. The current CXD2880 driver version is 1.4.1 - 1.0.1 released on April 13, 2017. @@ -115144,10 +114941,10 @@ Signed-off-by: Satoshi Watanabe create mode 100644 drivers/media/spi/cxd2880-spi.c diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig -index e8c6554a47aa13761ca8016cb0cd7d066e38927a..3a3a7129a15001a2a3134c2aafc880540899cc9f 100644 +index 3a260b82b3e8b15e8d26425ca1e9e6665e1ca1d9..6831f4a49c18e58aff7fc70cb1cd46f1701c52c0 100644 --- a/drivers/media/dvb-frontends/Kconfig +++ b/drivers/media/dvb-frontends/Kconfig -@@ -518,6 +518,8 @@ config DVB_GP8PSK_FE +@@ -519,6 +519,8 @@ config DVB_GP8PSK_FE depends on DVB_CORE default DVB_USB_GP8PSK @@ -131178,10 +130975,10 @@ index 0000000000000000000000000000000000000000..82e122349055be817eb74ed5bbcd7560 +MODULE_AUTHOR("Sony Semiconductor Solutions Corporation"); +MODULE_LICENSE("GPL v2"); -From 063874ff960b151af80cf8550100aa45014025b4 Mon Sep 17 00:00:00 2001 +From 24077563f1c3a7bcf772979cc208a63a4929a8a8 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:18:09 +0100 -Subject: [PATCH 116/182] raspberrypi-firmware: Define the MBOX channel in the +Subject: [PATCH 115/170] raspberrypi-firmware: Define the MBOX channel in the header. Signed-off-by: Eric Anholt @@ -131203,10 +131000,10 @@ index c819c21b0158a59c1308882e5a40e3f3fe73cbdf..de2a3dcd562beb752266eaf0070e5586 enum rpi_firmware_property_status { -From e175a55217ca3300c3ed7f4bb271c0be57262281 Mon Sep 17 00:00:00 2001 +From f0530fd1ec9da6ea5e63cb8410980f486950840f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 09:16:19 +0100 -Subject: [PATCH 117/182] raspberrypi-firmware: Export the general transaction +Subject: [PATCH 116/170] raspberrypi-firmware: Export the general transaction function. The vc4-firmware-kms module is going to be doing the MBOX FB call. @@ -131250,10 +131047,10 @@ index de2a3dcd562beb752266eaf0070e55861d553f5f..dc7fd58afd5dddebf9b17065bb069a1d #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */ -From 03154ab3a7a5ef1616f0a1bed6a57ffa9eafb9c6 Mon Sep 17 00:00:00 2001 +From 6d9616d07fb06ed0ceae1cb615f212c8eb278a39 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 14 Sep 2016 08:39:33 +0100 -Subject: [PATCH 118/182] drm/vc4: Add a mode for using the closed firmware for +Subject: [PATCH 117/170] drm/vc4: Add a mode for using the closed firmware for display. Signed-off-by: Eric Anholt @@ -131262,29 +131059,29 @@ Signed-off-by: Eric Anholt drivers/gpu/drm/vc4/vc4_crtc.c | 17 + drivers/gpu/drm/vc4/vc4_drv.c | 1 + drivers/gpu/drm/vc4/vc4_drv.h | 7 + - drivers/gpu/drm/vc4/vc4_firmware_kms.c | 658 +++++++++++++++++++++++++++++++++ - 5 files changed, 684 insertions(+) + drivers/gpu/drm/vc4/vc4_firmware_kms.c | 657 +++++++++++++++++++++++++++++++++ + 5 files changed, 683 insertions(+) create mode 100644 drivers/gpu/drm/vc4/vc4_firmware_kms.c diff --git a/drivers/gpu/drm/vc4/Makefile b/drivers/gpu/drm/vc4/Makefile -index 61f45d122bd0f73b04d4e6aefd0b7ec6f607d04e..897f658bee287f84f7dde8dca43090ad5541495b 100644 +index 25bd5d30415df55e4715334a597ca1e7b3012bd7..e365d1f4d816762b2251f489e3b8fcc3121702e3 100644 --- a/drivers/gpu/drm/vc4/Makefile +++ b/drivers/gpu/drm/vc4/Makefile -@@ -9,6 +9,7 @@ vc4-y := \ - vc4_drv.o \ +@@ -8,6 +8,7 @@ vc4-y := \ vc4_dpi.o \ vc4_dsi.o \ + vc4_fence.o \ + vc4_firmware_kms.o \ vc4_kms.o \ vc4_gem.o \ vc4_hdmi.o \ diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c -index d86c8cce318270a0e34b09c3a1713d48e1a4ff0b..54a44511b8bc05cda2cf9330fe2ff673ab075baa 100644 +index 403bbd5f99a9fa97c025f60be11e31a6e043027e..7875d0045b3abc47a24b4d4e90e70f70029d8663 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c -@@ -164,6 +164,9 @@ int vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id, +@@ -164,6 +164,9 @@ bool vc4_crtc_get_scanoutpos(struct drm_device *dev, unsigned int crtc_id, int vblank_lines; - int ret = 0; + bool ret = false; + if (vc4->firmware_kms) + return 0; @@ -131292,7 +131089,7 @@ index d86c8cce318270a0e34b09c3a1713d48e1a4ff0b..54a44511b8bc05cda2cf9330fe2ff673 /* preempt_disable_rt() should go right here in PREEMPT_RT patchset. */ /* Get optional system timestamp before query. */ -@@ -658,8 +661,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, +@@ -648,8 +651,15 @@ static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, static int vc4_enable_vblank(struct drm_crtc *crtc) { @@ -131308,7 +131105,7 @@ index d86c8cce318270a0e34b09c3a1713d48e1a4ff0b..54a44511b8bc05cda2cf9330fe2ff673 CRTC_WRITE(PV_INTEN, PV_INT_VFP_START); return 0; -@@ -667,8 +677,15 @@ static int vc4_enable_vblank(struct drm_crtc *crtc) +@@ -657,8 +667,15 @@ static int vc4_enable_vblank(struct drm_crtc *crtc) static void vc4_disable_vblank(struct drm_crtc *crtc) { @@ -131325,10 +131122,10 @@ index d86c8cce318270a0e34b09c3a1713d48e1a4ff0b..54a44511b8bc05cda2cf9330fe2ff673 } diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c -index 61e674baf3a6f6cd0c0356d245d9879f7fdd1b67..b2b5a412623da3ef6d3a7efb09516b4535d77d2f 100644 +index c6b487c3d2b7645b0ae249f0ce40f4795c80bf1f..51eeca16fcfe8df6ade44376dcb9ef66eeeddee5 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c -@@ -311,6 +311,7 @@ static struct platform_driver *const component_drivers[] = { +@@ -314,6 +314,7 @@ static struct platform_driver *const component_drivers[] = { &vc4_dsi_driver, &vc4_hvs_driver, &vc4_crtc_driver, @@ -131337,7 +131134,7 @@ index 61e674baf3a6f6cd0c0356d245d9879f7fdd1b67..b2b5a412623da3ef6d3a7efb09516b45 }; diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h -index dffce6293d875416e38a7c722a1e26dc925f4bf5..a8a7ecb22e69e20f86315f949964e6bf7a9e50b6 100644 +index df22698d62ee5ca89f00bcd42b10a6862506a4cf..e2d16a9316e255bce00b38b6734b73efc354db77 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -14,6 +14,9 @@ @@ -131350,9 +131147,9 @@ index dffce6293d875416e38a7c722a1e26dc925f4bf5..a8a7ecb22e69e20f86315f949964e6bf struct vc4_hdmi *hdmi; struct vc4_hvs *hvs; struct vc4_v3d *v3d; -@@ -468,6 +471,10 @@ int vc4_dpi_debugfs_regs(struct seq_file *m, void *unused); - extern struct platform_driver vc4_dsi_driver; - int vc4_dsi_debugfs_regs(struct seq_file *m, void *unused); +@@ -515,6 +518,10 @@ int vc4_dsi_debugfs_regs(struct seq_file *m, void *unused); + /* vc4_fence.c */ + extern const struct dma_fence_ops vc4_fence_ops; +/* vc4_firmware_kms.c */ +extern struct platform_driver vc4_firmware_kms_driver; @@ -131363,10 +131160,10 @@ index dffce6293d875416e38a7c722a1e26dc925f4bf5..a8a7ecb22e69e20f86315f949964e6bf void vc4_gem_destroy(struct drm_device *dev); diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c new file mode 100644 -index 0000000000000000000000000000000000000000..1e09980c61a91246156c4ab661c03779baa1fc97 +index 0000000000000000000000000000000000000000..7dd233eed677c1689492ab95bc86475330d2d63b --- /dev/null +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -0,0 +1,658 @@ +@@ -0,0 +1,657 @@ +/* + * Copyright (C) 2016 Broadcom + * @@ -131383,13 +131180,12 @@ index 0000000000000000000000000000000000000000..1e09980c61a91246156c4ab661c03779 + * Pi's firmware display stack. + */ + -+#include "drm_atomic.h" -+#include "drm_atomic_helper.h" -+#include "drm_plane_helper.h" -+#include "drm_crtc_helper.h" ++#include "drm/drm_atomic_helper.h" ++#include "drm/drm_plane_helper.h" ++#include "drm/drm_crtc_helper.h" +#include "linux/clk.h" +#include "linux/debugfs.h" -+#include "drm_fb_cma_helper.h" ++#include "drm/drm_fb_cma_helper.h" +#include "linux/component.h" +#include "linux/of_device.h" +#include "vc4_drv.h" @@ -132026,10 +131822,10 @@ index 0000000000000000000000000000000000000000..1e09980c61a91246156c4ab661c03779 + }, +}; -From 21e716390413f65f68ca484d06be7bdd2fed7365 Mon Sep 17 00:00:00 2001 +From 384c9e7db6ace69c19adaf927bf5af49dfa532c0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:09:18 -0800 -Subject: [PATCH 119/182] drm/vc4: Name the primary and cursor planes in fkms. +Subject: [PATCH 118/170] drm/vc4: Name the primary and cursor planes in fkms. This makes debugging nicer, compared to trying to remember what the IDs are. @@ -132040,10 +131836,10 @@ Signed-off-by: Eric Anholt 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 1e09980c61a91246156c4ab661c03779baa1fc97..174a2f90c5bd78798ed47cca243b68a968e6e735 100644 +index 7dd233eed677c1689492ab95bc86475330d2d63b..e6097046fb25361bc61d657083d95b634232aabc 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -266,7 +266,7 @@ static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev, +@@ -265,7 +265,7 @@ static struct drm_plane *vc4_fkms_plane_init(struct drm_device *dev, ret = drm_universal_plane_init(dev, plane, 0xff, &vc4_plane_funcs, primary ? &xrgb8888 : &argb8888, 1, @@ -132053,10 +131849,10 @@ index 1e09980c61a91246156c4ab661c03779baa1fc97..174a2f90c5bd78798ed47cca243b68a9 if (type == DRM_PLANE_TYPE_PRIMARY) { vc4_plane->fbinfo = -From ad1a570e5b884a2ae945a362f1b7d185d1857a2d Mon Sep 17 00:00:00 2001 +From e1c8e844cf376b5a10b344042ad04afd562c7dd0 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 1 Feb 2017 17:10:09 -0800 -Subject: [PATCH 120/182] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of +Subject: [PATCH 119/170] drm/vc4: Add DRM_DEBUG_ATOMIC for the insides of fkms. Trying to debug weston on fkms involved figuring out what calls I was @@ -132068,10 +131864,10 @@ Signed-off-by: Eric Anholt 1 file changed, 26 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b091c414a 100644 +index e6097046fb25361bc61d657083d95b634232aabc..72d0b9cffe3d2997d69040c46f4aee11e22aa213 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -102,6 +102,11 @@ static int vc4_plane_set_primary_blank(struct drm_plane *plane, bool blank) +@@ -101,6 +101,11 @@ static int vc4_plane_set_primary_blank(struct drm_plane *plane, bool blank) struct vc4_dev *vc4 = to_vc4_dev(plane->dev); u32 packet = blank; @@ -132083,7 +131879,7 @@ index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b return rpi_firmware_property(vc4->firmware, RPI_FIRMWARE_FRAMEBUFFER_BLANK, &packet, sizeof(packet)); -@@ -149,6 +154,16 @@ static void vc4_primary_plane_atomic_update(struct drm_plane *plane, +@@ -148,6 +153,16 @@ static void vc4_primary_plane_atomic_update(struct drm_plane *plane, WARN_ON_ONCE(vc4_plane->pitch != fb->pitches[0]); } @@ -132100,7 +131896,7 @@ index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b ret = rpi_firmware_transaction(vc4->firmware, RPI_FIRMWARE_CHAN_FB, vc4_plane->fbinfo_bus_addr); -@@ -177,6 +192,15 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, +@@ -176,6 +191,15 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, 0, 0, /* hotx, hoty */}; WARN_ON_ONCE(fb->pitches[0] != state->crtc_w * 4); @@ -132116,7 +131912,7 @@ index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b ret = rpi_firmware_property(vc4->firmware, RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -@@ -199,6 +223,8 @@ static void vc4_cursor_plane_atomic_disable(struct drm_plane *plane, +@@ -198,6 +222,8 @@ static void vc4_cursor_plane_atomic_disable(struct drm_plane *plane, u32 packet_state[] = { false, 0, 0, 0 }; int ret; @@ -132126,10 +131922,10 @@ index 174a2f90c5bd78798ed47cca243b68a968e6e735..611a3c6d622deb9b511fe70c363d201b RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -From 05cdf193ab637ad967732757b3f4d3ad080bf9c8 Mon Sep 17 00:00:00 2001 +From e40a8476c74d9b6ffa759702fada19babf0f1d1e Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Thu, 2 Feb 2017 09:42:18 -0800 -Subject: [PATCH 121/182] drm/vc4: Fix sending of page flip completion events +Subject: [PATCH 120/170] drm/vc4: Fix sending of page flip completion events in FKMS mode. In the rewrite of vc4_crtc.c for fkms, I dropped the part of the @@ -132145,10 +131941,10 @@ Signed-off-by: Eric Anholt 1 file changed, 15 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index 611a3c6d622deb9b511fe70c363d201b091c414a..eb97443533c5a8fb5e142541adb1165b55e32aea 100644 +index 72d0b9cffe3d2997d69040c46f4aee11e22aa213..185f9bd3c1b2d47d0c1fc5293db4199bd8963023 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -337,6 +337,21 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc, +@@ -336,6 +336,21 @@ static int vc4_crtc_atomic_check(struct drm_crtc *crtc, static void vc4_crtc_atomic_flush(struct drm_crtc *crtc, struct drm_crtc_state *old_state) { @@ -132171,10 +131967,10 @@ index 611a3c6d622deb9b511fe70c363d201b091c414a..eb97443533c5a8fb5e142541adb1165b static void vc4_crtc_handle_page_flip(struct vc4_crtc *vc4_crtc) -From d3263e3306d760d1308523bd080c43bfb371882f Mon Sep 17 00:00:00 2001 +From c6cf247d13bf4b4613e2adabd6c9bb55fbec213d Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 18 Apr 2017 21:43:46 +0100 -Subject: [PATCH 122/182] vc4_fkms: Apply firmware overscan offset to hardware +Subject: [PATCH 121/170] vc4_fkms: Apply firmware overscan offset to hardware cursor --- @@ -132182,10 +131978,10 @@ Subject: [PATCH 122/182] vc4_fkms: Apply firmware overscan offset to hardware 1 file changed, 17 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_firmware_kms.c b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a4aacccc1 100644 +index 185f9bd3c1b2d47d0c1fc5293db4199bd8963023..072f377b7423ee603d73ace2bf6d620f00204862 100644 --- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c +++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c -@@ -40,6 +40,7 @@ struct vc4_crtc { +@@ -39,6 +39,7 @@ struct vc4_crtc { void __iomem *regs; struct drm_pending_vblank_event *event; @@ -132193,7 +131989,7 @@ index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a }; static inline struct vc4_crtc *to_vc4_crtc(struct drm_crtc *crtc) -@@ -181,6 +182,7 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, +@@ -180,6 +181,7 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, struct drm_plane_state *old_state) { struct vc4_dev *vc4 = to_vc4_dev(plane->dev); @@ -132201,7 +131997,7 @@ index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a struct drm_plane_state *state = plane->state; struct drm_framebuffer *fb = state->fb; struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); -@@ -201,6 +203,12 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, +@@ -200,6 +202,12 @@ static void vc4_cursor_plane_atomic_update(struct drm_plane *plane, bo->paddr + fb->offsets[0], fb->pitches[0]); @@ -132214,7 +132010,7 @@ index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a ret = rpi_firmware_property(vc4->firmware, RPI_FIRMWARE_SET_CURSOR_STATE, &packet_state, -@@ -643,6 +651,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) +@@ -642,6 +650,15 @@ static int vc4_fkms_bind(struct device *dev, struct device *master, void *data) if (ret) goto err_destroy_connector; @@ -132231,39 +132027,10 @@ index eb97443533c5a8fb5e142541adb1165b55e32aea..aa0ab7bcd904b775f64045c4d5baf39a return 0; -From e425879c4cfe5b16a2e3b8040b874f2569758fcc Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Mon, 15 May 2017 09:28:36 -0700 -Subject: [PATCH 123/182] drm/vc4: Mark the device as active when enabling - runtime PM. - -Failing to do so meant that we got a resume() callback on first use of -the device, so we would leak the bin BO that we allocated during -probe. - -Signed-off-by: Eric Anholt -Fixes: 553c942f8b2c ("drm/vc4: Allow using more than 256MB of CMA memory.") ---- - drivers/gpu/drm/vc4/vc4_v3d.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/drivers/gpu/drm/vc4/vc4_v3d.c b/drivers/gpu/drm/vc4/vc4_v3d.c -index 7cc346ad9b0baed63701d1fae8f0306aa7713129..c82326ff994d03719a66d42f8f9ac0e2e6570aa8 100644 ---- a/drivers/gpu/drm/vc4/vc4_v3d.c -+++ b/drivers/gpu/drm/vc4/vc4_v3d.c -@@ -222,6 +222,7 @@ static int vc4_v3d_bind(struct device *dev, struct device *master, void *data) - return ret; - } - -+ pm_runtime_set_active(dev); - pm_runtime_use_autosuspend(dev); - pm_runtime_set_autosuspend_delay(dev, 40); /* a little over 2 frames. */ - pm_runtime_enable(dev); - -From 220773b419dc77c0614f1f06395b367a6c5a615b Mon Sep 17 00:00:00 2001 +From c024cb2b925aef28e7826b6e54f14c1e0a5c8bf3 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 16 May 2017 14:39:49 +0100 -Subject: [PATCH 124/182] mmc: Change downstream MMC driver CONFIG option +Subject: [PATCH 122/170] mmc: Change downstream MMC driver CONFIG option The upstream SDHOST driver has now claimed CONFIG_MMC_BCM2835, which clashes with the downstream MMC driver. Rename the downstream option to @@ -132276,7 +132043,7 @@ Signed-off-by: Phil Elwell 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index 6300af1eff1a52608455682fdc412c96e8438ad4..e577d20963bcb1f61756d5d7050328b967b522d4 100644 +index 64bd7825131d3dcb003e7ece581b8d599a717b31..d47cce77c0551d78fa51f50e2c8086f26c7b9e56 100644 --- a/drivers/mmc/host/Kconfig +++ b/drivers/mmc/host/Kconfig @@ -4,7 +4,7 @@ @@ -132298,7 +132065,7 @@ index 6300af1eff1a52608455682fdc412c96e8438ad4..e577d20963bcb1f61756d5d7050328b9 Enable DMA support on the Arasan SDHCI controller in Broadcom 2708 based chips. diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile -index f4b8951af214fd0b0392d4fb38b29a0b41c7340e..d352fabf6b61c803fef3e10f974214bf5e48d270 100644 +index cd3a47d8965958ccf3ac3d186a05bbd437494154..9ba643d3b2e12960f5ce4b0eb5d75c1c360980ce 100644 --- a/drivers/mmc/host/Makefile +++ b/drivers/mmc/host/Makefile @@ -18,7 +18,7 @@ obj-$(CONFIG_MMC_SDHCI_S3C) += sdhci-s3c.o @@ -132311,10 +132078,10 @@ index f4b8951af214fd0b0392d4fb38b29a0b41c7340e..d352fabf6b61c803fef3e10f974214bf obj-$(CONFIG_MMC_WBSD) += wbsd.o obj-$(CONFIG_MMC_AU1X) += au1xmmc.o -From 3ecc22b427a0f5793da56769863e389b71821a03 Mon Sep 17 00:00:00 2001 +From 8a976daca9dd6b5ba7a4bc9208cc97278f108980 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 19:34:52 +0100 -Subject: [PATCH 125/182] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF +Subject: [PATCH 123/170] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132322,10 +132089,10 @@ Subject: [PATCH 125/182] config: Add CONFIG_I2C_ROBOTFUZZ_OSIF 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 90713b5b0d1ccd80abf420e8ba1bd24a7ad5c5a6..ef4f52539bc903ce1e3543d3104adac7dbf36a8a 100644 +index 93cdfa4ce3e7d3ff9f437a05a9ee6bcf4b895a20..4afeb9120a1d8411648c9ac685665aeb395af448 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -613,6 +613,7 @@ CONFIG_I2C_MUX_PCA954x=m +@@ -614,6 +614,7 @@ CONFIG_I2C_MUX_PCA954x=m CONFIG_I2C_BCM2708=m CONFIG_I2C_BCM2835=m CONFIG_I2C_GPIO=m @@ -132334,7 +132101,7 @@ index 90713b5b0d1ccd80abf420e8ba1bd24a7ad5c5a6..ef4f52539bc903ce1e3543d3104adac7 CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index ace19d6f5bc04091130bd28b65ce25e863117a43..17952377907afac28fd982ca2f9102067a062d6e 100644 +index 29fd2abc2cbfcaed37cb630b5edffaa5b4994f6e..05d6d108cb2d013588ccc971c83dcd212308f230 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -610,6 +610,7 @@ CONFIG_I2C_MUX_PCA954x=m @@ -132346,10 +132113,10 @@ index ace19d6f5bc04091130bd28b65ce25e863117a43..17952377907afac28fd982ca2f910206 CONFIG_SPI_BCM2835=m CONFIG_SPI_BCM2835AUX=m -From 6ef7e423df8169313f8b70aa7cc41ed79cee103e Mon Sep 17 00:00:00 2001 +From 1bd21494617a8bbf8e500293f772190205cc9aa9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Thu, 18 May 2017 11:40:43 +0100 -Subject: [PATCH 126/182] config: Add FB_TFT_ST7789V module +Subject: [PATCH 124/170] config: Add FB_TFT_ST7789V module --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132357,10 +132124,10 @@ Subject: [PATCH 126/182] config: Add FB_TFT_ST7789V module 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index ef4f52539bc903ce1e3543d3104adac7dbf36a8a..13b653b438bd5c087b1744c5633a930bd0a2abee 100644 +index 4afeb9120a1d8411648c9ac685665aeb395af448..cdf0206ea890c3843542f8f1db546e93e9a1f8ba 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -1140,6 +1140,7 @@ CONFIG_FB_TFT_SSD1306=m +@@ -1138,6 +1138,7 @@ CONFIG_FB_TFT_SSD1306=m CONFIG_FB_TFT_SSD1331=m CONFIG_FB_TFT_SSD1351=m CONFIG_FB_TFT_ST7735R=m @@ -132369,10 +132136,10 @@ index ef4f52539bc903ce1e3543d3104adac7dbf36a8a..13b653b438bd5c087b1744c5633a930b CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1701=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 17952377907afac28fd982ca2f9102067a062d6e..ef7bfc431c43eec6deb7c52e8cdac31794ccccbe 100644 +index 05d6d108cb2d013588ccc971c83dcd212308f230..54175b3c558e89d56b7d65752bccc6bdaebcfd5a 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1148,6 +1148,7 @@ CONFIG_FB_TFT_SSD1306=m +@@ -1145,6 +1145,7 @@ CONFIG_FB_TFT_SSD1306=m CONFIG_FB_TFT_SSD1331=m CONFIG_FB_TFT_SSD1351=m CONFIG_FB_TFT_ST7735R=m @@ -132381,10 +132148,10 @@ index 17952377907afac28fd982ca2f9102067a062d6e..ef7bfc431c43eec6deb7c52e8cdac317 CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1701=m -From 6f5d09d36183bc1157e5bfd02459600e1dabdd66 Mon Sep 17 00:00:00 2001 +From 95660cf6e5f998dd42156ebb4d53461953a18a4a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Thu, 18 May 2017 15:36:46 +0100 -Subject: [PATCH 127/182] staging: bcm2835-audio: Fix memory corruption +Subject: [PATCH 125/170] staging: bcm2835-audio: Fix memory corruption I'm all for fixing memory leaks, but freeing a block while it is still being used is a recipe for hard-to-debug kernel exeptions. @@ -132419,10 +132186,10 @@ index 5f3d8f2339e34834d11edfa8de1d5819e3e32b4f..89f96f3c02805f4114ec9b488e18d00e return ret; } -From 38fbeabecdec09e74e65c74cdb4966bb0b6b6b0f Mon Sep 17 00:00:00 2001 +From 726c19c3fcc87f39e436544977ffb570f5491950 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 15 May 2017 16:40:05 +0100 -Subject: [PATCH 128/182] config: Add CONFIG_TOUCHSCREEN_GOODIX +Subject: [PATCH 126/170] config: Add CONFIG_TOUCHSCREEN_GOODIX --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132430,7 +132197,7 @@ Subject: [PATCH 128/182] config: Add CONFIG_TOUCHSCREEN_GOODIX 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 13b653b438bd5c087b1744c5633a930bd0a2abee..42ee45748f6a6c0f841c8b350a79e21dbf704002 100644 +index cdf0206ea890c3843542f8f1db546e93e9a1f8ba..2624359759f0318290287c6201cf7e511367128d 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -566,6 +566,7 @@ CONFIG_INPUT_TOUCHSCREEN=y @@ -132442,10 +132209,10 @@ index 13b653b438bd5c087b1744c5633a930bd0a2abee..42ee45748f6a6c0f841c8b350a79e21d CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index ef7bfc431c43eec6deb7c52e8cdac31794ccccbe..573cbd71ca0990b7a7e48fa3bbc98eec2d3d776f 100644 +index 54175b3c558e89d56b7d65752bccc6bdaebcfd5a..1d2d27cb950b5e799370b7ca557f4bcb2508169b 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -561,7 +561,6 @@ CONFIG_JOYSTICK_RPISENSE=m +@@ -560,7 +560,6 @@ CONFIG_JOYSTICK_RPISENSE=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_EGALAX=m @@ -132454,10 +132221,10 @@ index ef7bfc431c43eec6deb7c52e8cdac31794ccccbe..573cbd71ca0990b7a7e48fa3bbc98eec CONFIG_TOUCHSCREEN_RPI_FT5406=m CONFIG_TOUCHSCREEN_USB_COMPOSITE=m -From 7c9b8bdb3290317c3ea47ae5e944bfcf1e2c32fd Mon Sep 17 00:00:00 2001 +From b2fee7ed24e989cd49ea845b750f7c6429955fc4 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 16 May 2017 15:58:00 +0100 -Subject: [PATCH 129/182] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 +Subject: [PATCH 127/170] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132465,7 +132232,7 @@ Subject: [PATCH 129/182] config: Add CONFIG_TOUCHSCREEN_EDT_FT5X06 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 42ee45748f6a6c0f841c8b350a79e21dbf704002..1fb167c8c475a84b232faac792a53a298c0a1c7d 100644 +index 2624359759f0318290287c6201cf7e511367128d..e1855e95ad612c5c615da8edd90b9b6cfd4e0807 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -567,6 +567,7 @@ CONFIG_TOUCHSCREEN_ADS7846=m @@ -132477,10 +132244,10 @@ index 42ee45748f6a6c0f841c8b350a79e21dbf704002..1fb167c8c475a84b232faac792a53a29 CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 573cbd71ca0990b7a7e48fa3bbc98eec2d3d776f..6c4d62cdea7e4ed642e265861c6f1c1a964e331c 100644 +index 1d2d27cb950b5e799370b7ca557f4bcb2508169b..de0b998202e23eec39fafce0e8cd346e68817f6c 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -562,6 +562,7 @@ CONFIG_INPUT_TOUCHSCREEN=y +@@ -561,6 +561,7 @@ CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_EGALAX=m CONFIG_TOUCHSCREEN_GOODIX=m @@ -132489,10 +132256,10 @@ index 573cbd71ca0990b7a7e48fa3bbc98eec2d3d776f..6c4d62cdea7e4ed642e265861c6f1c1a CONFIG_TOUCHSCREEN_USB_COMPOSITE=m CONFIG_TOUCHSCREEN_STMPE=m -From b0b768fb98adb90a6c071b60beb34d28605715b2 Mon Sep 17 00:00:00 2001 +From e425583cb6b6ae33621054640c641d828cfc01a9 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 13:35:28 +0100 -Subject: [PATCH 130/182] config: Add CONFIG_IPV6_SIT_6RD +Subject: [PATCH 128/170] config: Add CONFIG_IPV6_SIT_6RD --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132500,10 +132267,10 @@ Subject: [PATCH 130/182] config: Add CONFIG_IPV6_SIT_6RD 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 1fb167c8c475a84b232faac792a53a298c0a1c7d..396024805e978d4da448c59efba01f0b747dc65e 100644 +index e1855e95ad612c5c615da8edd90b9b6cfd4e0807..43928722d8f751b137d40ac22ae672bc6282c091 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -105,6 +105,7 @@ CONFIG_IPV6_ROUTER_PREF=y +@@ -106,6 +106,7 @@ CONFIG_IPV6_ROUTER_PREF=y CONFIG_INET6_AH=m CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m @@ -132512,7 +132279,7 @@ index 1fb167c8c475a84b232faac792a53a298c0a1c7d..396024805e978d4da448c59efba01f0b CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 6c4d62cdea7e4ed642e265861c6f1c1a964e331c..676dfebfbab8f1cba521bc032b8d21371c38abfa 100644 +index de0b998202e23eec39fafce0e8cd346e68817f6c..c4d82bec0aefc191c6049500fbeda6ea0a47f590 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -101,6 +101,7 @@ CONFIG_IPV6_ROUTER_PREF=y @@ -132524,10 +132291,10 @@ index 6c4d62cdea7e4ed642e265861c6f1c1a964e331c..676dfebfbab8f1cba521bc032b8d2137 CONFIG_IPV6_MULTIPLE_TABLES=y CONFIG_IPV6_SUBTREES=y -From 52ed32e80094b3ae61ac8dfa71f33708c2dec6ce Mon Sep 17 00:00:00 2001 +From 5a5d0ac4609b1d3b91cce03f05fccc6ec5bc8623 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 22 May 2017 15:28:27 +0100 -Subject: [PATCH 131/182] config: Add CONFIG_IPV6_ROUTE_INFO +Subject: [PATCH 129/170] config: Add CONFIG_IPV6_ROUTE_INFO --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -132535,10 +132302,10 @@ Subject: [PATCH 131/182] config: Add CONFIG_IPV6_ROUTE_INFO 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 396024805e978d4da448c59efba01f0b747dc65e..aacd9619f45cd0924f0b80a7d035ae03273d93ce 100644 +index 43928722d8f751b137d40ac22ae672bc6282c091..ba89462cf80f17e6275c1e7912d754d672d4c68d 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -102,6 +102,7 @@ CONFIG_TCP_CONG_ADVANCED=y +@@ -103,6 +103,7 @@ CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BBR=m CONFIG_IPV6=m CONFIG_IPV6_ROUTER_PREF=y @@ -132547,7 +132314,7 @@ index 396024805e978d4da448c59efba01f0b747dc65e..aacd9619f45cd0924f0b80a7d035ae03 CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 676dfebfbab8f1cba521bc032b8d21371c38abfa..4ae560370a972b9c56e8af38a537b1dbebd5488a 100644 +index c4d82bec0aefc191c6049500fbeda6ea0a47f590..7d3522df2b28e53cb63a0813168918792b65becb 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -98,6 +98,7 @@ CONFIG_TCP_CONG_ADVANCED=y @@ -132559,186 +132326,10 @@ index 676dfebfbab8f1cba521bc032b8d21371c38abfa..4ae560370a972b9c56e8af38a537b1db CONFIG_INET6_ESP=m CONFIG_INET6_IPCOMP=m -From ba57c3d94b12c1d42fb053729a768c8ea20a650a Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 26 Apr 2017 17:28:47 +0100 -Subject: [PATCH 132/182] clk: bcm2835: Limit PCM clock to OSC and PLLD_PER - -It is unwise to use sources other than the oscillator and PLLD_PER for -the PCM peripheral (and perhaps others - TBD) because their rate can -change and they may even be switched off, so explicitly restrict the -choice using dummy entries in the list of potential parents (item index -is significant). - -See: https://github.com/raspberrypi/linux/issues/1949 - -Signed-off-by: Phil Elwell ---- - drivers/clk/bcm/clk-bcm2835.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index fe3298b54cdfb96bd90fb4f39e13921d2e1d4356..c24b4defb2b046e4ecdc109befc2b22497060647 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1562,6 +1562,16 @@ static const char *const bcm2835_clock_per_parents[] = { - "pllh_aux", - }; - -+static const char *const bcm2835_pcm_per_parents[] = { -+ "-", -+ "xosc", -+ "-", -+ "-", -+ "-", -+ "-", -+ "plld_per", -+}; -+ - #define REGISTER_PER_CLK(...) REGISTER_CLK( \ - .num_mux_parents = ARRAY_SIZE(bcm2835_clock_per_parents), \ - .parents = bcm2835_clock_per_parents, \ -@@ -2051,6 +2061,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { - .int_bits = 12, - .frac_bits = 12, - .is_mash_clock = true, -+ .parents = bcm2835_pcm_per_parents, - .tcnt_mux = 23), - [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( - .name = "pwm", - -From d4f3e3903c2d467a0c1dab4e17fc153c83bcb170 Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Mon, 22 May 2017 13:56:41 +0100 -Subject: [PATCH 133/182] clk: bcm2835: Minimise clock jitter for PCM clock - -Fractional clock dividers generate accurate average frequencies but -with jitter, particularly when the integer divisor is small. - -Introduce a new metric of clock accuracy to penalise clocks with a good -average but worse jitter compared to clocks with an average which is no -better but with lower jitter. The metric is the ideal rate minus the -worse deviation from that ideal using the nearest integer divisors. - -Use this metric for parent selection for clocks requiring low jitter -(currently just PCM). - -Signed-off-by: Phil Elwell ---- - drivers/clk/bcm/clk-bcm2835.c | 39 ++++++++++++++++++++++++++++++++++----- - 1 file changed, 34 insertions(+), 5 deletions(-) - -diff --git a/drivers/clk/bcm/clk-bcm2835.c b/drivers/clk/bcm/clk-bcm2835.c -index c24b4defb2b046e4ecdc109befc2b22497060647..db3ba74acf78f4dfec0d2206b58bc7c3a09f72fe 100644 ---- a/drivers/clk/bcm/clk-bcm2835.c -+++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -534,6 +534,7 @@ struct bcm2835_clock_data { - - bool is_vpu_clock; - bool is_mash_clock; -+ bool low_jitter; - - u32 tcnt_mux; - }; -@@ -1154,7 +1155,8 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - int parent_idx, - unsigned long rate, - u32 *div, -- unsigned long *prate) -+ unsigned long *prate, -+ unsigned long *avgrate) - { - struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); - struct bcm2835_cprman *cprman = clock->cprman; -@@ -1166,11 +1168,33 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - parent = clk_hw_get_parent_by_index(hw, parent_idx); - - if (!(BIT(parent_idx) & data->set_rate_parent)) { -+ unsigned long tmp_rate; -+ - *prate = clk_hw_get_rate(parent); - *div = bcm2835_clock_choose_div(hw, rate, *prate, true); - -- return bcm2835_clock_rate_from_divisor(clock, *prate, -- *div); -+ tmp_rate = bcm2835_clock_rate_from_divisor(clock, *prate, *div); -+ *avgrate = tmp_rate; -+ -+ if (data->low_jitter && (*div & CM_DIV_FRAC_MASK)) { -+ unsigned long high, low; -+ u32 idiv = *div & ~CM_DIV_FRAC_MASK; -+ -+ high = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ idiv += CM_DIV_FRAC_MASK + 1; -+ low = bcm2835_clock_rate_from_divisor(clock, *prate, -+ idiv); -+ -+ /* Return a value which is the maximum deviation -+ * below the ideal rate, for use as a metric. -+ */ -+ if ((tmp_rate - low) < (high - tmp_rate)) -+ tmp_rate = low; -+ else -+ tmp_rate -= high - tmp_rate; -+ } -+ return tmp_rate; - } - - if (data->frac_bits) -@@ -1197,6 +1221,7 @@ static unsigned long bcm2835_clock_choose_div_and_prate(struct clk_hw *hw, - - *div = curdiv << CM_DIV_FRAC_BITS; - *prate = curdiv * best_rate; -+ *avgrate = best_rate; - - return best_rate; - } -@@ -1208,6 +1233,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - bool current_parent_is_pllc; - unsigned long rate, best_rate = 0; - unsigned long prate, best_prate = 0; -+ unsigned long avgrate, best_avgrate = 0; - size_t i; - u32 div; - -@@ -1232,11 +1258,13 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - continue; - - rate = bcm2835_clock_choose_div_and_prate(hw, i, req->rate, -- &div, &prate); -+ &div, &prate, -+ &avgrate); - if (rate > best_rate && rate <= req->rate) { - best_parent = parent; - best_prate = prate; - best_rate = rate; -+ best_avgrate = avgrate; - } - } - -@@ -1246,7 +1274,7 @@ static int bcm2835_clock_determine_rate(struct clk_hw *hw, - req->best_parent_hw = best_parent; - req->best_parent_rate = best_prate; - -- req->rate = best_rate; -+ req->rate = best_avgrate; - - return 0; - } -@@ -2061,6 +2089,7 @@ static const struct bcm2835_clk_desc clk_desc_array[] = { - .int_bits = 12, - .frac_bits = 12, - .is_mash_clock = true, -+ .low_jitter = true, - .parents = bcm2835_pcm_per_parents, - .tcnt_mux = 23), - [BCM2835_CLOCK_PWM] = REGISTER_PER_CLK( - -From b67a47a57c995108badf15adfff961021edb927e Mon Sep 17 00:00:00 2001 +From 94f05ebd018b9e0fdfc66f658916462d6282203c Mon Sep 17 00:00:00 2001 From: P33M Date: Thu, 25 May 2017 16:04:53 +0100 -Subject: [PATCH 134/182] dwc_otg: make periodic scheduling behave properly for +Subject: [PATCH 130/170] dwc_otg: make periodic scheduling behave properly for FS buses If the root port is in full-speed mode, transfer times at 12mbit/s @@ -132909,86 +132500,10 @@ index 85a6d431ca54b47dc10573aa72d1ad69d06f2e36..4b1dd9de99e9e08b2e006fb5f8a7ef92 status = check_max_xfer_size(hcd, qh); if (status) { -From 7472fd53804ddcb4efe8a59215160224310b2d6b Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Fri, 19 May 2017 16:07:23 +0100 -Subject: [PATCH 135/182] serial: 8250: Add CAP_MINI, set for bcm2835aux - -commit d087e7a991f1f61ee2c07db1be7c5cc2aa373f5d upstream. - -The AUX/mini-UART in the BCM2835 family of procesors is a cut-down -8250 clone. In particular it is lacking support for the following -features: CSTOPB PARENB PARODD CMSPAR CS5 CS6 - -Add a new capability (UART_CAP_MINI) that exposes the restrictions to -the user of the termios API by turning off the unsupported features in -the request. - -N.B. It is almost possible to automatically discover the missing -features by reading back the LCR register, but the CSIZE bits don't -cooperate (contrary to the documentation, both bits are significant, -but CS5 and CS6 are mapped to CS7) and the code is much longer. - -See: https://github.com/raspberrypi/linux/issues/1561 - -Signed-off-by: Phil Elwell -Acked-by: Eric Anholt -Signed-off-by: Greg Kroah-Hartman ---- - drivers/tty/serial/8250/8250.h | 3 +++ - drivers/tty/serial/8250/8250_bcm2835aux.c | 2 +- - drivers/tty/serial/8250/8250_port.c | 6 ++++++ - 3 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h -index ce8d4ffcc425b045377305f176aa8fa85af0068f..b2bdc35f74955fe134606ad9103811d227de8abf 100644 ---- a/drivers/tty/serial/8250/8250.h -+++ b/drivers/tty/serial/8250/8250.h -@@ -81,6 +81,9 @@ struct serial8250_config { - #define UART_CAP_HFIFO (1 << 14) /* UART has a "hidden" FIFO */ - #define UART_CAP_RPM (1 << 15) /* Runtime PM is active while idle */ - #define UART_CAP_IRDA (1 << 16) /* UART supports IrDA line discipline */ -+#define UART_CAP_MINI (1 << 17) /* Mini UART on BCM283X family lacks: -+ * STOP PARITY EPAR SPAR WLEN5 WLEN6 -+ */ - - #define UART_BUG_QUOT (1 << 0) /* UART has buggy quot LSB */ - #define UART_BUG_TXEN (1 << 1) /* UART has buggy TX IIR status */ -diff --git a/drivers/tty/serial/8250/8250_bcm2835aux.c b/drivers/tty/serial/8250/8250_bcm2835aux.c -index e10f1244409b344b850ffbbd4af5757a66c875f1..a23c7da42ea81342efc26fb35a92a69d535b7cd0 100644 ---- a/drivers/tty/serial/8250/8250_bcm2835aux.c -+++ b/drivers/tty/serial/8250/8250_bcm2835aux.c -@@ -39,7 +39,7 @@ static int bcm2835aux_serial_probe(struct platform_device *pdev) - - /* initialize data */ - spin_lock_init(&data->uart.port.lock); -- data->uart.capabilities = UART_CAP_FIFO; -+ data->uart.capabilities = UART_CAP_FIFO | UART_CAP_MINI; - data->uart.port.dev = &pdev->dev; - data->uart.port.regshift = 2; - data->uart.port.type = PORT_16550; -diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index 68fd045a7025047726860547ecd661b95d61ac80..af954e278d78002cc5d07086dcc69608ac3019ee 100644 ---- a/drivers/tty/serial/8250/8250_port.c -+++ b/drivers/tty/serial/8250/8250_port.c -@@ -2585,6 +2585,12 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios, - unsigned long flags; - unsigned int baud, quot, frac = 0; - -+ if (up->capabilities & UART_CAP_MINI) { -+ termios->c_cflag &= ~(CSTOPB | PARENB | PARODD | CMSPAR); -+ if ((termios->c_cflag & CSIZE) == CS5 || -+ (termios->c_cflag & CSIZE) == CS6) -+ termios->c_cflag = (termios->c_cflag & ~CSIZE) | CS7; -+ } - cval = serial8250_compute_lcr(up, termios->c_cflag); - - baud = serial8250_get_baud_rate(port, termios, old); - -From d8415b8d62b470f159aaf92e4e411665d7975f9a Mon Sep 17 00:00:00 2001 +From 6fd3ce5d5184da5a811fc2d4658ad52f77d23188 Mon Sep 17 00:00:00 2001 From: P33M Date: Fri, 26 May 2017 12:50:31 +0100 -Subject: [PATCH 136/182] dwc_otg: fiq_fsm: Make isochronous compatibility +Subject: [PATCH 131/170] dwc_otg: fiq_fsm: Make isochronous compatibility checks work properly Get rid of the spammy printk and local pointer mangling. @@ -133052,10 +132567,10 @@ index 38bf5fc792d32352f9e208e0e90f968599b9bc31..71834cf365e67d7ad995bba7869216c4 return 1; } -From 0c1e07dd58ec4f2e47e594e9818260e871259c7e Mon Sep 17 00:00:00 2001 +From 195137f4002af8d79f99301676d72024f377bee0 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Mon, 12 Jun 2017 13:05:43 +0100 -Subject: [PATCH 137/182] config: Add CONFIG_CAN_GS_USB +Subject: [PATCH 132/170] config: Add CONFIG_CAN_GS_USB --- arch/arm/configs/bcm2709_defconfig | 1 + @@ -133063,10 +132578,10 @@ Subject: [PATCH 137/182] config: Add CONFIG_CAN_GS_USB 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index aacd9619f45cd0924f0b80a7d035ae03273d93ce..5b0f11690132f4ac3fe936b409ef79c188b3ac85 100644 +index ba89462cf80f17e6275c1e7912d754d672d4c68d..fd6d3980bc003801a6868e6098f3868a2544573f 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -361,6 +361,7 @@ CONFIG_CAN=m +@@ -362,6 +362,7 @@ CONFIG_CAN=m CONFIG_CAN_VCAN=m CONFIG_CAN_SLCAN=m CONFIG_CAN_MCP251X=m @@ -133075,7 +132590,7 @@ index aacd9619f45cd0924f0b80a7d035ae03273d93ce..5b0f11690132f4ac3fe936b409ef79c1 CONFIG_IRLAN=m CONFIG_IRNET=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 4ae560370a972b9c56e8af38a537b1dbebd5488a..8894ef2ed78968ea56d83d56ba4d770b45bba5c2 100644 +index 7d3522df2b28e53cb63a0813168918792b65becb..bf0d3fd830a0a0cc9443ef52e7f167eb704ed152 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -357,6 +357,7 @@ CONFIG_CAN=m @@ -133087,10 +132602,10 @@ index 4ae560370a972b9c56e8af38a537b1dbebd5488a..8894ef2ed78968ea56d83d56ba4d770b CONFIG_IRLAN=m CONFIG_IRNET=m -From e4242be20343a0b92a4b6d776a7d504e31603853 Mon Sep 17 00:00:00 2001 +From 2188e52b04140fdf9980d0b7dcd38a713041e6e5 Mon Sep 17 00:00:00 2001 From: P33M Date: Mon, 12 Jun 2017 16:10:03 +0100 -Subject: [PATCH 138/182] dwc_otg: add module parameter int_ep_interval_min +Subject: [PATCH 133/170] dwc_otg: add module parameter int_ep_interval_min Add a module parameter (defaulting to ignored) that clamps the polling rate of high-speed Interrupt endpoints to a minimum microframe interval. @@ -133172,10 +132687,10 @@ index 4b1dd9de99e9e08b2e006fb5f8a7ef92f20c2553..fe8e8f841f03660c2ad49ab8e66193be DWC_DEBUGPL(DBG_HCD, "DWC OTG HCD QH Initialized\n"); -From 3e3083b088a1502bedc9a842e88abbd28c270bfb Mon Sep 17 00:00:00 2001 +From 0c6744c351018ceecd3fee384dfc1644812c825c Mon Sep 17 00:00:00 2001 From: P33M Date: Tue, 20 Jun 2017 13:44:01 +0100 -Subject: [PATCH 139/182] dwc_otg: fiq_fsm: Add non-periodic TT exclusivity +Subject: [PATCH 134/170] dwc_otg: fiq_fsm: Add non-periodic TT exclusivity constraints Certain hub types do not discriminate between pipe direction (IN or OUT) @@ -133342,57 +132857,10 @@ index 71834cf365e67d7ad995bba7869216c4091c3a74..7710370b30363e3170bf9bf522597c5f st->fsm = FIQ_PER_SSPLIT_STARTED; } else { -From 7bc88d4246d2a4230b5bd0e13191eb256807b17e Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 21 Jun 2017 17:19:04 +0100 -Subject: [PATCH 140/182] serial: 8250: Fix THRE flag usage for CAP_MINI - -The BCM2835 MINI UART has non-standard THRE semantics. Conventionally -the bit means that the FIFO is empty (although there may still be a -byte in the transmit register), but on 2835 it indicates that the FIFO -is not empty. This causes interrupts after every byte is transmitted, -with the FIFO providing some interrupt latency tolerance. - -A consequence of this difference is that the usual strategy of writing -multiple bytes into the TX FIFO after checking THRE once is unsafe. -In the worst case of 7 bytes in the FIFO, writing 8 bytes loses all -but the first since by then the FIFO is full. - -There is an HFIFO ("Hidden FIFO") bit which is almost what is needed, -but it only adds more bytes while both THRE and TEMT are set, i.e. -when the TX side is completely idle. This is unnecessarily pessimistic. - -Add a new special case, predicated on CAP_MINI, that loops until THRE -is no longer set. With this change, the FIFO fills quickly but -subsequent writes are paced by the transmission rate. - -See: https://github.com/raspberrypi/linux/issues/1855 - -Signed-off-by: Phil Elwell ---- - drivers/tty/serial/8250/8250_port.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c -index af954e278d78002cc5d07086dcc69608ac3019ee..877b1a848b5a44e196cab5bfd435467be48f3b10 100644 ---- a/drivers/tty/serial/8250/8250_port.c -+++ b/drivers/tty/serial/8250/8250_port.c -@@ -1764,6 +1764,10 @@ void serial8250_tx_chars(struct uart_8250_port *up) - if ((up->capabilities & UART_CAP_HFIFO) && - (serial_in(up, UART_LSR) & BOTH_EMPTY) != BOTH_EMPTY) - break; -+ /* The BCM2835 MINI UART THRE bit is really a not-full bit. */ -+ if ((up->capabilities & UART_CAP_MINI) && -+ !(serial_in(up, UART_LSR) & UART_LSR_THRE)) -+ break; - } while (--count > 0); - - if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) - -From 780249e09382ec7e024f2645d4300114c3dff9dc Mon Sep 17 00:00:00 2001 +From d113a6a205e2454542b13e99486fd311b1e0e07b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 26 May 2017 13:03:41 +0100 -Subject: [PATCH 141/182] BCM270X_DT: Add midi-uart1 overlay +Subject: [PATCH 135/170] BCM270X_DT: Add midi-uart1 overlay Add a scaler to the ttyS0 clock so that requesting 38400 baud results in an approximately 31250 baud signal. This is analagous to @@ -133490,10 +132958,10 @@ index 0000000000000000000000000000000000000000..e0bc410acbff3a7a175dd5d53b3ab0d0 + }; +}; -From a4927c9bd018b3d4723f80784020834b72e4d655 Mon Sep 17 00:00:00 2001 +From 978e1c753992a5a2ca57c535212cd7726781b44a Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sat, 20 May 2017 22:10:14 +0100 -Subject: [PATCH 142/182] overlays: README: remove vestigial SDIO parameters +Subject: [PATCH 136/170] overlays: README: remove vestigial SDIO parameters Signed-off-by: Phil Elwell --- @@ -133547,10 +133015,10 @@ index ec9e7b1941678796facf625b3770c20ed0b15b25..499cd1920fd373702cfbc9f6e0fcaebc (default on: polling once at boot-time) -From a053bc0f778966305cfb843b77847d85f7e8a8b7 Mon Sep 17 00:00:00 2001 +From 867470c51ca97ddf3059759a04ae4bf958050373 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Tue, 27 Jun 2017 15:07:14 +0100 -Subject: [PATCH 143/182] SQUASH: mmc: Apply ERASE_BROKEN quirks correctly +Subject: [PATCH 137/170] SQUASH: mmc: Apply ERASE_BROKEN quirks correctly Squash with: mmc: Add MMC_QUIRK_ERASE_BROKEN for some cards @@ -133580,10 +133048,10 @@ index 05c8d7381fff5ae88531129d9a5ddd554bddb43e..c9d5d644688c1509d7febcff0322fbab END_FIXUP }; -From d0b6109e2a461b616084ae8bf6a0f87e58530148 Mon Sep 17 00:00:00 2001 +From 2e33d3d701cfb451aa9229669e01c57bbfdba1aa Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 11:34:26 +0200 -Subject: [PATCH 144/182] ASoC: bcm2835: Add support for TDM modes +Subject: [PATCH 138/170] ASoC: bcm2835: Add support for TDM modes bcm2835 supports arbitrary positioning of channel data within a frame and thus is capable of supporting TDM modes. Since @@ -133985,10 +133453,10 @@ index 56df7d8a43d0aac055a91b0d24aca8e1b4e308e4..dcacf7f83c9371df539a788ea33fedcf dev->dev = &pdev->dev; dev_set_drvdata(&pdev->dev, dev); -From 3f1cda57c94fb4034d022543687145b7a3c6347c Mon Sep 17 00:00:00 2001 +From 9da6a8239fa1d363a757b5442c66362b630cf12f Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 15:30:50 +0200 -Subject: [PATCH 145/182] ASoC: bcm2835: Support left/right justified and DSP +Subject: [PATCH 139/170] ASoC: bcm2835: Support left/right justified and DSP modes DSP modes and left/right justified modes can be supported @@ -134234,10 +133702,10 @@ index dcacf7f83c9371df539a788ea33fedcf97d64690..3a706fda4f39e42efbe12f19d87af9b1 } -From 12dd142e73aa44692c7d0d29a8ef07dba0c5acb9 Mon Sep 17 00:00:00 2001 +From 8a4d24d1f6109c7c6a6628541c1d1b7bb88dfb98 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:19:54 +0200 -Subject: [PATCH 146/182] ASoC: bcm2835: Support additional samplerates up to +Subject: [PATCH 140/170] ASoC: bcm2835: Support additional samplerates up to 384kHz Sample rates are only restricted by the capabilities of the @@ -134280,10 +133748,10 @@ index 3a706fda4f39e42efbe12f19d87af9b100a348a5..43f5715a0d5dda851731ecf7ff27e76c | SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE -From e8eb5e7e58f0460ee5f7f74da0b4d93c0de93558 Mon Sep 17 00:00:00 2001 +From e3c6515ac970336c11df6c6e282df90a81096ecb Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Sun, 7 May 2017 16:24:57 +0200 -Subject: [PATCH 147/182] ASoC: bcm2835: Enforce full symmetry +Subject: [PATCH 141/170] ASoC: bcm2835: Enforce full symmetry bcm2835's configuration registers can't be changed when a stream is running, which means asymmetric configurations aren't supported. @@ -134319,10 +133787,10 @@ index 43f5715a0d5dda851731ecf7ff27e76c48fb6e57..2e449d7173fcecbcd647f90a26bd58b6 static bool bcm2835_i2s_volatile_reg(struct device *dev, unsigned int reg) -From 2c598ba743a6f93523ba434b720d20cdf1f950fc Mon Sep 17 00:00:00 2001 +From 1bf1093c52fe4ce1aaa8b0b7153ebc576e4771af Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Thu, 6 Jul 2017 18:52:16 +0200 -Subject: [PATCH 148/182] config: add missing arizona regulator modules +Subject: [PATCH 142/170] config: add missing arizona regulator modules In kernel 4.12 CONFIG_REGULATOR_ARIZONA was replaced by 2 separate options for LDO1 and MICSUPP regulators. Enable these, they are @@ -134338,7 +133806,7 @@ Signed-off-by: Matthias Reichl 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 5b0f11690132f4ac3fe936b409ef79c188b3ac85..822fa346cfdd35713e395433f1d6b9146af0dd4e 100644 +index fd6d3980bc003801a6868e6098f3868a2544573f..95da3daaf33c7cfab76f6af397e058e9ed8d998f 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig @@ -568,7 +568,6 @@ CONFIG_JOYSTICK_RPISENSE=m @@ -134349,7 +133817,7 @@ index 5b0f11690132f4ac3fe936b409ef79c188b3ac85..822fa346cfdd35713e395433f1d6b914 CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_EDT_FT5X06=m CONFIG_TOUCHSCREEN_RPI_FT5406=m -@@ -670,6 +669,8 @@ CONFIG_MFD_ARIZONA_SPI=m +@@ -671,6 +670,8 @@ CONFIG_MFD_ARIZONA_SPI=m CONFIG_MFD_WM5102=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=m @@ -134359,7 +133827,7 @@ index 5b0f11690132f4ac3fe936b409ef79c188b3ac85..822fa346cfdd35713e395433f1d6b914 CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 8894ef2ed78968ea56d83d56ba4d770b45bba5c2..7362d1a6e5759e45ebef3ba84a4454b86e69a901 100644 +index bf0d3fd830a0a0cc9443ef52e7f167eb704ed152..06d0520e332f21afaa27ac112c0eee6c36a9a9df 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -663,6 +663,8 @@ CONFIG_MFD_ARIZONA_SPI=m @@ -134372,10 +133840,10 @@ index 8894ef2ed78968ea56d83d56ba4d770b45bba5c2..7362d1a6e5759e45ebef3ba84a4454b8 CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -From 44ca069a828c9358be7f0118a50400adcceadaff Mon Sep 17 00:00:00 2001 +From 7948f2aaf784eaecc0c0daff151bab972eb9727d Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:20:59 +1000 -Subject: [PATCH 149/182] Audioinjector : make the octo and pi sound cards have +Subject: [PATCH 143/170] Audioinjector : make the octo and pi sound cards have different driver names This patch gives the audioinjector octo and pi soundcards different driver @@ -134412,10 +133880,10 @@ index ef54e0f07ea03f59e9957b5d98f3e7fdc998e469..491906bbf446826e55dd843f28e4860f .of_match_table = audioinjector_pi_soundcard_of_match, }, -From 6f0c00e5065857e3ffc45fdcd6f78510a2464130 Mon Sep 17 00:00:00 2001 +From db259dae847ee1630d4284016eb604224f063ea0 Mon Sep 17 00:00:00 2001 From: Matt Flax Date: Tue, 4 Apr 2017 19:23:04 +1000 -Subject: [PATCH 150/182] Audioinjector octo : Make the playback and capture +Subject: [PATCH 144/170] Audioinjector octo : Make the playback and capture symmetric This patch ensures that the sample rate and channel count of the audioinjector @@ -134438,10 +133906,10 @@ index 49115c8e20ce1a2ba5a99feb8983a1cafb052ca2..5e79f4eff93a21ed3495c77a90f73525 }; -From 541b4c8716a811bc735341846620e6d09009c113 Mon Sep 17 00:00:00 2001 +From 84c5b5c9940b001483b8be17621cb788d05441ab Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:36:53 +0100 -Subject: [PATCH 151/182] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor +Subject: [PATCH 145/170] BCM270X_DT: Add bme280 and bmp180 to i2c-sensor overlay Signed-off-by: Phil Elwell @@ -134515,10 +133983,10 @@ index 606b2d5012abf2e85712be631c42ea40a0b512c5..e23e34b32a0a8927c14203d7384e8008 lm75 = <&lm75>,"status"; lm75addr = <&lm75>,"reg:0"; -From 2b19c5aff14b1d71dbf1336fee242b63caae883c Mon Sep 17 00:00:00 2001 +From b81ef22c9ac29955283baa74d7121933c468c9ad Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Sun, 23 Apr 2017 19:38:06 +0100 -Subject: [PATCH 152/182] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) +Subject: [PATCH 146/170] config: Add CONFIG_BMP280 (and CONFIG_BMP280_I2C) Signed-off-by: Phil Elwell --- @@ -134527,10 +133995,10 @@ Signed-off-by: Phil Elwell 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 822fa346cfdd35713e395433f1d6b9146af0dd4e..102a7113c9b2a2232b5cbf8358ff37929dac324a 100644 +index 95da3daaf33c7cfab76f6af397e058e9ed8d998f..c86d93a0b103cf812f502088f31ec222f4dea90a 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -1172,6 +1172,7 @@ CONFIG_MCP320X=m +@@ -1170,6 +1170,7 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_DHT11=m CONFIG_HTU21=m @@ -134539,10 +134007,10 @@ index 822fa346cfdd35713e395433f1d6b9146af0dd4e..102a7113c9b2a2232b5cbf8358ff3792 CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 7362d1a6e5759e45ebef3ba84a4454b86e69a901..fab31f0fed0ec068e5249f4cebc34e48cfd29759 100644 +index 06d0520e332f21afaa27ac112c0eee6c36a9a9df..515f335d2a638de60d07a45df19ce52a7579f9ca 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1179,6 +1179,7 @@ CONFIG_MCP320X=m +@@ -1176,6 +1176,7 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_DHT11=m CONFIG_HTU21=m @@ -134551,10 +134019,10 @@ index 7362d1a6e5759e45ebef3ba84a4454b86e69a901..fab31f0fed0ec068e5249f4cebc34e48 CONFIG_PWM_PCA9685=m CONFIG_RASPBERRYPI_FIRMWARE=y -From 6f96eb72babea0f3104a7b67f3b69329c3f70862 Mon Sep 17 00:00:00 2001 +From 23d9fa144b01da2427316757df2de78a53c09c86 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 10:46:09 -0400 -Subject: [PATCH 153/182] config: Enable TI TMP102 temp sensor module +Subject: [PATCH 147/170] config: Enable TI TMP102 temp sensor module Signed-off-by: Scott Ellis --- @@ -134563,10 +134031,10 @@ Signed-off-by: Scott Ellis 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 102a7113c9b2a2232b5cbf8358ff37929dac324a..01a723db37ec09ec94256b1f35ff330ed0ee44f8 100644 +index c86d93a0b103cf812f502088f31ec222f4dea90a..5f5830fb19c497895c3e6d6e3a47e961fc84e09a 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -658,6 +658,7 @@ CONFIG_SENSORS_SHT21=m +@@ -659,6 +659,7 @@ CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHTC1=m CONFIG_SENSORS_ADS1015=m CONFIG_SENSORS_INA2XX=m @@ -134575,7 +134043,7 @@ index 102a7113c9b2a2232b5cbf8358ff37929dac324a..01a723db37ec09ec94256b1f35ff330e CONFIG_BCM2835_THERMAL=y CONFIG_WATCHDOG=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index fab31f0fed0ec068e5249f4cebc34e48cfd29759..91a5234a5884f24f1a656d297a3d906429477b5d 100644 +index 515f335d2a638de60d07a45df19ce52a7579f9ca..bfda35e4c4bce99b5125eab80f97c73a159de969 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -652,6 +652,7 @@ CONFIG_SENSORS_SHT21=m @@ -134587,10 +134055,10 @@ index fab31f0fed0ec068e5249f4cebc34e48cfd29759..91a5234a5884f24f1a656d297a3d9064 CONFIG_BCM2835_THERMAL=y CONFIG_WATCHDOG=y -From 42b637ac1940f5163bd481f7e4ead72a8abb0075 Mon Sep 17 00:00:00 2001 +From 8af6e93cfd057ae488966c797d9dab87567ff6f5 Mon Sep 17 00:00:00 2001 From: Scott Ellis Date: Tue, 25 Apr 2017 13:05:42 -0400 -Subject: [PATCH 154/182] BCM270X_DT: Add tmp102 to i2c sensor overlay +Subject: [PATCH 148/170] BCM270X_DT: Add tmp102 to i2c sensor overlay Signed-off-by: Scott Ellis --- @@ -134670,10 +134138,10 @@ index e23e34b32a0a8927c14203d7384e800878627347..e86a13f92c3f75c14fa4425cdfb081d6 }; }; -From ddcba1946d96f2ad384460fd19bf5730572f5a0b Mon Sep 17 00:00:00 2001 +From c2ba65f1b912e73d3a48519900fb817c7fa3eb87 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 8 May 2017 16:43:40 +0100 -Subject: [PATCH 155/182] irq_bcm2836: Send event when onlining sleeping cores +Subject: [PATCH 149/170] irq_bcm2836: Send event when onlining sleeping cores In order to reduce power consumption and bus traffic, it is sensible for secondary cores to enter a low-power idle state when waiting to @@ -134709,10 +134177,10 @@ index 9a7ee04ee0d9b7aa734cf3159ed59c19a338de0d..014f13f89eb896f5cfc75ed9891787d0 } -From 08d93f1131a9f21a3f6e97b08ddbe2888059de91 Mon Sep 17 00:00:00 2001 +From 2c75863d1475e94bab5828588910f99b2a5f8726 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Mon, 15 May 2017 17:10:53 +0200 -Subject: [PATCH 156/182] overlays: Add Goodix overlay +Subject: [PATCH 150/170] overlays: Add Goodix overlay Add support for I2C connected Goodix gt9271 multiple touch controller using GPIOs 4 and 17 (pins 7 and 11 on GPIO header) for interrupt and reset. @@ -134809,10 +134277,10 @@ index 0000000000000000000000000000000000000000..084f74042ed6379ebd9281374d5391a7 + }; +}; -From bde03e214c39600d80181cf4e1e36cfeeddb388a Mon Sep 17 00:00:00 2001 +From 29872646fcb84eddd1f23e4d7e655bdc24ad860f Mon Sep 17 00:00:00 2001 From: chenzhiwo Date: Wed, 17 May 2017 16:34:57 +0800 -Subject: [PATCH 157/182] Add device tree overlay for GPIO connected rotary +Subject: [PATCH 151/170] Add device tree overlay for GPIO connected rotary encoder. See Documentation/input/rotary-encoder.txt for more information. --- @@ -134904,10 +134372,10 @@ index 0000000000000000000000000000000000000000..c0c6bccff60cc15d9a9bf59d2c7cba41 + }; +}; -From 9497dc5aa2fed5a7667e64aaeaf92c5b1dd71b62 Mon Sep 17 00:00:00 2001 +From 5b08e00db711a050f8c477207f2deda451a77cc3 Mon Sep 17 00:00:00 2001 From: Anton Onishchenko Date: Tue, 23 May 2017 18:55:46 +0300 -Subject: [PATCH 158/182] mpu6050 device tree overlay (#2031) +Subject: [PATCH 152/170] mpu6050 device tree overlay (#2031) Add overlay and config options for InvenSense MPU6050 6-axis motion detector. @@ -134984,10 +134452,10 @@ index 0000000000000000000000000000000000000000..06037969c3abba270b3cad45875342f3 + }; +}; diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 01a723db37ec09ec94256b1f35ff330ed0ee44f8..d015a84fcc96e7d05736943eb590115f4078c1c2 100644 +index 5f5830fb19c497895c3e6d6e3a47e961fc84e09a..b310e13042b20c709a8139d0b3973c3ed5f283cf 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -1166,13 +1166,12 @@ CONFIG_RASPBERRYPI_POWER=y +@@ -1164,13 +1164,12 @@ CONFIG_RASPBERRYPI_POWER=y CONFIG_EXTCON=m CONFIG_EXTCON_ARIZONA=m CONFIG_IIO=m @@ -135003,10 +134471,10 @@ index 01a723db37ec09ec94256b1f35ff330ed0ee44f8..d015a84fcc96e7d05736943eb590115f CONFIG_PWM_BCM2835=m CONFIG_PWM_PCA9685=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 91a5234a5884f24f1a656d297a3d906429477b5d..2a28b012696a955f4d275a9e0a9fa3e155e4a3c6 100644 +index bfda35e4c4bce99b5125eab80f97c73a159de969..a9841b71a4b633a81392c533578845d62f6aa78f 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -1173,13 +1173,12 @@ CONFIG_RASPBERRYPI_POWER=y +@@ -1170,13 +1170,12 @@ CONFIG_RASPBERRYPI_POWER=y CONFIG_EXTCON=m CONFIG_EXTCON_ARIZONA=m CONFIG_IIO=m @@ -135022,10 +134490,10 @@ index 91a5234a5884f24f1a656d297a3d906429477b5d..2a28b012696a955f4d275a9e0a9fa3e1 CONFIG_PWM_BCM2835=m CONFIG_PWM_PCA9685=m -From 1e2d6b3c7812ce7acf462c9f948f41bc30de11a6 Mon Sep 17 00:00:00 2001 +From ae09c757a3222aa12e277eed8106dbf739a6ba0c Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 May 2017 09:33:55 +0100 -Subject: [PATCH 159/182] config: Adding SENSOR_JC42 +Subject: [PATCH 153/170] config: Adding SENSOR_JC42 The jc42 module supports a number of I2C-based temperature sensor modules. @@ -135041,10 +134509,10 @@ Signed-off-by: Phil Elwell 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index d015a84fcc96e7d05736943eb590115f4078c1c2..3a41d3a47919046714fcd99db9aab51828ba005f 100644 +index b310e13042b20c709a8139d0b3973c3ed5f283cf..00845b52952479976b4fdfdc94a16a366d82ae7d 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -653,6 +653,7 @@ CONFIG_POWER_RESET=y +@@ -654,6 +654,7 @@ CONFIG_POWER_RESET=y CONFIG_POWER_RESET_GPIO=y CONFIG_BATTERY_DS2760=m CONFIG_HWMON=m @@ -135053,7 +134521,7 @@ index d015a84fcc96e7d05736943eb590115f4078c1c2..3a41d3a47919046714fcd99db9aab518 CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHTC1=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 2a28b012696a955f4d275a9e0a9fa3e155e4a3c6..706bd883dd345a8ad32d30386f7dcf1182fcfe85 100644 +index a9841b71a4b633a81392c533578845d62f6aa78f..2ba46a28c2e7b21a401cc3544353937eca44218d 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig @@ -647,6 +647,7 @@ CONFIG_POWER_RESET=y @@ -135065,10 +134533,10 @@ index 2a28b012696a955f4d275a9e0a9fa3e155e4a3c6..706bd883dd345a8ad32d30386f7dcf11 CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHTC1=m -From 299575b9297073769135faa0b54ed488d0616bd4 Mon Sep 17 00:00:00 2001 +From b654c60e316697a8602db8cf67843a2001bd7e97 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 31 May 2017 15:27:39 +0100 -Subject: [PATCH 160/182] BCM270X_DT: Improve i2c-sensor and i2c-rtc overlay +Subject: [PATCH 154/170] BCM270X_DT: Improve i2c-sensor and i2c-rtc overlay Use the "__dormant__" feature to permit multiple instances of each overlay, which is more useful now that changing the "reg" property @@ -135433,10 +134901,10 @@ index e86a13f92c3f75c14fa4425cdfb081d6795ff76a..d2f0008addfadac8f6ed774a6e4f3f97 }; }; -From b974ffbae4dc33de81acbfd49513672b41e083a2 Mon Sep 17 00:00:00 2001 +From 314c4f36caed919a4340eae708bdb49394a877b0 Mon Sep 17 00:00:00 2001 From: Stefan Tatschner Date: Mon, 29 May 2017 21:46:16 +0200 -Subject: [PATCH 161/182] Add device tree config for htu21 +Subject: [PATCH 155/170] Add device tree config for htu21 See: https://github.com/raspberrypi/linux/pull/2041 @@ -135518,10 +134986,10 @@ index d2f0008addfadac8f6ed774a6e4f3f97871c0d61..17c27e3b666a7a83619471b50c63bb93 }; }; -From 9720a2e4851ef590c787322c04cb8e0f8bed2b5f Mon Sep 17 00:00:00 2001 +From 62921b0be225c7eb764304b4c26ea53a670f791b Mon Sep 17 00:00:00 2001 From: sandeepal Date: Fri, 2 Jun 2017 18:59:46 +0530 -Subject: [PATCH 162/182] Allo Digione Driver (#2048) +Subject: [PATCH 156/170] Allo Digione Driver (#2048) Driver for the Allo Digione soundcard --- @@ -135617,10 +135085,10 @@ index 0000000000000000000000000000000000000000..101277a11a24e9b3eb441c44c3f19c61 + }; +}; diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 3a41d3a47919046714fcd99db9aab51828ba005f..bd26ebc59b14b8f4fe8b89992e507ee35ed75047 100644 +index 00845b52952479976b4fdfdc94a16a366d82ae7d..d2838cde4019be5f6faf0a70038c6365df9e6dde 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -894,6 +894,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m +@@ -892,6 +892,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m @@ -135629,10 +135097,10 @@ index 3a41d3a47919046714fcd99db9aab51828ba005f..bd26ebc59b14b8f4fe8b89992e507ee3 CONFIG_SND_PISOUND=m CONFIG_SND_SOC_ADAU1701=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 706bd883dd345a8ad32d30386f7dcf1182fcfe85..cead8c64336bb4ce9656bb20384069917695852d 100644 +index 2ba46a28c2e7b21a401cc3544353937eca44218d..efdb0fbc1b07c7b679cb20d8c1270c77d5d3c684 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -888,6 +888,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m +@@ -885,6 +885,7 @@ CONFIG_SND_BCM2708_SOC_DIONAUDIO_LOCO_V2=m CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC=m CONFIG_SND_BCM2708_SOC_ALLO_PIANO_DAC_PLUS=m CONFIG_SND_BCM2708_SOC_ALLO_BOSS_DAC=m @@ -135952,10 +135420,10 @@ index 0000000000000000000000000000000000000000..e3664e44c699d0102120ecf99e8b780a +MODULE_DESCRIPTION("ASoC Driver for Allo DigiOne"); +MODULE_LICENSE("GPL v2"); -From c38583a2a02d30d934c69a87852737a27520b848 Mon Sep 17 00:00:00 2001 +From 5cfdf59d77c26bb5ffa05b273b480d30ec0bc19e Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Mon, 5 Jun 2017 16:40:38 +0100 -Subject: [PATCH 163/182] dma-bcm2708: Fix module compilation of +Subject: [PATCH 157/170] dma-bcm2708: Fix module compilation of CONFIG_DMA_BCM2708 bcm2708-dmaengine.c defines functions like bcm_dma_start which are @@ -135998,10 +135466,10 @@ index c5bfff2765be4606077e6c8af73040ec13ee8974..6ca874d332a8bc666b1c9576ac51f479 #endif /* _PLAT_BCM2708_DMA_H */ -From 9eb7da638879009bb727cc2fbe9ed1a1c9b81f16 Mon Sep 17 00:00:00 2001 +From f63fa37a08ca98ab1cc802c98b4197f4bbeda851 Mon Sep 17 00:00:00 2001 From: popcornmix Date: Tue, 20 Jun 2017 17:51:47 +0100 -Subject: [PATCH 164/182] bcm2835-cpufreq: Change licence to GPLv2 +Subject: [PATCH 158/170] bcm2835-cpufreq: Change licence to GPLv2 Signed-off-by: Eben Upton Signed-off-by: Dom Cobley @@ -136054,10 +135522,10 @@ index 414fbdc10dfbfc6e4bb47870a7af3fd5780f9c9a..99345969b0e4d651fd9033d67de2febb /* ---------- INCLUDES ---------- */ #include -From b7cc8da9ebd95a9e9d889b01306dc3e4b1a7df23 Mon Sep 17 00:00:00 2001 +From 9576e1415091d4661c22c059a7b548370884e5bc Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 21 Jun 2017 09:03:51 -0700 -Subject: [PATCH 165/182] bcm2708: Drop CMA alignment from FKMS mode as well. +Subject: [PATCH 159/170] bcm2708: Drop CMA alignment from FKMS mode as well. I dropped it from KMS mode in d88274d88ed81de1ade8e18e4c0ed91792ec82ea and should have done both of them at that time. @@ -136113,10 +135581,10 @@ index 95a595a35cb4fbb707bf4b18161f6a46860aa4ae..36fbf6c8c2e612a6dc5aa02d77cc8173 }; -From 712bb5ff809745e185b170086b4feada4f5f86ab Mon Sep 17 00:00:00 2001 +From f4a4b9d7b714ed4980d2d5027ee005d5855dd4c3 Mon Sep 17 00:00:00 2001 From: Steve Conner Date: Thu, 29 Jun 2017 15:56:19 +0100 -Subject: [PATCH 166/182] New i2c-rtc-gpio device overlay (#2092) +Subject: [PATCH 160/170] New i2c-rtc-gpio device overlay (#2092) Created new i2c-rtc-gpio device overlay by combining i2c-rtc and i2c-gpio. Tested with PCF2127 on CM3. --- @@ -136380,10 +135848,10 @@ index 0000000000000000000000000000000000000000..8415e6081428fba9a47682964174fc02 + }; +}; -From c7100a0d0402e9d7019d32d23e78f798eb8090ff Mon Sep 17 00:00:00 2001 +From f377e42b836b02099e601540ad9a5c59181eef58 Mon Sep 17 00:00:00 2001 From: Allo Date: Mon, 3 Jul 2017 15:45:20 +0530 -Subject: [PATCH 167/182] PianoPlus: Dual Mono & Dual Stereo features added +Subject: [PATCH 161/170] PianoPlus: Dual Mono & Dual Stereo features added (#2069) --- @@ -136672,10 +136140,10 @@ index 56e43f98846b41e487b3089813f7edc3c08517eb..d4e99e3c6a383d92fb0cf9e8c1cd1e76 } -From da04f160d96aef70c8a079820e291228c2ce73c2 Mon Sep 17 00:00:00 2001 +From fe12a290d4cdde00d1259afd8a6997d5f44aeea7 Mon Sep 17 00:00:00 2001 From: Matthijs Kooijman Date: Sun, 9 Jul 2017 15:15:22 +0200 -Subject: [PATCH 168/182] overlays: Add gpio-shutdown overlay (#2103) +Subject: [PATCH 162/170] overlays: Add gpio-shutdown overlay (#2103) This overlay facilitates the addition of a powerbutton by converting GPIO edges into KEY_POWER keypresses, which can be handled by @@ -136831,10 +136299,10 @@ index 0000000000000000000000000000000000000000..863fb395c8539734b658682b900e1fbd + +}; -From 7f878318d2fd13f7c20bbf0eb77155158db0e7b5 Mon Sep 17 00:00:00 2001 +From 278fce90a0b6023d5fa6ecfda317d8a74881ac95 Mon Sep 17 00:00:00 2001 From: Matthias Reichl Date: Mon, 10 Jul 2017 11:05:17 +0200 -Subject: [PATCH 169/182] config: enable generic S/PDIF codec drivers (#2104) +Subject: [PATCH 163/170] config: enable generic S/PDIF codec drivers (#2104) These drivers can be used as dummy ADC/DAC drivers for attaching general codecs that don't need to be configured. @@ -136867,10 +136335,10 @@ Signed-off-by: Matthias Reichl 2 files changed, 2 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index bd26ebc59b14b8f4fe8b89992e507ee35ed75047..1cd3337442d75e26f1d4f7370b60cdaf8aac64b2 100644 +index d2838cde4019be5f6faf0a70038c6365df9e6dde..6f49e2b69f0cb27154dd26eba20eabdde2d60052 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -900,6 +900,7 @@ CONFIG_SND_PISOUND=m +@@ -898,6 +898,7 @@ CONFIG_SND_PISOUND=m CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_ADAU7002=m CONFIG_SND_SOC_AK4554=m @@ -136879,10 +136347,10 @@ index bd26ebc59b14b8f4fe8b89992e507ee35ed75047..1cd3337442d75e26f1d4f7370b60cdaf CONFIG_SND_SIMPLE_CARD=m CONFIG_HIDRAW=y diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index cead8c64336bb4ce9656bb20384069917695852d..7c1be0e035105724a7774ac59e5195a098b51796 100644 +index efdb0fbc1b07c7b679cb20d8c1270c77d5d3c684..472a330439a19ac5d4f70c22059f015816823694 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -894,6 +894,7 @@ CONFIG_SND_PISOUND=m +@@ -891,6 +891,7 @@ CONFIG_SND_PISOUND=m CONFIG_SND_SOC_ADAU1701=m CONFIG_SND_SOC_ADAU7002=m CONFIG_SND_SOC_AK4554=m @@ -136891,10 +136359,10 @@ index cead8c64336bb4ce9656bb20384069917695852d..7c1be0e035105724a7774ac59e5195a0 CONFIG_SND_SIMPLE_CARD=m CONFIG_HIDRAW=y -From 063bb68b013d9704babe8fc9e1d29e7a2392baad Mon Sep 17 00:00:00 2001 +From 82a4316b7a75b2508112dcb3e8a0a0c38aac2465 Mon Sep 17 00:00:00 2001 From: Bilal Amarni Date: Wed, 24 May 2017 10:52:50 +0200 -Subject: [PATCH 170/182] [ARM64] enable drivers for GPIO expander and vcio +Subject: [PATCH 164/170] [ARM64] enable drivers for GPIO expander and vcio --- arch/arm64/configs/bcmrpi3_defconfig | 3 +++ @@ -136922,10 +136390,10 @@ index 4d85c231c5ea0244e1b05fb4a5e3c8fd3e651ddf..9dcb58a519d041fadae99c81a7bda621 CONFIG_GPIO_ARIZONA=m CONFIG_GPIO_STMPE=y -From c970296be34ece8a59f7878c4a932a8a44fb6149 Mon Sep 17 00:00:00 2001 +From 2da186a37e725166aadf18da3398d670d81274f1 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Fri, 14 Jul 2017 12:59:55 +0100 -Subject: [PATCH 171/182] bcm2835-mmc: Fix DMA usage +Subject: [PATCH 165/170] bcm2835-mmc: Fix DMA usage The previous change ("bcm2835-mmc: Only claim one DMA channel") used an incorrect variable, the effect of which was to prevent @@ -136960,184 +136428,66 @@ index 4fe8d1fe44578fbefcd48f8c327ba3d03f3d0a2a..981db05de1ff52a83550e41ab362eecf } #endif -From b8a06dd0a2e98a1b3407b4f393aa397e00298ac0 Mon Sep 17 00:00:00 2001 +From 6968aeccff73850f601529b8a7ad1a53c9ffc259 Mon Sep 17 00:00:00 2001 From: popcornmix -Date: Mon, 17 Jul 2017 16:54:06 +0100 -Subject: [PATCH 172/182] Revert "bcm2835-mmc: Fix DMA usage" - -This reverts commit f4258b9352afc1480dd1c29a11528e53b73bf356. ---- - drivers/mmc/host/bcm2835-mmc.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c -index 981db05de1ff52a83550e41ab362eecf99cafa29..4fe8d1fe44578fbefcd48f8c327ba3d03f3d0a2a 100644 ---- a/drivers/mmc/host/bcm2835-mmc.c -+++ b/drivers/mmc/host/bcm2835-mmc.c -@@ -1354,14 +1354,14 @@ static int bcm2835_mmc_add_host(struct bcm2835_host *host) - if (ret == 0) { - host->dma_cfg_rx = cfg; - -- host->have_dma = true; -+ host->use_dma = true; - } else { - pr_err("%s: unable to configure DMA channel. " -- "Falling back to PIO\n", -+ "Faling back to PIO\n", - mmc_hostname(mmc)); - dma_release_channel(host->dma_chan_rxtx); - host->dma_chan_rxtx = NULL; -- host->have_dma = false; -+ host->use_dma = false; - } - } - #endif - -From cd2e07e0f968678876bf7dc5d9334c30b4d444ce Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Tue, 18 Jul 2017 15:30:48 +0100 -Subject: [PATCH 173/182] bcm2835-mmc: Prevent DMA race condition - -The end of a read operation is triggered by the completion of the DMA -transfer, but writes are complete when the data IRQ is raised. The -bcm2835-mmc driver contains a race between the handling of the DMA -completion interrupt and the submission of the next request. Fix the -race by deferring the completion of the request until the DMA -transfer finishes. +Date: Sun, 16 Jul 2017 21:39:16 +0100 +Subject: [PATCH 166/170] BCM270X_DT: Use the upstream thermal-zones DT node Signed-off-by: Phil Elwell --- - drivers/mmc/host/bcm2835-mmc.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) + arch/arm/boot/dts/bcm2708-rpi.dtsi | 30 ++++++------------------------ + 1 file changed, 6 insertions(+), 24 deletions(-) -diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c -index 4fe8d1fe44578fbefcd48f8c327ba3d03f3d0a2a..031ec56eee1a3dbc01cf31259e6d0d555b6543b7 100644 ---- a/drivers/mmc/host/bcm2835-mmc.c -+++ b/drivers/mmc/host/bcm2835-mmc.c -@@ -115,6 +115,7 @@ struct bcm2835_host { +diff --git a/arch/arm/boot/dts/bcm2708-rpi.dtsi b/arch/arm/boot/dts/bcm2708-rpi.dtsi +index 29dde110e769082a24640d3c7284afb8e99b226c..8cc83a350d02bb485f7a4fcb129df9e00fb3f958 100644 +--- a/arch/arm/boot/dts/bcm2708-rpi.dtsi ++++ b/arch/arm/boot/dts/bcm2708-rpi.dtsi +@@ -90,30 +90,6 @@ + sound: sound { + status = "disabled"; + }; +- +- thermal-zones { +- cpu_thermal: cpu-thermal { +- polling-delay-passive = <0>; +- polling-delay = <1000>; +- +- thermal-sensors = <&thermal>; +- +- /* No trips +- trips { +- cpu-crit { +- temperature = <80000>; +- hysteresis = <0>; +- type = "critical"; +- }; +- }; +- */ +- +- coefficients = <(-538) 407000>; +- +- cooling-maps { +- }; +- }; +- }; + }; - bool have_dma; - bool use_dma; -+ bool wait_for_dma; - /*end of DMA part*/ - - int max_delay; /* maximum length of time spent waiting */ -@@ -341,6 +342,8 @@ static void bcm2835_mmc_dma_complete(void *param) - - spin_lock_irqsave(&host->lock, flags); - -+ host->use_dma = false; + __overrides__ { +@@ -172,3 +148,9 @@ sdhost_pins: &sdhost_gpio48 { + &fb { + status = "okay"; + }; + - if (host->data && !(host->data->flags & MMC_DATA_WRITE)) { - /* otherwise handled in SDHCI IRQ */ - dma_chan = host->dma_chan_rxtx; -@@ -351,6 +354,9 @@ static void bcm2835_mmc_dma_complete(void *param) - dir_data); - - bcm2835_mmc_finish_data(host); -+ } else if (host->wait_for_dma) { -+ host->wait_for_dma = false; -+ tasklet_schedule(&host->finish_tasklet); - } - - spin_unlock_irqrestore(&host->lock, flags); -@@ -690,6 +696,7 @@ void bcm2835_mmc_send_command(struct bcm2835_host *host, struct mmc_command *cmd - mod_timer(&host->timer, timeout); - - host->cmd = cmd; -+ host->use_dma = false; - - bcm2835_mmc_prepare_data(host, cmd); - -@@ -759,8 +766,11 @@ static void bcm2835_mmc_finish_data(struct bcm2835_host *host) - } - - bcm2835_mmc_send_command(host, data->stop); -- } else -+ } else if (host->use_dma) { -+ host->wait_for_dma = true; -+ } else { - tasklet_schedule(&host->finish_tasklet); -+ } - } - - static void bcm2835_mmc_finish_command(struct bcm2835_host *host) ++&cpu_thermal { ++ coefficients = <(-538) 407000>; ++ ++ /delete-node/ trips; ++}; -From 7b8413a277df119fd6af9a03cf47f746673e4f1e Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 19 Jul 2017 14:50:49 +0100 -Subject: [PATCH 174/182] Revert "Revert "bcm2835-mmc: Fix DMA usage"" - -This reverts commit d52c1ae3a211386b5ec98804a468436e85b5b8af. ---- - drivers/mmc/host/bcm2835-mmc.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/drivers/mmc/host/bcm2835-mmc.c b/drivers/mmc/host/bcm2835-mmc.c -index 031ec56eee1a3dbc01cf31259e6d0d555b6543b7..c4a5e992c6fb4a40b933239350ed4bfc8fb40155 100644 ---- a/drivers/mmc/host/bcm2835-mmc.c -+++ b/drivers/mmc/host/bcm2835-mmc.c -@@ -1364,14 +1364,14 @@ static int bcm2835_mmc_add_host(struct bcm2835_host *host) - if (ret == 0) { - host->dma_cfg_rx = cfg; - -- host->use_dma = true; -+ host->have_dma = true; - } else { - pr_err("%s: unable to configure DMA channel. " -- "Faling back to PIO\n", -+ "Falling back to PIO\n", - mmc_hostname(mmc)); - dma_release_channel(host->dma_chan_rxtx); - host->dma_chan_rxtx = NULL; -- host->use_dma = false; -+ host->have_dma = false; - } - } - #endif - -From 38e5fcbe47320ee23670e408f291d0aea4df5eee Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Wed, 19 Jul 2017 15:43:05 +0100 -Subject: [PATCH 175/182] config: Add CONFIG_W1_SLAVE_DS2438 - -See: https://github.com/raspberrypi/linux/pull/2100 - -Signed-off-by: Phil Elwell ---- - arch/arm/configs/bcm2709_defconfig | 1 + - arch/arm/configs/bcmrpi_defconfig | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 1cd3337442d75e26f1d4f7370b60cdaf8aac64b2..612504cf2acc4990fdf524adc6ccf993eb6b459d 100644 ---- a/arch/arm/configs/bcm2709_defconfig -+++ b/arch/arm/configs/bcm2709_defconfig -@@ -644,6 +644,7 @@ CONFIG_W1_SLAVE_DS2406=m - CONFIG_W1_SLAVE_DS2423=m - CONFIG_W1_SLAVE_DS2431=m - CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m - CONFIG_W1_SLAVE_DS2760=m - CONFIG_W1_SLAVE_DS2780=m - CONFIG_W1_SLAVE_DS2781=m -diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 7c1be0e035105724a7774ac59e5195a098b51796..5cb81c879eb0e1e1c369f284ccd41b80bb1e44ce 100644 ---- a/arch/arm/configs/bcmrpi_defconfig -+++ b/arch/arm/configs/bcmrpi_defconfig -@@ -638,6 +638,7 @@ CONFIG_W1_SLAVE_DS2406=m - CONFIG_W1_SLAVE_DS2423=m - CONFIG_W1_SLAVE_DS2431=m - CONFIG_W1_SLAVE_DS2433=m -+CONFIG_W1_SLAVE_DS2438=m - CONFIG_W1_SLAVE_DS2760=m - CONFIG_W1_SLAVE_DS2780=m - CONFIG_W1_SLAVE_DS2781=m - -From c027775f7fe5e3c024634455423ed488d8705cd7 Mon Sep 17 00:00:00 2001 +From 75d84cf7dbb82302d8fec9d81781fb9fa7d2d65b Mon Sep 17 00:00:00 2001 From: Conn Date: Mon, 17 Jul 2017 03:25:43 +0100 -Subject: [PATCH 176/182] config: enhance DualShock3 controller support +Subject: [PATCH 167/170] config: enhance DualShock3 controller support Enable rumble support in Sony HID & HID battery strength. --- @@ -137146,10 +136496,10 @@ Enable rumble support in Sony HID & HID battery strength. 2 files changed, 4 insertions(+) diff --git a/arch/arm/configs/bcm2709_defconfig b/arch/arm/configs/bcm2709_defconfig -index 612504cf2acc4990fdf524adc6ccf993eb6b459d..ed4a46b49d688ca78a625dbe8a96a2f1da4a6a0e 100644 +index 6f49e2b69f0cb27154dd26eba20eabdde2d60052..62909413e1d625a1d33559d965ee8707ca57ba91 100644 --- a/arch/arm/configs/bcm2709_defconfig +++ b/arch/arm/configs/bcm2709_defconfig -@@ -904,6 +904,7 @@ CONFIG_SND_SOC_AK4554=m +@@ -901,6 +901,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m @@ -137157,7 +136507,7 @@ index 612504cf2acc4990fdf524adc6ccf993eb6b459d..ed4a46b49d688ca78a625dbe8a96a2f1 CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_A4TECH=m -@@ -946,6 +947,7 @@ CONFIG_HID_PICOLCD=m +@@ -943,6 +944,7 @@ CONFIG_HID_PICOLCD=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m @@ -137166,10 +136516,10 @@ index 612504cf2acc4990fdf524adc6ccf993eb6b459d..ed4a46b49d688ca78a625dbe8a96a2f1 CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m diff --git a/arch/arm/configs/bcmrpi_defconfig b/arch/arm/configs/bcmrpi_defconfig -index 5cb81c879eb0e1e1c369f284ccd41b80bb1e44ce..3cd9dca829e6820ae9be35e4abe5ebc611aa0699 100644 +index 472a330439a19ac5d4f70c22059f015816823694..e0dd8723047ff488e81a03ef42fdbc68c43dc721 100644 --- a/arch/arm/configs/bcmrpi_defconfig +++ b/arch/arm/configs/bcmrpi_defconfig -@@ -898,6 +898,7 @@ CONFIG_SND_SOC_AK4554=m +@@ -894,6 +894,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_WM8804_I2C=m CONFIG_SND_SIMPLE_CARD=m @@ -137177,7 +136527,7 @@ index 5cb81c879eb0e1e1c369f284ccd41b80bb1e44ce..3cd9dca829e6820ae9be35e4abe5ebc6 CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_A4TECH=m -@@ -940,6 +941,7 @@ CONFIG_HID_PICOLCD=m +@@ -936,6 +937,7 @@ CONFIG_HID_PICOLCD=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAMSUNG=m CONFIG_HID_SONY=m @@ -137186,10 +136536,10 @@ index 5cb81c879eb0e1e1c369f284ccd41b80bb1e44ce..3cd9dca829e6820ae9be35e4abe5ebc6 CONFIG_HID_SUNPLUS=m CONFIG_HID_GREENASIA=m -From 132cb9a87179d6d83ebd0f8c6f2b8986e7ca052a Mon Sep 17 00:00:00 2001 +From 298762976555e1a0e5ebaf23dc9806b9ab429043 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 19 Jul 2017 15:20:50 +0100 -Subject: [PATCH 177/182] overlays: i2c1-bcm2708: Don't overwrite i2c1 pins +Subject: [PATCH 168/170] overlays: i2c1-bcm2708: Don't overwrite i2c1 pins node It is bad practise to overwrite an entire node in an overlay. Instead, @@ -137234,322 +136584,70 @@ index e303b9c61c82a28eab7b48f6b085661574d5a849..7c69047bcd88a5c900dddd08e60ad075 }; }; -From 1a62daf4001a59e1316d3b57b6716c4d7ee62011 Mon Sep 17 00:00:00 2001 -From: James Hughes -Date: Fri, 21 Jul 2017 09:55:12 +0100 -Subject: [PATCH 178/182] Sets the BCDC priority to constant 0 +From f2a957579af6ff6a01378f7b8c50e1767f0a850d Mon Sep 17 00:00:00 2001 +From: Arend van Spriel +Date: Tue, 18 Jul 2017 09:59:34 +0200 +Subject: [PATCH 169/170] brcmfmac: fix regression in + brcmf_sdio_txpkt_hdalign() -This is to workaround for a possible issue in the -wireless chip firmware where some packets with -higher priorities seem to go missing. +Recent change in brcmf_sdio_txpkt_hdalign() changed the +behavior and now always returns 0. This resulted in a +regression which basically renders the device useless. -See https://github.com/raspberrypi/linux/issues/1342 for -details. +Fixes: 270a6c1f65fe ("brcmfmac: rework headroom check in .start_xmit()") +Reported-by: S. Gilles +Tested-by: S. Gilles +Signed-off-by: Arend van Spriel --- - drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c -index 9f2d0b0cf6e5c452ad85a3caef58cf16a8cdad46..b009f3083490c2bc2733424f08f81b9f751de939 100644 ---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c -@@ -274,7 +274,7 @@ brcmf_proto_bcdc_hdrpush(struct brcmf_pub *drvr, int ifidx, u8 offset, - if (pktbuf->ip_summed == CHECKSUM_PARTIAL) - h->flags |= BCDC_FLAG_SUM_NEEDED; - -- h->priority = (pktbuf->priority & BCDC_PRIORITY_MASK); -+ h->priority = 0; - h->flags2 = 0; - h->data_offset = offset; - BCDC_SET_IF_IDX(h, ifidx); - -From 33e5a0c3ab840dfd40cb9a5f21383413eba73b2b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Sven=20K=C3=B6hler?= -Date: Mon, 7 Aug 2017 18:49:20 +0200 -Subject: [PATCH 179/182] Fix dependencies broken since driver was renamed - ---- - drivers/mmc/host/Kconfig | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig -index e577d20963bcb1f61756d5d7050328b967b522d4..324da890a83a43fdf2f8ac3621bfde78324f79a2 100644 ---- a/drivers/mmc/host/Kconfig -+++ b/drivers/mmc/host/Kconfig -@@ -25,7 +25,7 @@ config MMC_BCM2835_DMA - - config MMC_BCM2835_PIO_DMA_BARRIER - int "Block count limit for PIO transfers" -- depends on MMC_BCM2835 && MMC_BCM2835_DMA -+ depends on MMC_BCM2835_MMC && MMC_BCM2835_DMA - range 0 256 - default 2 - help - -From aa829acaee2bedfde36429797b55bdf314bc3590 Mon Sep 17 00:00:00 2001 -From: Eric Anholt -Date: Thu, 18 Dec 2014 16:07:15 -0800 -Subject: [PATCH 180/182] mm: Remove the PFN busy warning - -See commit dae803e165a11bc88ca8dbc07a11077caf97bbcb -- the warning is -expected sometimes when using CMA. However, that commit still spams -my kernel log with these warnings. - -Signed-off-by: Eric Anholt ---- - mm/page_alloc.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index f553b3a6eca84e71ca1839fb05a890199ed988f6..8af333f67ffe21d0a055a564012cc55a06b684a2 100644 ---- a/mm/page_alloc.c -+++ b/mm/page_alloc.c -@@ -7587,8 +7587,6 @@ int alloc_contig_range(unsigned long start, unsigned long end, - - /* Make sure the range is really isolated. */ - if (test_pages_isolated(outer_start, end, false)) { -- pr_info_ratelimited("%s: [%lx, %lx) PFNs busy\n", -- __func__, outer_start, end); - ret = -EBUSY; - goto done; - } - -From ad29738bf03f21dd97fd06c9b70c736e376e10cd Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Fri, 25 Aug 2017 19:18:13 +0100 -Subject: [PATCH 181/182] cache: export clean and invalidate - ---- - arch/arm/mm/cache-v6.S | 4 ++-- - arch/arm/mm/cache-v7.S | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/arch/arm/mm/cache-v6.S b/arch/arm/mm/cache-v6.S -index 24659952c2784de64a53dc2e889ab616bd19b12b..1ee5bc3a101884132a65adae32d6ef7417667ffc 100644 ---- a/arch/arm/mm/cache-v6.S -+++ b/arch/arm/mm/cache-v6.S -@@ -201,7 +201,7 @@ ENTRY(v6_flush_kern_dcache_area) - * - start - virtual start address of region - * - end - virtual end address of region - */ --v6_dma_inv_range: -+ENTRY(v6_dma_inv_range) - #ifdef CONFIG_DMA_CACHE_RWFO - ldrb r2, [r0] @ read for ownership - strb r2, [r0] @ write for ownership -@@ -246,7 +246,7 @@ v6_dma_inv_range: - * - start - virtual start address of region - * - end - virtual end address of region - */ --v6_dma_clean_range: -+ENTRY(v6_dma_clean_range) - bic r0, r0, #D_CACHE_LINE_SIZE - 1 - 1: - #ifdef CONFIG_DMA_CACHE_RWFO -diff --git a/arch/arm/mm/cache-v7.S b/arch/arm/mm/cache-v7.S -index de78109d002db1a5e7c94a6c1bc8bb94161d07b8..4c850aa3af2b2439fced4e130441329a724fb370 100644 ---- a/arch/arm/mm/cache-v7.S -+++ b/arch/arm/mm/cache-v7.S -@@ -349,7 +349,7 @@ ENDPROC(v7_flush_kern_dcache_area) - * - start - virtual start address of region - * - end - virtual end address of region - */ --v7_dma_inv_range: -+ENTRY(v7_dma_inv_range) - dcache_line_size r2, r3 - sub r3, r2, #1 - tst r0, r3 -@@ -377,7 +377,7 @@ ENDPROC(v7_dma_inv_range) - * - start - virtual start address of region - * - end - virtual end address of region - */ --v7_dma_clean_range: -+ENTRY(v7_dma_clean_range) - dcache_line_size r2, r3 - sub r3, r2, #1 - bic r0, r0, r3 - -From 0f263d4df966ff0612408432511df2db2fa7d933 Mon Sep 17 00:00:00 2001 -From: popcornmix -Date: Fri, 25 Aug 2017 19:18:26 +0100 -Subject: [PATCH 182/182] vcsm: Provide new ioctl to clean/invalidate a 2D - block - ---- - drivers/char/broadcom/vc_sm/vmcs_sm.c | 91 ++++++++++++++++++++++++++++++++-- - include/linux/broadcom/vmcs_sm_ioctl.h | 16 ++++++ - 2 files changed, 104 insertions(+), 3 deletions(-) - -diff --git a/drivers/char/broadcom/vc_sm/vmcs_sm.c b/drivers/char/broadcom/vc_sm/vmcs_sm.c -index fd2ca788dcd56b1702454d71b7bedd4203179500..e16958e0d4094dbc37f2389f0aefdff0ef4253d1 100644 ---- a/drivers/char/broadcom/vc_sm/vmcs_sm.c -+++ b/drivers/char/broadcom/vc_sm/vmcs_sm.c -@@ -142,6 +142,7 @@ struct SM_RESOURCE_T { - struct list_head map_list; /* Maps associated with a resource. */ - - struct SM_PRIV_DATA_T *private; -+ bool map; /* whether to map pages up front */ - }; - - /* Private file data associated with each opened device. -@@ -1376,6 +1377,20 @@ static int vc_sm_mmap(struct file *file, struct vm_area_struct *vma) - vcsm_vma_open(vma); - resource->res_stats[MAP]++; - vmcs_sm_release_resource(resource, 0); -+ -+ if (resource->map) { -+ /* We don't use vmf->pgoff since that has the fake offset */ -+ unsigned long addr; -+ for (addr = vma->vm_start; addr < vma->vm_end; addr += PAGE_SIZE) { -+ /* Finally, remap it */ -+ unsigned long pfn = (unsigned long)resource->res_base_mem & 0x3FFFFFFF; -+ pfn += mm_vc_mem_phys_addr; -+ pfn += addr - vma->vm_start; -+ pfn >>= PAGE_SHIFT; -+ ret = vm_insert_pfn(vma, addr, pfn); -+ } -+ } -+ - return 0; - - error: -@@ -1394,10 +1409,18 @@ int vc_sm_ioctl_alloc(struct SM_PRIV_DATA_T *private, - struct SM_RESOURCE_T *resource; - VC_SM_ALLOC_T alloc = { 0 }; - VC_SM_ALLOC_RESULT_T result = { 0 }; -+ enum vmcs_sm_cache_e cached = ioparam->cached; -+ bool map = false; -+ -+ /* flag to requst buffer is mapped up front, rather than lazily */ -+ if (cached & 0x80 ) { -+ map = true; -+ cached &= ~0x80; -+ } - - /* Setup our allocation parameters */ -- alloc.type = ((ioparam->cached == VMCS_SM_CACHE_VC) -- || (ioparam->cached == -+ alloc.type = ((cached == VMCS_SM_CACHE_VC) -+ || (cached == - VMCS_SM_CACHE_BOTH)) ? VC_SM_ALLOC_CACHED : - VC_SM_ALLOC_NON_CACHED; - alloc.base_unit = ioparam->size; -@@ -1455,7 +1478,8 @@ int vc_sm_ioctl_alloc(struct SM_PRIV_DATA_T *private, - resource->res_handle = result.res_handle; - resource->res_base_mem = result.res_mem; - resource->res_size = alloc.base_unit * alloc.num_unit; -- resource->res_cached = ioparam->cached; -+ resource->res_cached = cached; -+ resource->map = map; - - /* Kernel/user GUID. This global identifier is used for mmap'ing the - * allocated region from user space, it is passed as the mmap'ing -@@ -2790,6 +2814,67 @@ static long vc_sm_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +index 21bb3dccfeee7922af7bfd8953ca3e7f4601ab64..a926385850f8b2bcce8ae0d622afe23d623cff6d 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +@@ -2054,12 +2054,13 @@ static int brcmf_sdio_txpkt_hdalign(struct brcmf_sdio *bus, struct sk_buff *pkt) + atomic_inc(&stats->pktcow_failed); + return -ENOMEM; } ++ head_pad = 0; } - break; -+ /* Flush/Invalidate the cache for a given mapping. */ -+ case VMCS_SM_CMD_CLEAN_INVALID2: -+ { -+ int i, j; -+ struct vmcs_sm_ioctl_clean_invalid2 ioparam; -+ struct vmcs_sm_ioctl_clean_invalid_block *block = NULL; -+ -+ /* Get parameter data. */ -+ if (copy_from_user(&ioparam, -+ (void *)arg, sizeof(ioparam)) != 0) { -+ pr_err("[%s]: failed to copy-from-user header for cmd %x\n", -+ __func__, cmdnr); -+ ret = -EFAULT; -+ goto out; -+ } -+ block = kzalloc(ioparam.op_count * sizeof(struct vmcs_sm_ioctl_clean_invalid_block), GFP_KERNEL); -+ if (!block) { -+ ret = -EFAULT; -+ goto out; -+ } -+ if (copy_from_user(block, -+ (void *)(arg + sizeof(ioparam)), ioparam.op_count * sizeof(struct vmcs_sm_ioctl_clean_invalid_block)) != 0) { -+ pr_err("[%s]: failed to copy-from-user payload for cmd %x\n", -+ __func__, cmdnr); -+ ret = -EFAULT; -+ goto out; -+ } -+ -+ for (i=0; iblock_count; ++j) { -+ -+ -+ extern void v6_dma_inv_range(void *start, void *end); -+ extern void v6_dma_clean_range(void *start, void *end); -+ unsigned long base = (unsigned long)op->start_address + j * op->inter_block_stride; -+ unsigned long end = base + op->block_size; -+ /* L1/L2 cache clean */ -+ if (op->invalidate_mode & 2) { -+#if defined(CONFIG_CPU_CACHE_V7) -+ extern void v7_dma_clean_range(void *start, void *end); -+ v7_dma_clean_range((void *)base, (void *)end); -+#elif defined(CONFIG_CPU_CACHE_V6) -+ extern void v6_dma_clean_range(void *start, void *end); -+ v6_dma_clean_range((void *)base, (void *)end); -+#endif -+ /* L1/L2 cache invalidate */ -+ } else if (op->invalidate_mode & 1) { -+#if defined(CONFIG_CPU_CACHE_V7) -+ extern void v7_dma_inv_range(void *start, void *end); -+ v7_dma_inv_range((void *)base, (void *)end); -+#elif defined(CONFIG_CPU_CACHE_V6) -+ extern void v6_dma_inv_range(void *start, void *end); -+ v6_dma_inv_range((void *)base, (void *)end); -+#endif -+ } -+ } -+ } -+ kfree(block); -+ } -+ break; + skb_push(pkt, head_pad); + dat_buf = (u8 *)(pkt->data); + } + memset(dat_buf, 0, head_pad + bus->tx_hdrlen); +- return 0; ++ return head_pad; + } - default: - { -diff --git a/include/linux/broadcom/vmcs_sm_ioctl.h b/include/linux/broadcom/vmcs_sm_ioctl.h -index 334f36d0d697b047df2922b5f2db67f38cf76564..2de7f1f41070689c99cad3bd43d117458549cb51 100644 ---- a/include/linux/broadcom/vmcs_sm_ioctl.h -+++ b/include/linux/broadcom/vmcs_sm_ioctl.h -@@ -62,6 +62,7 @@ enum vmcs_sm_cmd_e { - VMCS_SM_CMD_HOST_WALK_PID_MAP, + /** + +From b761de9296f2f50fce9afdd2183244b3a25200ff Mon Sep 17 00:00:00 2001 +From: Stefan Wahren +Date: Tue, 18 Jul 2017 09:07:39 +0200 +Subject: [PATCH 170/170] brcmfmac: Patch to restore WiFi connectivity + +This is "WIP: net: brcmfmac: avoid regression on RPi Zero W" in Stefan's +linux-next branch. + +Signed-off-by: Stefan Wahren +Signed-off-by: Phil Elwell +--- + drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +index d21258d277ce4bca965e588e537df507d4e23892..7512b28a27a8eadaa5cd571a3864915233525115 100644 +--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c ++++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/feature.c +@@ -159,8 +159,10 @@ void brcmf_feat_attach(struct brcmf_pub *drvr) - VMCS_SM_CMD_CLEAN_INVALID, -+ VMCS_SM_CMD_CLEAN_INVALID2, - - VMCS_SM_CMD_LAST /* Do no delete */ - }; -@@ -175,6 +176,18 @@ struct vmcs_sm_ioctl_clean_invalid { - } s[8]; - }; - -+struct vmcs_sm_ioctl_clean_invalid2 { -+ uint8_t op_count; -+ uint8_t zero[3]; -+ struct vmcs_sm_ioctl_clean_invalid_block { -+ uint16_t invalidate_mode; -+ uint16_t block_count; -+ void * start_address; -+ uint32_t block_size; -+ uint32_t inter_block_stride; -+ } s[0]; -+}; -+ - /* IOCTL numbers */ - #define VMCS_SM_IOCTL_MEM_ALLOC\ - _IOR(VMCS_SM_MAGIC_TYPE, VMCS_SM_CMD_ALLOC,\ -@@ -206,6 +219,9 @@ struct vmcs_sm_ioctl_clean_invalid { - #define VMCS_SM_IOCTL_MEM_CLEAN_INVALID\ - _IOR(VMCS_SM_MAGIC_TYPE, VMCS_SM_CMD_CLEAN_INVALID,\ - struct vmcs_sm_ioctl_clean_invalid) -+#define VMCS_SM_IOCTL_MEM_CLEAN_INVALID2\ -+ _IOR(VMCS_SM_MAGIC_TYPE, VMCS_SM_CMD_CLEAN_INVALID2,\ -+ struct vmcs_sm_ioctl_clean_invalid2) - - #define VMCS_SM_IOCTL_SIZE_USR_HDL\ - _IOR(VMCS_SM_MAGIC_TYPE, VMCS_SM_CMD_SIZE_USR_HANDLE,\ + brcmf_feat_firmware_capabilities(ifp); + memset(&gscan_cfg, 0, sizeof(gscan_cfg)); ++ /* FIXME Disabled because of regression with Raspberry Pi + brcmf_feat_iovar_data_set(ifp, BRCMF_FEAT_GSCAN, "pfn_gscan_cfg", + &gscan_cfg, sizeof(gscan_cfg)); ++ */ + brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_PNO, "pfn"); + if (drvr->bus_if->wowl_supported) + brcmf_feat_iovar_int_get(ifp, BRCMF_FEAT_WOWL, "wowl");