diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2014-09-08 19:50:53 +0000 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2014-09-08 19:50:53 +0000 |
commit | 8313b329c6235272204a53b2c24e4694b94ad8f4 (patch) | |
tree | ffe29a8822bcf6fb56d07ea669f3842328ccf131 /target/linux/bcm53xx | |
parent | e030c505029f7662eecb8fa0608379fb5e72a423 (diff) | |
download | upstream-8313b329c6235272204a53b2c24e4694b94ad8f4.tar.gz upstream-8313b329c6235272204a53b2c24e4694b94ad8f4.tar.bz2 upstream-8313b329c6235272204a53b2c24e4694b94ad8f4.zip |
kernel: add bcma patches sent upstream but not pushed yet
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
SVN-Revision: 42448
Diffstat (limited to 'target/linux/bcm53xx')
4 files changed, 30 insertions, 59 deletions
diff --git a/target/linux/bcm53xx/patches-3.14/120-bcma-register-bcma-as-device-tree-driver.patch b/target/linux/bcm53xx/patches-3.14/120-bcma-register-bcma-as-device-tree-driver.patch index 317fbdc900..9027f48678 100644 --- a/target/linux/bcm53xx/patches-3.14/120-bcma-register-bcma-as-device-tree-driver.patch +++ b/target/linux/bcm53xx/patches-3.14/120-bcma-register-bcma-as-device-tree-driver.patch @@ -76,15 +76,15 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> #include <linux/bcma/bcma.h> #include <linux/bcma/bcma_soc.h> -@@ -173,6 +176,7 @@ int __init bcma_host_soc_register(struct +@@ -176,6 +179,7 @@ int __init bcma_host_soc_register(struct /* Host specific */ bus->hosttype = BCMA_HOSTTYPE_SOC; bus->ops = &bcma_host_soc_ops; + bus->host_pdev = NULL; - /* Register */ - err = bcma_bus_early_register(bus, &soc->core_cc, &soc->core_mips); -@@ -181,3 +185,69 @@ int __init bcma_host_soc_register(struct + /* Initialize struct, detect chip */ + bcma_init_bus(bus); +@@ -195,3 +199,72 @@ int __init bcma_host_soc_init(struct bcm return err; } @@ -112,6 +112,9 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> + bus->ops = &bcma_host_soc_ops; + bus->host_pdev = pdev; + ++ /* Initialize struct, detect chip */ ++ bcma_init_bus(bus); ++ + /* Register */ + err = bcma_bus_register(bus); + if (err) diff --git a/target/linux/bcm53xx/patches-3.14/121-bcma-get-irqs-from-dt.patch b/target/linux/bcm53xx/patches-3.14/121-bcma-get-irqs-from-dt.patch index d9a831c923..02cf1ea9b5 100644 --- a/target/linux/bcm53xx/patches-3.14/121-bcma-get-irqs-from-dt.patch +++ b/target/linux/bcm53xx/patches-3.14/121-bcma-get-irqs-from-dt.patch @@ -24,8 +24,8 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> MODULE_DESCRIPTION("Broadcom's specific AMBA driver"); MODULE_LICENSE("GPL"); -@@ -120,6 +122,38 @@ static void bcma_release_core_dev(struct - kfree(core); +@@ -131,6 +133,38 @@ static bool bcma_is_core_needed_early(u1 + return false; } +static struct device_node *bcma_of_find_child_device(struct platform_device *parent, @@ -60,21 +60,21 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> + core->irq = irq_of_parse_and_map(node, 0); +} + - static int bcma_register_cores(struct bcma_bus *bus) + static void bcma_register_core(struct bcma_bus *bus, struct bcma_device *core) { - struct bcma_device *core; -@@ -155,7 +189,13 @@ static int bcma_register_cores(struct bc - break; - case BCMA_HOSTTYPE_SOC: - core->dev.dma_mask = &core->dev.coherent_dma_mask; -- core->dma_dev = &core->dev; -+ if (bus->host_pdev) { -+ core->dma_dev = &bus->host_pdev->dev; -+ core->dev.parent = &bus->host_pdev->dev; -+ bcma_of_fill_device(bus->host_pdev, core); -+ } else { -+ core->dma_dev = &core->dev; -+ } - break; - case BCMA_HOSTTYPE_SDIO: - break; + int err; +@@ -147,7 +181,13 @@ static void bcma_register_core(struct bc + break; + case BCMA_HOSTTYPE_SOC: + core->dev.dma_mask = &core->dev.coherent_dma_mask; +- core->dma_dev = &core->dev; ++ if (bus->host_pdev) { ++ core->dma_dev = &bus->host_pdev->dev; ++ core->dev.parent = &bus->host_pdev->dev; ++ bcma_of_fill_device(bus->host_pdev, core); ++ } else { ++ core->dma_dev = &core->dev; ++ } + break; + case BCMA_HOSTTYPE_SDIO: + break; diff --git a/target/linux/bcm53xx/patches-3.14/142-bcma-add-support-for-chipcommon-B-core.patch b/target/linux/bcm53xx/patches-3.14/142-bcma-add-support-for-chipcommon-B-core.patch index c744e3892d..59b94c1170 100644 --- a/target/linux/bcm53xx/patches-3.14/142-bcma-add-support-for-chipcommon-B-core.patch +++ b/target/linux/bcm53xx/patches-3.14/142-bcma-add-support-for-chipcommon-B-core.patch @@ -105,7 +105,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +} --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c -@@ -164,6 +164,7 @@ static int bcma_register_cores(struct bc +@@ -213,6 +213,7 @@ static int bcma_register_devices(struct switch (core->id.id) { case BCMA_CORE_4706_CHIPCOMMON: case BCMA_CORE_CHIPCOMMON: @@ -113,7 +113,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> case BCMA_CORE_PCI: case BCMA_CORE_PCIE: case BCMA_CORE_PCIE2: -@@ -301,6 +302,13 @@ int bcma_bus_register(struct bcma_bus *b +@@ -327,6 +328,13 @@ int bcma_bus_register(struct bcma_bus *b bcma_core_chipcommon_init(&bus->drv_cc); } @@ -127,7 +127,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> /* Init MIPS core */ core = bcma_find_core(bus, BCMA_CORE_MIPS_74K); if (core) { -@@ -355,6 +363,8 @@ void bcma_bus_unregister(struct bcma_bus +@@ -381,6 +389,8 @@ void bcma_bus_unregister(struct bcma_bus else if (err) bcma_err(bus, "Can not unregister GPIO driver: %i\n", err); @@ -148,7 +148,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> default: --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h -@@ -338,6 +338,7 @@ struct bcma_bus { +@@ -337,6 +337,7 @@ struct bcma_bus { u8 num; struct bcma_drv_cc drv_cc; diff --git a/target/linux/bcm53xx/patches-3.14/160-bcma-add-PCI-IDs-for-more-devices.patch b/target/linux/bcm53xx/patches-3.14/160-bcma-add-PCI-IDs-for-more-devices.patch deleted file mode 100644 index 13c4e06f01..0000000000 --- a/target/linux/bcm53xx/patches-3.14/160-bcma-add-PCI-IDs-for-more-devices.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5274195ed2aefa21bcc69de7ecbd13a88bd3f357 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens <hauke@hauke-m.de> -Date: Sat, 23 Aug 2014 17:58:11 +0200 -Subject: [PATCH 11/17] bcma: add PCI ID for spromless BCM43217 - -This adds the PCI ID a BCM43217 without a sprom. -This devices was found on a Netgear R6250 attached to a BCM4708 ARM SoC. - -bcma: bus1: Found chip with id 0xA8D1, rev 0x00 and package 0x08 -bcma: bus1: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x27, class 0x0) -bcma: bus1: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x1E, class 0x0) -bcma: bus1: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x14, class 0x0) - -b43-phy0: Broadcom 43217 WLAN found (core revision 30) -b43-phy0: Found PHY: Analog 9, Type 4 (N), Revision 17 -b43-phy0: Found Radio: Manuf 0x17F, ID 0x2057, Revision 14, Version 1 - -Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> ---- - drivers/bcma/host_pci.c | 1 + - 1 file changed, 1 insertion(+) - ---- a/drivers/bcma/host_pci.c -+++ b/drivers/bcma/host_pci.c -@@ -282,6 +282,7 @@ static const struct pci_device_id bcma_p - { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43a9) }, - { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x43aa) }, - { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) }, -+ { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 43227) }, /* 0xA8DB */ - { 0, }, - }; - MODULE_DEVICE_TABLE(pci, bcma_pci_bridge_tbl); |