2
0
forked from Ivasoft/openwrt

bmips: add linux v5.15 support

Build system: x86_64
Build-tested: generic, nand
Run-tested: generic/AR-5387un, nand/VR-3032u

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas
2022-05-18 22:52:06 +02:00
parent 810eac8c7f
commit 6a1e7c767f
26 changed files with 1894 additions and 4 deletions

View File

@@ -19,6 +19,7 @@
#include <linux/pci.h>
#include <linux/reset.h>
#include <linux/types.h>
#include <linux/version.h>
#include <linux/vmalloc.h>
#include "../pci.h"
@@ -168,7 +169,7 @@ static int bcm6318_pcie_can_access(struct pci_bus *bus, int devfn)
if (PCI_SLOT(devfn) == 0)
return __raw_readl(priv->base + PCIE_DLSTATUS_REG)
& DLSTATUS_PHYLINKUP;
/* else, fall through */
fallthrough;
default:
return false;
}
@@ -226,7 +227,9 @@ static struct pci_controller bcm6318_pcie_controller = {
.pci_ops = &bcm6318_pcie_ops,
.io_resource = &bcm6318_pcie_io_resource,
.mem_resource = &bcm6318_pcie_mem_resource,
#if LINUX_VERSION_CODE < KERNEL_VERSION(5,13,0)
.busn_resource = &bcm6318_pcie_busn_resource,
#endif
};
static void bcm6318_pcie_reset(struct bcm6318_pcie *priv)
@@ -305,6 +308,9 @@ static int bcm6318_pcie_probe(struct platform_device *pdev)
struct bcm6318_pcie *priv = &bcm6318_pcie;
struct resource *res;
int ret;
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,13,0)
LIST_HEAD(resources);
#endif
of_pci_check_probe_only();
@@ -370,6 +376,9 @@ static int bcm6318_pcie_probe(struct platform_device *pdev)
return -EINVAL;
of_pci_parse_bus_range(np, &bcm6318_pcie_busn_resource);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,13,0)
pci_add_resource(&resources, &bcm6318_pcie_busn_resource);
#endif
bcm6318_pcie_reset(priv);
bcm6318_pcie_setup(priv);