Refreshed all patches.
Adapted patches:
- 012-kbuild-add-macro-for-controlling-warnings-to-linux-c.patch
Compile-tested on: ar71xx, cns3xxx, imx6, x86_64
Runtime-tested on: ar71xx, cns3xxx, imx6
Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
LINUX_VERSION-3.18 = .133
LINUX_VERSION-4.9 = .154
-LINUX_VERSION-4.14 = .96
+LINUX_VERSION-4.14 = .97
LINUX_VERSION-4.19 = .18
LINUX_KERNEL_HASH-3.18.133 = 3ec7f47365a8a050e629a5016e90e38a800e840c844901c979e9e796f8dc6711
LINUX_KERNEL_HASH-4.9.154 = 5b314f1ac16f78e10acea0053f0c758e696b28f80272064e0a06bc69dc9d5696
-LINUX_KERNEL_HASH-4.14.96 = 110daeae1a416b7e0ec8dce5e86d67552deeb4567f696c3869389be239f0ecb5
+LINUX_KERNEL_HASH-4.14.97 = 8dd2c831ddabfc6241ddca946e600376785fd6f225a24655bc36a0c6b4e945f4
LINUX_KERNEL_HASH-4.19.18 = 5ffdc068f9bf768b7cd5a8a2271d1370c2326e967848b13e21dfdbb1ef0ff3f1
remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
#endif /* __MDIO_BOARD_INFO_H */
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -455,6 +455,17 @@ void mdiobus_free(struct mii_bus *bus)
+@@ -456,6 +456,17 @@ void mdiobus_free(struct mii_bus *bus)
}
EXPORT_SYMBOL(mdiobus_free);
/**
* mdiobus_scan - scan a bus for MDIO devices.
* @bus: mii_bus to scan
-@@ -470,6 +481,7 @@ EXPORT_SYMBOL(mdiobus_free);
+@@ -471,6 +482,7 @@ EXPORT_SYMBOL(mdiobus_free);
struct phy_device *mdiobus_scan(struct mii_bus *bus, int addr)
{
struct phy_device *phydev;
int err;
phydev = get_phy_device(bus, addr, false);
-@@ -482,6 +494,12 @@ struct phy_device *mdiobus_scan(struct m
+@@ -483,6 +495,12 @@ struct phy_device *mdiobus_scan(struct m
*/
of_mdiobus_link_mdiodev(bus, &phydev->mdio);
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -493,6 +493,55 @@ struct phy_device *mdiobus_scan(struct m
+@@ -494,6 +494,55 @@ struct phy_device *mdiobus_scan(struct m
EXPORT_SYMBOL(mdiobus_scan);
/**
* mdiobus_read_nested - Nested version of the mdiobus_read function
* @bus: the mii_bus struct
* @addr: the phy address
-@@ -512,11 +561,9 @@ int mdiobus_read_nested(struct mii_bus *
+@@ -513,11 +562,9 @@ int mdiobus_read_nested(struct mii_bus *
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return retval;
}
EXPORT_SYMBOL(mdiobus_read_nested);
-@@ -538,11 +585,9 @@ int mdiobus_read(struct mii_bus *bus, in
+@@ -539,11 +586,9 @@ int mdiobus_read(struct mii_bus *bus, in
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);
return retval;
}
EXPORT_SYMBOL(mdiobus_read);
-@@ -568,11 +613,9 @@ int mdiobus_write_nested(struct mii_bus
+@@ -569,11 +614,9 @@ int mdiobus_write_nested(struct mii_bus
BUG_ON(in_interrupt());
mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
return err;
}
EXPORT_SYMBOL(mdiobus_write_nested);
-@@ -595,11 +638,9 @@ int mdiobus_write(struct mii_bus *bus, i
+@@ -596,11 +639,9 @@ int mdiobus_write(struct mii_bus *bus, i
BUG_ON(in_interrupt());
mutex_lock(&bus->mdio_lock);
--- a/include/linux/compiler-gcc.h
+++ b/include/linux/compiler-gcc.h
-@@ -358,3 +358,28 @@
- * code
- */
- #define uninitialized_var(x) x = x
+@@ -362,3 +362,30 @@
+ #if GCC_VERSION >= 50100
+ #define COMPILER_HAS_GENERIC_BUILTIN_OVERFLOW 1
+ #endif
++
+
+/*
+ * Turn individual warnings and errors on and off locally, depending
+#else
+#define __diag_GCC_8(s)
+#endif
++
--- a/include/linux/compiler_types.h
+++ b/include/linux/compiler_types.h
@@ -283,4 +283,22 @@ struct ftrace_likely_data {
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -429,6 +429,7 @@ config MMC_SDHCI_MSM
- tristate "Qualcomm SDHCI Controller Support"
- depends on ARCH_QCOM || (ARM && COMPILE_TEST)
+@@ -310,6 +310,7 @@ config MMC_SDHCI_BCM_KONA
+ tristate "SDHCI support on Broadcom KONA platform"
+ depends on ARCH_BCM_MOBILE
depends on MMC_SDHCI_PLTFM
+ select MMC_SDHCI_IO_ACCESSORS
help
- This selects the Secure Digital Host Controller Interface (SDHCI)
- support present in Qualcomm SOCs. The controller supports
+ This selects the Broadcom Kona Secure Digital Host Controller
+ Interface(SDHCI) support.
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2731,10 +2731,12 @@ static const struct file_operations fib_
+@@ -2740,10 +2740,12 @@ static const struct file_operations fib_
int __net_init fib_proc_init(struct net *net)
{
&fib_triestat_fops))
goto out2;
-@@ -2744,17 +2746,21 @@ int __net_init fib_proc_init(struct net
+@@ -2753,17 +2755,21 @@ int __net_init fib_proc_init(struct net
return 0;
out3:
#include <linux/nsproxy.h>
#include <net/net_namespace.h>
#include <net/netns/generic.h>
-@@ -977,8 +982,36 @@ static int pppoe_xmit(struct ppp_channel
+@@ -978,8 +983,36 @@ static int pppoe_xmit(struct ppp_channel
return __pppoe_xmit(sk, skb);
}
static void rt_fibinfo_free(struct rtable __rcu **rtp)
--- a/net/ipv4/fib_trie.c
+++ b/net/ipv4/fib_trie.c
-@@ -2460,6 +2460,7 @@ static const char *const rtn_type_names[
+@@ -2469,6 +2469,7 @@ static const char *const rtn_type_names[
[RTN_THROW] = "THROW",
[RTN_NAT] = "NAT",
[RTN_XRESOLVE] = "XRESOLVE",
void __kfree_skb(struct sk_buff *skb);
extern struct kmem_cache *skbuff_head_cache;
-@@ -3293,6 +3294,7 @@ static inline void skb_free_datagram_loc
+@@ -3294,6 +3295,7 @@ static inline void skb_free_datagram_loc
}
int skb_kill_datagram(struct sock *sk, struct sk_buff *skb, unsigned int flags);
int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len);
reg &= ~DWC3_DCTL_INITU2ENA;
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
-@@ -3203,6 +3203,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3205,6 +3205,7 @@ int dwc3_gadget_init(struct dwc3 *dwc)
{
int ret;
int irq;
irq = dwc3_gadget_get_irq(dwc);
if (irq < 0) {
-@@ -3279,6 +3280,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
+@@ -3281,6 +3282,12 @@ int dwc3_gadget_init(struct dwc3 *dwc)
goto err4;
}
while (ep_ring->dequeue != td->last_trb)
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
-@@ -1599,13 +1599,38 @@ static int xhci_urb_dequeue(struct usb_h
+@@ -1597,13 +1597,38 @@ static int xhci_urb_dequeue(struct usb_h
ret = -ENOMEM;
goto done;
}
}
done:
spin_unlock_irqrestore(&xhci->lock, flags);
-@@ -4990,7 +5015,7 @@ int xhci_gen_setup(struct usb_hcd *hcd,
+@@ -4988,7 +5013,7 @@ int xhci_gen_setup(struct usb_hcd *hcd,
return retval;
xhci_dbg(xhci, "Called HCD init\n");
mtk->num_phys = of_count_phandle_with_args(node,
"phys", "#phy-cells");
-@@ -780,7 +723,7 @@ static int __maybe_unused xhci_mtk_suspe
+@@ -782,7 +725,7 @@ static int __maybe_unused xhci_mtk_suspe
xhci_mtk_host_disable(mtk);
xhci_mtk_phy_power_off(mtk);
xhci_mtk_clks_disable(mtk);
return 0;
}
-@@ -790,7 +733,7 @@ static int __maybe_unused xhci_mtk_resum
+@@ -792,7 +735,7 @@ static int __maybe_unused xhci_mtk_resum
struct usb_hcd *hcd = mtk->hcd;
struct xhci_hcd *xhci = hcd_to_xhci(hcd);
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -900,3 +900,5 @@ config MMC_SDHCI_XENON
+@@ -901,3 +901,5 @@ config MMC_SDHCI_XENON
This selects Marvell Xenon eMMC/SD/SDIO SDHCI.
If you have a controller with this interface, say Y or M here.
If unsure, say N.