kernel: bump 4.19 to 4.19.71
Refreshed all patches. Remove upstreamed: - 950-0774-watchdog-bcm2835_wdt-Fix-module-autoload.patch - 0017-usb-host-fotg2-restart-hcd-after-port-reset.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
This commit is contained in:
		@@ -8,11 +8,11 @@ endif
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
LINUX_VERSION-4.9 = .191
 | 
					LINUX_VERSION-4.9 = .191
 | 
				
			||||||
LINUX_VERSION-4.14 = .142
 | 
					LINUX_VERSION-4.14 = .142
 | 
				
			||||||
LINUX_VERSION-4.19 = .69
 | 
					LINUX_VERSION-4.19 = .71
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LINUX_KERNEL_HASH-4.9.191 = ded4b87406deb67112b25a2283e8b5c89c2b47e2de14a97acda57f74cd38b7bc
 | 
					LINUX_KERNEL_HASH-4.9.191 = ded4b87406deb67112b25a2283e8b5c89c2b47e2de14a97acda57f74cd38b7bc
 | 
				
			||||||
LINUX_KERNEL_HASH-4.14.142 = e67ba535991170a8383be68203af7d9b4262474ceeff2f9afedeac6043b590f3
 | 
					LINUX_KERNEL_HASH-4.14.142 = e67ba535991170a8383be68203af7d9b4262474ceeff2f9afedeac6043b590f3
 | 
				
			||||||
LINUX_KERNEL_HASH-4.19.69 = c091760b520a4e4a4c7034a8329cc2689a0ea3f81a377b694ed196d623e2d987
 | 
					LINUX_KERNEL_HASH-4.19.71 = 1f53ebffd4842099db429172f6bac6a23e6f355f1278efb321860a34cf9a5cae
 | 
				
			||||||
 | 
					
 | 
				
			||||||
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 | 
					remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
 | 
				
			||||||
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
 | 
					sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
From 85a0f4d9bb71497ed710518de5f5cac124da9643 Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Stefan Wahren <wahrenst@gmx.net>
 | 
					 | 
				
			||||||
Date: Wed, 15 May 2019 19:14:18 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH 774/782] watchdog: bcm2835_wdt: Fix module autoload
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
The commit 5e6acc3e678e ("bcm2835-pm: Move bcm2835-watchdog's DT probe
 | 
					 | 
				
			||||||
to an MFD.") broke module autoloading on Raspberry Pi. So add a
 | 
					 | 
				
			||||||
module alias this fix this.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
 | 
					 | 
				
			||||||
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
 | 
					 | 
				
			||||||
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
 | 
					 | 
				
			||||||
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 drivers/watchdog/bcm2835_wdt.c | 1 +
 | 
					 | 
				
			||||||
 1 file changed, 1 insertion(+)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- a/drivers/watchdog/bcm2835_wdt.c
 | 
					 | 
				
			||||||
+++ b/drivers/watchdog/bcm2835_wdt.c
 | 
					 | 
				
			||||||
@@ -246,6 +246,7 @@ module_param(nowayout, bool, 0);
 | 
					 | 
				
			||||||
 MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default="
 | 
					 | 
				
			||||||
 				__MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
+MODULE_ALIAS("platform:bcm2835-wdt");
 | 
					 | 
				
			||||||
 MODULE_AUTHOR("Lubomir Rintel <lkundrak@v3.sk>");
 | 
					 | 
				
			||||||
 MODULE_DESCRIPTION("Driver for Broadcom BCM2835 watchdog timer");
 | 
					 | 
				
			||||||
 MODULE_LICENSE("GPL");
 | 
					 | 
				
			||||||
@@ -36,7 +36,7 @@ ChangeLog v1->v2:
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 #include <asm/byteorder.h>
 | 
					 #include <asm/byteorder.h>
 | 
				
			||||||
 #include <asm/irq.h>
 | 
					 #include <asm/irq.h>
 | 
				
			||||||
@@ -5596,7 +5597,7 @@ static int fotg210_hcd_probe(struct plat
 | 
					@@ -5600,7 +5601,7 @@ static int fotg210_hcd_probe(struct plat
 | 
				
			||||||
 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 | 
					 	hcd->regs = devm_ioremap_resource(&pdev->dev, res);
 | 
				
			||||||
 	if (IS_ERR(hcd->regs)) {
 | 
					 	if (IS_ERR(hcd->regs)) {
 | 
				
			||||||
 		retval = PTR_ERR(hcd->regs);
 | 
					 		retval = PTR_ERR(hcd->regs);
 | 
				
			||||||
@@ -45,7 +45,7 @@ ChangeLog v1->v2:
 | 
				
			|||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	hcd->rsrc_start = res->start;
 | 
					 	hcd->rsrc_start = res->start;
 | 
				
			||||||
@@ -5606,22 +5607,42 @@ static int fotg210_hcd_probe(struct plat
 | 
					@@ -5610,22 +5611,42 @@ static int fotg210_hcd_probe(struct plat
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	fotg210->caps = hcd->regs;
 | 
					 	fotg210->caps = hcd->regs;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -91,7 +91,7 @@ ChangeLog v1->v2:
 | 
				
			|||||||
 	usb_put_hcd(hcd);
 | 
					 	usb_put_hcd(hcd);
 | 
				
			||||||
 fail_create_hcd:
 | 
					 fail_create_hcd:
 | 
				
			||||||
 	dev_err(dev, "init %s fail, %d\n", dev_name(dev), retval);
 | 
					 	dev_err(dev, "init %s fail, %d\n", dev_name(dev), retval);
 | 
				
			||||||
@@ -5637,6 +5658,10 @@ static int fotg210_hcd_remove(struct pla
 | 
					@@ -5641,6 +5662,10 @@ static int fotg210_hcd_remove(struct pla
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct device *dev = &pdev->dev;
 | 
					 	struct device *dev = &pdev->dev;
 | 
				
			||||||
 	struct usb_hcd *hcd = dev_get_drvdata(dev);
 | 
					 	struct usb_hcd *hcd = dev_get_drvdata(dev);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
				
			|||||||
 #include <linux/device.h>
 | 
					 #include <linux/device.h>
 | 
				
			||||||
 #include <linux/dmapool.h>
 | 
					 #include <linux/dmapool.h>
 | 
				
			||||||
 #include <linux/kernel.h>
 | 
					 #include <linux/kernel.h>
 | 
				
			||||||
@@ -5672,9 +5673,18 @@ static int fotg210_hcd_remove(struct pla
 | 
					@@ -5676,9 +5677,18 @@ static int fotg210_hcd_remove(struct pla
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 #include <asm/byteorder.h>
 | 
					 #include <asm/byteorder.h>
 | 
				
			||||||
 #include <asm/irq.h>
 | 
					 #include <asm/irq.h>
 | 
				
			||||||
@@ -5554,6 +5558,72 @@ static void fotg210_init(struct fotg210_
 | 
					@@ -5558,6 +5562,72 @@ static void fotg210_init(struct fotg210_
 | 
				
			||||||
 	iowrite32(value, &fotg210->regs->otgcsr);
 | 
					 	iowrite32(value, &fotg210->regs->otgcsr);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
				
			|||||||
 /**
 | 
					 /**
 | 
				
			||||||
  * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
 | 
					  * fotg210_hcd_probe - initialize faraday FOTG210 HCDs
 | 
				
			||||||
  *
 | 
					  *
 | 
				
			||||||
@@ -5631,6 +5701,12 @@ static int fotg210_hcd_probe(struct plat
 | 
					@@ -5635,6 +5705,12 @@ static int fotg210_hcd_probe(struct plat
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	fotg210_init(fotg210);
 | 
					 	fotg210_init(fotg210);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,27 +0,0 @@
 | 
				
			|||||||
From b9d300b5aea18f2e992201d182d939030130aab2 Mon Sep 17 00:00:00 2001
 | 
					 | 
				
			||||||
From: Hans Ulli Kroll <ulli.kroll@googlemail.com>
 | 
					 | 
				
			||||||
Date: Sat, 14 Apr 2018 18:49:57 +0200
 | 
					 | 
				
			||||||
Subject: [PATCH 17/18] usb: host: fotg2: restart hcd after port reset
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
on Gemini SoC FOTG2 stalls after port reset
 | 
					 | 
				
			||||||
rerstart the hcd.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Signed-off-by: Hans Ulli Kroll <ulli.kroll@googlemail.com>
 | 
					 | 
				
			||||||
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 drivers/usb/host/fotg210-hcd.c | 4 ++++
 | 
					 | 
				
			||||||
 1 file changed, 4 insertions(+)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
--- a/drivers/usb/host/fotg210-hcd.c
 | 
					 | 
				
			||||||
+++ b/drivers/usb/host/fotg210-hcd.c
 | 
					 | 
				
			||||||
@@ -1633,6 +1633,10 @@ static int fotg210_hub_control(struct us
 | 
					 | 
				
			||||||
 			/* see what we found out */
 | 
					 | 
				
			||||||
 			temp = check_reset_complete(fotg210, wIndex, status_reg,
 | 
					 | 
				
			||||||
 					fotg210_readl(fotg210, status_reg));
 | 
					 | 
				
			||||||
+
 | 
					 | 
				
			||||||
+			/* restart schedule */
 | 
					 | 
				
			||||||
+			fotg210->command |= CMD_RUN;
 | 
					 | 
				
			||||||
+			fotg210_writel(fotg210, fotg210->command, &fotg210->regs->command);
 | 
					 | 
				
			||||||
 		}
 | 
					 | 
				
			||||||
 
 | 
					 | 
				
			||||||
 		if (!(temp & (PORT_RESUME|PORT_RESET))) {
 | 
					 | 
				
			||||||
@@ -1,7 +1,6 @@
 | 
				
			|||||||
diff -urN a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c
 | 
					--- a/drivers/clk/clk-devres.c
 | 
				
			||||||
--- a/drivers/clk/clk-devres.c	2019-08-29 16:59:26.540010395 +0800
 | 
					+++ b/drivers/clk/clk-devres.c
 | 
				
			||||||
+++ b/drivers/clk/clk-devres.c	2019-08-29 17:02:09.215924786 +0800
 | 
					@@ -34,6 +34,17 @@ struct clk *devm_clk_get(struct device *
 | 
				
			||||||
@@ -34,6 +34,17 @@
 | 
					 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 EXPORT_SYMBOL(devm_clk_get);
 | 
					 EXPORT_SYMBOL(devm_clk_get);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -19,9 +18,8 @@ diff -urN a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c
 | 
				
			|||||||
 struct clk_bulk_devres {
 | 
					 struct clk_bulk_devres {
 | 
				
			||||||
 	struct clk_bulk_data *clks;
 | 
					 	struct clk_bulk_data *clks;
 | 
				
			||||||
 	int num_clks;
 | 
					 	int num_clks;
 | 
				
			||||||
diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie-mediatek.c
 | 
					--- a/drivers/pci/controller/pcie-mediatek.c
 | 
				
			||||||
--- a/drivers/pci/controller/pcie-mediatek.c	2019-08-29 16:59:10.520410188 +0800
 | 
					+++ b/drivers/pci/controller/pcie-mediatek.c
 | 
				
			||||||
+++ b/drivers/pci/controller/pcie-mediatek.c	2019-08-29 17:01:58.340199243 +0800
 | 
					 | 
				
			||||||
@@ -15,6 +15,7 @@
 | 
					@@ -15,6 +15,7 @@
 | 
				
			||||||
 #include <linux/irqdomain.h>
 | 
					 #include <linux/irqdomain.h>
 | 
				
			||||||
 #include <linux/kernel.h>
 | 
					 #include <linux/kernel.h>
 | 
				
			||||||
@@ -30,7 +28,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 #include <linux/of_address.h>
 | 
					 #include <linux/of_address.h>
 | 
				
			||||||
 #include <linux/of_pci.h>
 | 
					 #include <linux/of_pci.h>
 | 
				
			||||||
 #include <linux/of_platform.h>
 | 
					 #include <linux/of_platform.h>
 | 
				
			||||||
@@ -162,6 +163,7 @@
 | 
					@@ -162,6 +163,7 @@ struct mtk_pcie_soc {
 | 
				
			||||||
  * @phy: pointer to PHY control block
 | 
					  * @phy: pointer to PHY control block
 | 
				
			||||||
  * @lane: lane count
 | 
					  * @lane: lane count
 | 
				
			||||||
  * @slot: port slot
 | 
					  * @slot: port slot
 | 
				
			||||||
@@ -38,7 +36,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
  * @irq_domain: legacy INTx IRQ domain
 | 
					  * @irq_domain: legacy INTx IRQ domain
 | 
				
			||||||
  * @inner_domain: inner IRQ domain
 | 
					  * @inner_domain: inner IRQ domain
 | 
				
			||||||
  * @msi_domain: MSI IRQ domain
 | 
					  * @msi_domain: MSI IRQ domain
 | 
				
			||||||
@@ -182,6 +184,7 @@
 | 
					@@ -182,6 +184,7 @@ struct mtk_pcie_port {
 | 
				
			||||||
 	struct phy *phy;
 | 
					 	struct phy *phy;
 | 
				
			||||||
 	u32 lane;
 | 
					 	u32 lane;
 | 
				
			||||||
 	u32 slot;
 | 
					 	u32 slot;
 | 
				
			||||||
@@ -46,7 +44,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 	struct irq_domain *irq_domain;
 | 
					 	struct irq_domain *irq_domain;
 | 
				
			||||||
 	struct irq_domain *inner_domain;
 | 
					 	struct irq_domain *inner_domain;
 | 
				
			||||||
 	struct irq_domain *msi_domain;
 | 
					 	struct irq_domain *msi_domain;
 | 
				
			||||||
@@ -225,10 +228,8 @@
 | 
					@@ -225,10 +228,8 @@ static void mtk_pcie_subsys_powerdown(st
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	clk_disable_unprepare(pcie->free_ck);
 | 
					 	clk_disable_unprepare(pcie->free_ck);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -59,7 +57,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static void mtk_pcie_port_free(struct mtk_pcie_port *port)
 | 
					 static void mtk_pcie_port_free(struct mtk_pcie_port *port)
 | 
				
			||||||
@@ -394,75 +395,6 @@
 | 
					@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 =
 | 
				
			||||||
 	.write = mtk_pcie_config_write,
 | 
					 	.write = mtk_pcie_config_write,
 | 
				
			||||||
 };
 | 
					 };
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -135,7 +133,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
 | 
					 static void mtk_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
 | 
					 	struct mtk_pcie_port *port = irq_data_get_irq_chip_data(data);
 | 
				
			||||||
@@ -601,6 +533,27 @@
 | 
					@@ -601,6 +533,27 @@ static void mtk_pcie_enable_msi(struct m
 | 
				
			||||||
 	writel(val, port->base + PCIE_INT_MASK);
 | 
					 	writel(val, port->base + PCIE_INT_MASK);
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -163,7 +161,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
 | 
					 static int mtk_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
 | 
				
			||||||
 			     irq_hw_number_t hwirq)
 | 
					 			     irq_hw_number_t hwirq)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
@@ -630,6 +583,7 @@
 | 
					@@ -630,6 +583,7 @@ static int mtk_pcie_init_irq_domain(stru
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
 | 
					 	port->irq_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
 | 
				
			||||||
 						 &intx_domain_ops, port);
 | 
					 						 &intx_domain_ops, port);
 | 
				
			||||||
@@ -171,7 +169,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 	if (!port->irq_domain) {
 | 
					 	if (!port->irq_domain) {
 | 
				
			||||||
 		dev_err(dev, "failed to get INTx IRQ domain\n");
 | 
					 		dev_err(dev, "failed to get INTx IRQ domain\n");
 | 
				
			||||||
 		return -ENODEV;
 | 
					 		return -ENODEV;
 | 
				
			||||||
@@ -639,8 +593,6 @@
 | 
					@@ -639,8 +593,6 @@ static int mtk_pcie_init_irq_domain(stru
 | 
				
			||||||
 		ret = mtk_pcie_allocate_msi_domains(port);
 | 
					 		ret = mtk_pcie_allocate_msi_domains(port);
 | 
				
			||||||
 		if (ret)
 | 
					 		if (ret)
 | 
				
			||||||
 			return ret;
 | 
					 			return ret;
 | 
				
			||||||
@@ -180,7 +178,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
@@ -693,7 +645,7 @@
 | 
					@@ -693,7 +645,7 @@ static int mtk_pcie_setup_irq(struct mtk
 | 
				
			||||||
 	struct mtk_pcie *pcie = port->pcie;
 | 
					 	struct mtk_pcie *pcie = port->pcie;
 | 
				
			||||||
 	struct device *dev = pcie->dev;
 | 
					 	struct device *dev = pcie->dev;
 | 
				
			||||||
 	struct platform_device *pdev = to_platform_device(dev);
 | 
					 	struct platform_device *pdev = to_platform_device(dev);
 | 
				
			||||||
@@ -189,7 +187,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	err = mtk_pcie_init_irq_domain(port, node);
 | 
					 	err = mtk_pcie_init_irq_domain(port, node);
 | 
				
			||||||
 	if (err) {
 | 
					 	if (err) {
 | 
				
			||||||
@@ -701,8 +653,81 @@
 | 
					@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk
 | 
				
			||||||
 		return err;
 | 
					 		return err;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -273,7 +271,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -903,49 +928,29 @@
 | 
					@@ -903,49 +928,29 @@ static int mtk_pcie_parse_port(struct mt
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 	/* sys_ck might be divided into the following parts in some chips */
 | 
					 	/* sys_ck might be divided into the following parts in some chips */
 | 
				
			||||||
 	snprintf(name, sizeof(name), "ahb_ck%d", slot);
 | 
					 	snprintf(name, sizeof(name), "ahb_ck%d", slot);
 | 
				
			||||||
@@ -338,7 +336,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	snprintf(name, sizeof(name), "pcie-rst%d", slot);
 | 
					 	snprintf(name, sizeof(name), "pcie-rst%d", slot);
 | 
				
			||||||
 	port->reset = devm_reset_control_get_optional_exclusive(dev, name);
 | 
					 	port->reset = devm_reset_control_get_optional_exclusive(dev, name);
 | 
				
			||||||
@@ -998,10 +1003,8 @@
 | 
					@@ -998,10 +1003,8 @@ static int mtk_pcie_subsys_powerup(struc
 | 
				
			||||||
 		pcie->free_ck = NULL;
 | 
					 		pcie->free_ck = NULL;
 | 
				
			||||||
 	}
 | 
					 	}
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -351,7 +349,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	/* enable top level clock */
 | 
					 	/* enable top level clock */
 | 
				
			||||||
 	err = clk_prepare_enable(pcie->free_ck);
 | 
					 	err = clk_prepare_enable(pcie->free_ck);
 | 
				
			||||||
@@ -1013,10 +1016,8 @@
 | 
					@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 err_free_ck:
 | 
					 err_free_ck:
 | 
				
			||||||
@@ -364,7 +362,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 
 | 
					 
 | 
				
			||||||
 	return err;
 | 
					 	return err;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
@@ -1125,34 +1126,6 @@
 | 
					@@ -1125,34 +1126,6 @@ static int mtk_pcie_request_resources(st
 | 
				
			||||||
 	return 0;
 | 
					 	return 0;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -399,7 +397,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 static int mtk_pcie_probe(struct platform_device *pdev)
 | 
					 static int mtk_pcie_probe(struct platform_device *pdev)
 | 
				
			||||||
 {
 | 
					 {
 | 
				
			||||||
 	struct device *dev = &pdev->dev;
 | 
					 	struct device *dev = &pdev->dev;
 | 
				
			||||||
@@ -1179,7 +1152,14 @@
 | 
					@@ -1179,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor
 | 
				
			||||||
 	if (err)
 | 
					 	if (err)
 | 
				
			||||||
 		goto put_resources;
 | 
					 		goto put_resources;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -415,7 +413,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 	if (err)
 | 
					 	if (err)
 | 
				
			||||||
 		goto put_resources;
 | 
					 		goto put_resources;
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -1192,6 +1172,80 @@
 | 
					@@ -1192,6 +1172,80 @@ put_resources:
 | 
				
			||||||
 	return err;
 | 
					 	return err;
 | 
				
			||||||
 }
 | 
					 }
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
@@ -496,7 +494,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
 static const struct mtk_pcie_soc mtk_pcie_soc_v1 = {
 | 
					 static const struct mtk_pcie_soc mtk_pcie_soc_v1 = {
 | 
				
			||||||
 	.ops = &mtk_pcie_ops,
 | 
					 	.ops = &mtk_pcie_ops,
 | 
				
			||||||
 	.startup = mtk_pcie_startup_port,
 | 
					 	.startup = mtk_pcie_startup_port,
 | 
				
			||||||
@@ -1220,10 +1274,13 @@
 | 
					@@ -1220,10 +1274,13 @@ static const struct of_device_id mtk_pci
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 static struct platform_driver mtk_pcie_driver = {
 | 
					 static struct platform_driver mtk_pcie_driver = {
 | 
				
			||||||
 	.probe = mtk_pcie_probe,
 | 
					 	.probe = mtk_pcie_probe,
 | 
				
			||||||
@@ -511,10 +509,9 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
 | 
				
			|||||||
-builtin_platform_driver(mtk_pcie_driver);
 | 
					-builtin_platform_driver(mtk_pcie_driver);
 | 
				
			||||||
+module_platform_driver(mtk_pcie_driver);
 | 
					+module_platform_driver(mtk_pcie_driver);
 | 
				
			||||||
+MODULE_LICENSE("GPL v2");
 | 
					+MODULE_LICENSE("GPL v2");
 | 
				
			||||||
diff -urN a/include/linux/clk.h b/include/linux/clk.h
 | 
					--- a/include/linux/clk.h
 | 
				
			||||||
--- a/include/linux/clk.h	2019-08-29 16:59:52.335365591 +0800
 | 
					+++ b/include/linux/clk.h
 | 
				
			||||||
+++ b/include/linux/clk.h	2019-08-29 17:02:17.107725525 +0800
 | 
					@@ -349,6 +349,17 @@ int __must_check devm_clk_bulk_get(struc
 | 
				
			||||||
@@ -349,6 +349,17 @@
 | 
					 | 
				
			||||||
 struct clk *devm_clk_get(struct device *dev, const char *id);
 | 
					 struct clk *devm_clk_get(struct device *dev, const char *id);
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 /**
 | 
					 /**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user