From: Rafał Miłecki Date: Tue, 21 Mar 2017 08:26:02 +0000 (+0100) Subject: kernel: update bcma including recent changes for 4.12 X-Git-Tag: v18.06.0-rc1~3293 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fae77fc9bb783fcaeb58d94e1ce05ef41fe193c;p=thirdparty%2Fopenwrt.git 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 --- 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 e48d3aa6789..52a32a00c25 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 #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 #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 fad36a6655a..a2f15e56b20 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 #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 #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 ab8a212940f..bd7d643cbb7 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 1c3efea1720..23f2656ab5f 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;