aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2017-03-21 09:26:02 +0100
committerRafał Miłecki <rafal@milecki.pl>2017-03-21 09:58:05 +0100
commit8fae77fc9bb783fcaeb58d94e1ce05ef41fe193c (patch)
treecff5f91f8edad75cde839ed4ff759688ca3bceaa
parente41e1e6a2a46d3a75676be7dee7f11a47c95e9bf (diff)
downloadupstream-8fae77fc9bb783fcaeb58d94e1ce05ef41fe193c.tar.gz
upstream-8fae77fc9bb783fcaeb58d94e1ce05ef41fe193c.tar.bz2
upstream-8fae77fc9bb783fcaeb58d94e1ce05ef41fe193c.zip
kernel: update bcma including recent changes for 4.12
This adds support for describing GPIO chips placed on PCIe cards. Thanks to this we get working 2.4 GHz LED on Tenda AC9. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rw-r--r--target/linux/bcm53xx/patches-4.4/905-BCM53573-minor-hacks.patch4
-rw-r--r--target/linux/bcm53xx/patches-4.9/905-BCM53573-minor-hacks.patch4
-rw-r--r--target/linux/generic/patches-4.4/026-bcma-from-4.12.patch35
-rw-r--r--target/linux/generic/patches-4.9/072-bcma-from-4.12.patch35
4 files changed, 74 insertions, 4 deletions
diff --git a/target/linux/bcm53xx/patches-4.4/905-BCM53573-minor-hacks.patch b/target/linux/bcm53xx/patches-4.4/905-BCM53573-minor-hacks.patch
index e48d3aa678..52a32a00c2 100644
--- a/target/linux/bcm53xx/patches-4.4/905-BCM53573-minor-hacks.patch
+++ b/target/linux/bcm53xx/patches-4.4/905-BCM53573-minor-hacks.patch
@@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#size-cells = <1>;
--- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c
-@@ -352,14 +352,6 @@ static int bcma_register_devices(struct
+@@ -348,14 +348,6 @@ static int bcma_register_devices(struct
}
#endif
@@ -44,7 +44,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#ifdef CONFIG_BCMA_NFLASH
if (bus->drv_cc.nflash.present) {
err = platform_device_register(&bcma_nflash_dev);
-@@ -440,6 +432,14 @@ int bcma_bus_register(struct bcma_bus *b
+@@ -436,6 +428,14 @@ int bcma_bus_register(struct bcma_bus *b
bcma_register_core(bus, core);
}
diff --git a/target/linux/bcm53xx/patches-4.9/905-BCM53573-minor-hacks.patch b/target/linux/bcm53xx/patches-4.9/905-BCM53573-minor-hacks.patch
index fad36a6655..a2f15e56b2 100644
--- a/target/linux/bcm53xx/patches-4.9/905-BCM53573-minor-hacks.patch
+++ b/target/linux/bcm53xx/patches-4.9/905-BCM53573-minor-hacks.patch
@@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#size-cells = <1>;
--- a/drivers/bcma/main.c
+++ b/drivers/bcma/main.c
-@@ -352,14 +352,6 @@ static int bcma_register_devices(struct
+@@ -348,14 +348,6 @@ static int bcma_register_devices(struct
}
#endif
@@ -44,7 +44,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
#ifdef CONFIG_BCMA_NFLASH
if (bus->drv_cc.nflash.present) {
err = platform_device_register(&bcma_nflash_dev);
-@@ -440,6 +432,14 @@ int bcma_bus_register(struct bcma_bus *b
+@@ -436,6 +428,14 @@ int bcma_bus_register(struct bcma_bus *b
bcma_register_core(bus, core);
}
diff --git a/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch b/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch
index ab8a212940..bd7d643cbb 100644
--- a/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch
+++ b/target/linux/generic/patches-4.4/026-bcma-from-4.12.patch
@@ -10,3 +10,38 @@
#endif
switch (bus->chipinfo.id) {
case BCMA_CHIP_ID_BCM4707:
+--- a/drivers/bcma/main.c
++++ b/drivers/bcma/main.c
+@@ -201,9 +201,6 @@ static void bcma_of_fill_device(struct d
+ {
+ struct device_node *node;
+
+- if (!IS_ENABLED(CONFIG_OF_IRQ))
+- return;
+-
+ node = bcma_of_find_child_device(parent, core);
+ if (node)
+ core->dev.of_node = node;
+@@ -242,19 +239,18 @@ void bcma_prepare_core(struct bcma_bus *
+ core->dev.release = bcma_release_core_dev;
+ core->dev.bus = &bcma_bus_type;
+ dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
++ core->dev.parent = bcma_bus_get_host_dev(bus);
++ if (core->dev.parent)
++ bcma_of_fill_device(core->dev.parent, core);
+
+ switch (bus->hosttype) {
+ case BCMA_HOSTTYPE_PCI:
+- core->dev.parent = &bus->host_pci->dev;
+ core->dma_dev = &bus->host_pci->dev;
+ core->irq = bus->host_pci->irq;
+ break;
+ case BCMA_HOSTTYPE_SOC:
+ if (IS_ENABLED(CONFIG_OF) && bus->host_pdev) {
+ core->dma_dev = &bus->host_pdev->dev;
+- core->dev.parent = &bus->host_pdev->dev;
+- if (core->dev.parent)
+- bcma_of_fill_device(core->dev.parent, core);
+ } else {
+ core->dev.dma_mask = &core->dev.coherent_dma_mask;
+ core->dma_dev = &core->dev;
diff --git a/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch b/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch
index 1c3efea172..23f2656ab5 100644
--- a/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch
+++ b/target/linux/generic/patches-4.9/072-bcma-from-4.12.patch
@@ -10,3 +10,38 @@
#endif
switch (bus->chipinfo.id) {
case BCMA_CHIP_ID_BCM4707:
+--- a/drivers/bcma/main.c
++++ b/drivers/bcma/main.c
+@@ -201,9 +201,6 @@ static void bcma_of_fill_device(struct d
+ {
+ struct device_node *node;
+
+- if (!IS_ENABLED(CONFIG_OF_IRQ))
+- return;
+-
+ node = bcma_of_find_child_device(parent, core);
+ if (node)
+ core->dev.of_node = node;
+@@ -242,19 +239,18 @@ void bcma_prepare_core(struct bcma_bus *
+ core->dev.release = bcma_release_core_dev;
+ core->dev.bus = &bcma_bus_type;
+ dev_set_name(&core->dev, "bcma%d:%d", bus->num, core->core_index);
++ core->dev.parent = bcma_bus_get_host_dev(bus);
++ if (core->dev.parent)
++ bcma_of_fill_device(core->dev.parent, core);
+
+ switch (bus->hosttype) {
+ case BCMA_HOSTTYPE_PCI:
+- core->dev.parent = &bus->host_pci->dev;
+ core->dma_dev = &bus->host_pci->dev;
+ core->irq = bus->host_pci->irq;
+ break;
+ case BCMA_HOSTTYPE_SOC:
+ if (IS_ENABLED(CONFIG_OF) && bus->host_pdev) {
+ core->dma_dev = &bus->host_pdev->dev;
+- core->dev.parent = &bus->host_pdev->dev;
+- if (core->dev.parent)
+- bcma_of_fill_device(core->dev.parent, core);
+ } else {
+ core->dev.dma_mask = &core->dev.coherent_dma_mask;
+ core->dma_dev = &core->dev;