kernel: bump to 4.9.192, 4.14.143, 4.19.72

This commit is contained in:
LEAN-ESX 2019-09-14 20:43:54 -07:00
parent 867e20392f
commit 753e1f22ab
18 changed files with 57 additions and 113 deletions

View File

@ -6,13 +6,13 @@ ifdef CONFIG_TESTING_KERNEL
KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
endif
LINUX_VERSION-4.9 = .190
LINUX_VERSION-4.14 = .141
LINUX_VERSION-4.19 = .69
LINUX_VERSION-4.9 = .192
LINUX_VERSION-4.14 = .143
LINUX_VERSION-4.19 = .72
LINUX_KERNEL_HASH-4.9.190 = fe8a1ca080a462de6832762ba8b71410b828f0e52c1e11d3c46d83e9ac1e0a16
LINUX_KERNEL_HASH-4.14.141 = 0bb9f0812326ec4554de1bea02628840e03b6664b5abfd9d8510049e43203a17
LINUX_KERNEL_HASH-4.19.69 = c091760b520a4e4a4c7034a8329cc2689a0ea3f81a377b694ed196d623e2d987
LINUX_KERNEL_HASH-4.9.192 = 7a1a300cce70a4fd0d49b7fff7b1673159b61c4040c5a7c08ea333a7cb328d54
LINUX_KERNEL_HASH-4.14.143 = 2534f2f03cb937700a03dd85dcf1cb6e6f46fdd29d489580cc3183d6c0643d93
LINUX_KERNEL_HASH-4.19.72 = f9fcb6b3bd29115ac55fc154e300c3dce2044502732f6842ad6c25e6f9f51f6d
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))

View File

@ -24,7 +24,7 @@ ChangeLog v2->v3:
#include <linux/device.h>
#include <linux/dmapool.h>
#include <linux/kernel.h>
@@ -5600,6 +5601,15 @@ static int fotg210_hcd_probe(struct plat
@@ -5604,6 +5605,15 @@ static int fotg210_hcd_probe(struct plat
if (usb_disabled())
return -ENODEV;
@ -40,7 +40,7 @@ ChangeLog v2->v3:
pdev->dev.power.power_state = PMSG_ON;
res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
@@ -5676,9 +5686,18 @@ static int fotg210_hcd_remove(struct pla
@@ -5680,9 +5690,18 @@ static int fotg210_hcd_remove(struct pla
return 0;
}

View File

@ -26,7 +26,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <asm/byteorder.h>
#include <asm/irq.h>
@@ -5635,7 +5636,7 @@ static int fotg210_hcd_probe(struct plat
@@ -5639,7 +5640,7 @@ static int fotg210_hcd_probe(struct plat
hcd->regs = devm_ioremap_resource(&pdev->dev, res);
if (IS_ERR(hcd->regs)) {
retval = PTR_ERR(hcd->regs);
@ -35,7 +35,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
}
hcd->rsrc_start = res->start;
@@ -5645,22 +5646,35 @@ static int fotg210_hcd_probe(struct plat
@@ -5649,22 +5650,35 @@ static int fotg210_hcd_probe(struct plat
fotg210->caps = hcd->regs;
@ -74,7 +74,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
usb_put_hcd(hcd);
fail_create_hcd:
dev_err(dev, "init %s fail, %d\n", dev_name(dev), retval);
@@ -5676,6 +5690,10 @@ static int fotg210_hcd_remove(struct pla
@@ -5680,6 +5694,10 @@ static int fotg210_hcd_remove(struct pla
{
struct device *dev = &pdev->dev;
struct usb_hcd *hcd = dev_get_drvdata(dev);

View File

@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <asm/byteorder.h>
#include <asm/irq.h>
@@ -5583,6 +5587,72 @@ static void fotg210_init(struct fotg210_
@@ -5587,6 +5591,72 @@ static void fotg210_init(struct fotg210_
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
*
@@ -5662,6 +5732,12 @@ static int fotg210_hcd_probe(struct plat
@@ -5666,6 +5736,12 @@ static int fotg210_hcd_probe(struct plat
fotg210_init(fotg210);

View File

@ -1,26 +0,0 @@
From 731a2896e11b4e6a8d252e6c14edb1b09dbfcd46 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 1/2] 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>
---
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
@@ -1658,6 +1658,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))) {

View File

@ -22,7 +22,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <linux/device.h>
#include <linux/dmapool.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;
}

View File

@ -43,7 +43,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
#include <asm/byteorder.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);
}
@ -116,7 +116,7 @@ Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
/**
* 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);

View File

@ -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))) {

View File

@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
@@ -2213,7 +2213,7 @@ static bool tcp_small_queue_check(struct
@@ -2214,7 +2214,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;

View File

@ -48,7 +48,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
MODULE_AUTHOR("Pablo Neira Ayuso <pablo@netfilter.org>");
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -208,47 +208,14 @@ static struct nft_expr_type nft_flow_off
@@ -211,47 +211,14 @@ static struct nft_expr_type nft_flow_off
.owner = THIS_MODULE,
};

View File

@ -60,7 +60,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
nval = cmpxchg(&tp->tsq_flags, oval, nval);
if (nval != oval)
continue;
@@ -2235,6 +2235,8 @@ static bool tcp_write_xmit(struct sock *
@@ -2236,6 +2236,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;

View File

@ -19,7 +19,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -2140,6 +2140,15 @@ static bool tcp_small_queue_check(struct
@@ -2141,6 +2141,15 @@ static bool tcp_small_queue_check(struct
limit <<= factor;
if (atomic_read(&sk->sk_wmem_alloc) > limit) {

View File

@ -114,7 +114,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (nval != oval)
continue;
@@ -2149,7 +2149,7 @@ static bool tcp_small_queue_check(struct
@@ -2150,7 +2150,7 @@ static bool tcp_small_queue_check(struct
skb->prev == sk->sk_write_queue.next)
return false;
@ -123,7 +123,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
/* It is possible TX completion already happened
* before we set TSQ_THROTTLED, so we must
* test again the condition.
@@ -2247,8 +2247,8 @@ static bool tcp_write_xmit(struct sock *
@@ -2248,8 +2248,8 @@ static bool tcp_write_xmit(struct sock *
unlikely(tso_fragment(sk, skb, limit, mss_now, gfp)))
break;
@ -134,7 +134,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
if (tcp_small_queue_check(sk, skb, 0))
break;
@@ -3559,8 +3559,6 @@ void __tcp_send_ack(struct sock *sk, u32
@@ -3560,8 +3560,6 @@ void __tcp_send_ack(struct sock *sk, u32
/* We do not want pure acks influencing TCP Small Queues or fq/pacing
* too much.
* SKB_TRUESIZE(max(1 .. 66, MAX_TCP_HEADER)) is unfortunately ~784

View File

@ -74,7 +74,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
sk->sk_gso_max_size - 1 - MAX_TCP_HEADER);
/* Goal is to send at least one packet per ms,
@@ -2136,7 +2136,7 @@ static bool tcp_small_queue_check(struct
@@ -2137,7 +2137,7 @@ static bool tcp_small_queue_check(struct
{
unsigned int limit;

View File

@ -668,15 +668,15 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
--- a/drivers/net/ethernet/hisilicon/hip04_eth.c
+++ b/drivers/net/ethernet/hisilicon/hip04_eth.c
@@ -555,7 +555,7 @@ refill:
@@ -559,7 +559,7 @@ refill:
priv->reg_inten |= RCV_INT;
writel_relaxed(priv->reg_inten, priv->base + PPE_INTEN);
}
- napi_complete(napi);
+ napi_complete_done(napi, rx);
done:
/* clean up tx descriptors and start a new timer if necessary */
tx_remaining = hip04_tx_reclaim(ndev, false);
/* start a new timer if necessary */
if (rx < budget && tx_remaining)
--- a/drivers/net/ethernet/hisilicon/hisi_femac.c
+++ b/drivers/net/ethernet/hisilicon/hisi_femac.c
@@ -330,7 +330,7 @@ static int hisi_femac_poll(struct napi_s
@ -1238,7 +1238,7 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
}
--- a/drivers/net/ethernet/tundra/tsi108_eth.c
+++ b/drivers/net/ethernet/tundra/tsi108_eth.c
@@ -887,7 +887,7 @@ static int tsi108_poll(struct napi_struc
@@ -888,7 +888,7 @@ static int tsi108_poll(struct napi_struc
if (num_received < budget) {
data->rxpending = 0;

View File

@ -506,7 +506,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+MODULE_ALIAS("nf-flow-table-hw");
--- a/net/netfilter/nf_tables_api.c
+++ b/net/netfilter/nf_tables_api.c
@@ -5463,6 +5463,13 @@ static int nf_tables_flowtable_parse_hoo
@@ -5468,6 +5468,13 @@ static int nf_tables_flowtable_parse_hoo
if (err < 0)
return err;
@ -520,7 +520,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
ops = kcalloc(n, sizeof(struct nf_hook_ops), GFP_KERNEL);
if (!ops)
return -ENOMEM;
@@ -5594,10 +5601,19 @@ static int nf_tables_newflowtable(struct
@@ -5599,10 +5606,19 @@ static int nf_tables_newflowtable(struct
}
flowtable->data.type = type;
@ -540,7 +540,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
err = nf_tables_flowtable_parse_hook(&ctx, nla[NFTA_FLOWTABLE_HOOK],
flowtable);
if (err < 0)
@@ -5723,7 +5739,8 @@ static int nf_tables_fill_flowtable_info
@@ -5728,7 +5744,8 @@ static int nf_tables_fill_flowtable_info
nla_put_string(skb, NFTA_FLOWTABLE_NAME, flowtable->name) ||
nla_put_be32(skb, NFTA_FLOWTABLE_USE, htonl(flowtable->use)) ||
nla_put_be64(skb, NFTA_FLOWTABLE_HANDLE, cpu_to_be64(flowtable->handle),
@ -552,7 +552,7 @@ Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
nest = nla_nest_start(skb, NFTA_FLOWTABLE_HOOK);
--- a/net/netfilter/nft_flow_offload.c
+++ b/net/netfilter/nft_flow_offload.c
@@ -135,6 +135,9 @@ static void nft_flow_offload_eval(const
@@ -138,6 +138,9 @@ static void nft_flow_offload_eval(const
if (ret < 0)
goto err_flow_add;

View File

@ -196,7 +196,7 @@ Signed-off-by: Signed-off-by: Biwen Li <biwen.li@nxp.com>
--- a/virt/kvm/arm/vgic/vgic-v2.c
+++ b/virt/kvm/arm/vgic/vgic-v2.c
@@ -304,7 +304,8 @@ int vgic_v2_map_resources(struct kvm *kv
@@ -307,7 +307,8 @@ int vgic_v2_map_resources(struct kvm *kv
if (!static_branch_unlikely(&vgic_v2_cpuif_trap)) {
ret = kvm_phys_addr_ioremap(kvm, dist->vgic_cpu_base,
kvm_vgic_global_state.vcpu_base,

View File

@ -1,7 +1,6 @@
diff -urN a/drivers/clk/clk-devres.c b/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 2019-08-29 17:02:09.215924786 +0800
@@ -34,6 +34,17 @@
--- a/drivers/clk/clk-devres.c
+++ b/drivers/clk/clk-devres.c
@@ -34,6 +34,17 @@ struct clk *devm_clk_get(struct device *
}
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_data *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 2019-08-29 16:59:10.520410188 +0800
+++ b/drivers/pci/controller/pcie-mediatek.c 2019-08-29 17:01:58.340199243 +0800
--- a/drivers/pci/controller/pcie-mediatek.c
+++ b/drivers/pci/controller/pcie-mediatek.c
@@ -15,6 +15,7 @@
#include <linux/irqdomain.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_pci.h>
#include <linux/of_platform.h>
@@ -162,6 +163,7 @@
@@ -162,6 +163,7 @@ struct mtk_pcie_soc {
* @phy: pointer to PHY control block
* @lane: lane count
* @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
* @inner_domain: inner IRQ domain
* @msi_domain: MSI IRQ domain
@@ -182,6 +184,7 @@
@@ -182,6 +184,7 @@ struct mtk_pcie_port {
struct phy *phy;
u32 lane;
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 *inner_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);
@ -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)
@@ -394,75 +395,6 @@
@@ -394,75 +395,6 @@ static struct pci_ops mtk_pcie_ops_v2 =
.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)
{
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);
}
@ -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,
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,
&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) {
dev_err(dev, "failed to get INTx IRQ domain\n");
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);
if (ret)
return ret;
@ -180,7 +178,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
}
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 device *dev = pcie->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);
if (err) {
@@ -701,8 +653,81 @@
@@ -701,8 +653,81 @@ static int mtk_pcie_setup_irq(struct mtk
return err;
}
@ -273,7 +271,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
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 */
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);
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;
}
@ -351,7 +349,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
/* enable top level clock */
err = clk_prepare_enable(pcie->free_ck);
@@ -1013,10 +1016,8 @@
@@ -1013,10 +1016,8 @@ static int mtk_pcie_subsys_powerup(struc
return 0;
err_free_ck:
@ -364,7 +362,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
return err;
}
@@ -1125,34 +1126,6 @@
@@ -1125,34 +1126,6 @@ static int mtk_pcie_request_resources(st
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)
{
struct device *dev = &pdev->dev;
@@ -1179,7 +1152,14 @@
@@ -1179,7 +1152,14 @@ static int mtk_pcie_probe(struct platfor
if (err)
goto put_resources;
@ -415,7 +413,7 @@ diff -urN a/drivers/pci/controller/pcie-mediatek.c b/drivers/pci/controller/pcie
if (err)
goto put_resources;
@@ -1192,6 +1172,80 @@
@@ -1192,6 +1172,80 @@ put_resources:
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 = {
.ops = &mtk_pcie_ops,
.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 = {
.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);
+module_platform_driver(mtk_pcie_driver);
+MODULE_LICENSE("GPL v2");
diff -urN a/include/linux/clk.h b/include/linux/clk.h
--- a/include/linux/clk.h 2019-08-29 16:59:52.335365591 +0800
+++ b/include/linux/clk.h 2019-08-29 17:02:17.107725525 +0800
@@ -349,6 +349,17 @@
--- a/include/linux/clk.h
+++ b/include/linux/clk.h
@@ -349,6 +349,17 @@ int __must_check devm_clk_bulk_get(struc
struct clk *devm_clk_get(struct device *dev, const char *id);
/**