mirror of https://github.com/hak5/openwrt.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 <rafal@milecki.pl>openwrt-18.06
parent
e41e1e6a2a
commit
8fae77fc9b
|
@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
--- a/drivers/bcma/main.c
|
--- a/drivers/bcma/main.c
|
||||||
+++ b/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
|
#endif
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
#ifdef CONFIG_BCMA_NFLASH
|
#ifdef CONFIG_BCMA_NFLASH
|
||||||
if (bus->drv_cc.nflash.present) {
|
if (bus->drv_cc.nflash.present) {
|
||||||
err = platform_device_register(&bcma_nflash_dev);
|
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);
|
bcma_register_core(bus, core);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
#size-cells = <1>;
|
#size-cells = <1>;
|
||||||
--- a/drivers/bcma/main.c
|
--- a/drivers/bcma/main.c
|
||||||
+++ b/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
|
#endif
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
|
||||||
#ifdef CONFIG_BCMA_NFLASH
|
#ifdef CONFIG_BCMA_NFLASH
|
||||||
if (bus->drv_cc.nflash.present) {
|
if (bus->drv_cc.nflash.present) {
|
||||||
err = platform_device_register(&bcma_nflash_dev);
|
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);
|
bcma_register_core(bus, core);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,3 +10,38 @@
|
||||||
#endif
|
#endif
|
||||||
switch (bus->chipinfo.id) {
|
switch (bus->chipinfo.id) {
|
||||||
case BCMA_CHIP_ID_BCM4707:
|
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;
|
||||||
|
|
|
@ -10,3 +10,38 @@
|
||||||
#endif
|
#endif
|
||||||
switch (bus->chipinfo.id) {
|
switch (bus->chipinfo.id) {
|
||||||
case BCMA_CHIP_ID_BCM4707:
|
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;
|
||||||
|
|
Loading…
Reference in New Issue