From: Etienne Haarsma Date: Sat, 28 Apr 2018 19:51:24 +0000 (+0200) Subject: kernel: bump kernel 4.4 to 4.4.129 for 17.01 X-Git-Tag: v17.01.5~40 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=81573ea259247f1c6c1a7a490de174d0a6c48a64;p=oweals%2Fopenwrt.git kernel: bump kernel 4.4 to 4.4.129 for 17.01 * Refreshed patches Compile-tested: ar71xx Run-tested: ar71xx Signed-off-by: Etienne Haarsma --- diff --git a/include/kernel-version.mk b/include/kernel-version.mk index ccffa7aa0e..5f2f87a4af 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -3,10 +3,10 @@ LINUX_RELEASE?=1 LINUX_VERSION-3.18 = .43 -LINUX_VERSION-4.4 = .126 +LINUX_VERSION-4.4 = .129 LINUX_KERNEL_HASH-3.18.43 = 1236e8123a6ce537d5029232560966feed054ae31776fe8481dd7d18cdd5492c -LINUX_KERNEL_HASH-4.4.126 = e9c8f4c4cda89124e7c53bda979db3f9c12f7c177bee90ddd3ab38d5ae99cd58 +LINUX_KERNEL_HASH-4.4.129 = a165c4bada6a8d2355727ef6c97669e8c87c48f28bb410af34741c87fcf4712b ifdef KERNEL_PATCHVER LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER))) diff --git a/target/linux/apm821xx/patches-4.4/701-powerpc_ibm_apm82181_phyclk_fix.patch b/target/linux/apm821xx/patches-4.4/701-powerpc_ibm_apm82181_phyclk_fix.patch index 011e785e99..3849645c28 100644 --- a/target/linux/apm821xx/patches-4.4/701-powerpc_ibm_apm82181_phyclk_fix.patch +++ b/target/linux/apm821xx/patches-4.4/701-powerpc_ibm_apm82181_phyclk_fix.patch @@ -30,7 +30,7 @@ #endif } -@@ -2587,7 +2596,7 @@ static int emac_init_config(struct emac_ +@@ -2605,7 +2614,7 @@ static int emac_init_config(struct emac_ if (of_device_is_compatible(np, "ibm,emac-apm821xx")) { dev->features |= (EMAC_APM821XX_REQ_JUMBO_FRAME_SIZE | EMAC_FTR_APM821XX_NO_HALF_DUPLEX | diff --git a/target/linux/apm821xx/patches-4.4/702-powerpc_ibm_phy_add_dt_parser.patch b/target/linux/apm821xx/patches-4.4/702-powerpc_ibm_phy_add_dt_parser.patch index c84e761ed0..17efe08f95 100644 --- a/target/linux/apm821xx/patches-4.4/702-powerpc_ibm_phy_add_dt_parser.patch +++ b/target/linux/apm821xx/patches-4.4/702-powerpc_ibm_phy_add_dt_parser.patch @@ -18,7 +18,7 @@ Subject: [PATCH] phy device tree support for emac #include #include -@@ -2392,6 +2393,246 @@ static int emac_read_uint_prop(struct de +@@ -2410,6 +2411,246 @@ static int emac_read_uint_prop(struct de return 0; } @@ -265,7 +265,7 @@ Subject: [PATCH] phy device tree support for emac static int emac_init_phy(struct emac_instance *dev) { struct device_node *np = dev->ofdev->dev.of_node; -@@ -2462,6 +2703,18 @@ static int emac_init_phy(struct emac_ins +@@ -2480,6 +2721,18 @@ static int emac_init_phy(struct emac_ins emac_configure(dev); @@ -284,7 +284,7 @@ Subject: [PATCH] phy device tree support for emac if (dev->phy_address != 0xffffffff) phy_map = ~(1 << dev->phy_address); -@@ -2489,6 +2742,7 @@ static int emac_init_phy(struct emac_ins +@@ -2507,6 +2760,7 @@ static int emac_init_phy(struct emac_ins return -ENXIO; } @@ -292,7 +292,7 @@ Subject: [PATCH] phy device tree support for emac /* Init PHY */ if (dev->phy.def->ops->init) dev->phy.def->ops->init(&dev->phy); -@@ -2907,6 +3161,8 @@ static int emac_probe(struct platform_de +@@ -2925,6 +3179,8 @@ static int emac_probe(struct platform_de /* I have a bad feeling about this ... */ err_detach_tah: @@ -301,7 +301,7 @@ Subject: [PATCH] phy device tree support for emac if (emac_has_feature(dev, EMAC_FTR_HAS_TAH)) tah_detach(dev->tah_dev, dev->tah_port); err_detach_rgmii: -@@ -2957,6 +3213,11 @@ static int emac_remove(struct platform_d +@@ -2975,6 +3231,11 @@ static int emac_remove(struct platform_d if (emac_has_feature(dev, EMAC_FTR_HAS_ZMII)) zmii_detach(dev->zmii_dev, dev->zmii_port); diff --git a/target/linux/ar71xx/patches-4.4/310-lib-add-rle-decompression.patch b/target/linux/ar71xx/patches-4.4/310-lib-add-rle-decompression.patch index f5466db176..5b2d1a11de 100644 --- a/target/linux/ar71xx/patches-4.4/310-lib-add-rle-decompression.patch +++ b/target/linux/ar71xx/patches-4.4/310-lib-add-rle-decompression.patch @@ -12,7 +12,7 @@ # ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.) --- a/lib/Makefile +++ b/lib/Makefile -@@ -110,6 +110,7 @@ obj-$(CONFIG_XZ_DEC) += xz/ +@@ -108,6 +108,7 @@ obj-$(CONFIG_XZ_DEC) += xz/ obj-$(CONFIG_RAID6_PQ) += raid6/ obj-$(CONFIG_LZMA_COMPRESS) += lzma/ obj-$(CONFIG_LZMA_DECOMPRESS) += lzma/ diff --git a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch index 7858abc64b..374f9be3b4 100644 --- a/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch +++ b/target/linux/ar71xx/patches-4.4/910-unaligned_access_hacks.patch @@ -267,7 +267,7 @@ case IPV6_2292HOPOPTS: --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c -@@ -395,7 +395,7 @@ static void ip6gre_err(struct sk_buff *s +@@ -397,7 +397,7 @@ static void ip6gre_err(struct sk_buff *s return; ipv6h = (const struct ipv6hdr *)skb->data; greh = (const struct gre_base_hdr *)(skb->data + offset); @@ -276,7 +276,7 @@ t = ip6gre_tunnel_lookup(skb->dev, &ipv6h->daddr, &ipv6h->saddr, key, greh->protocol); -@@ -482,11 +482,11 @@ static int ip6gre_rcv(struct sk_buff *sk +@@ -484,11 +484,11 @@ static int ip6gre_rcv(struct sk_buff *sk offset += 4; } if (flags&GRE_KEY) { @@ -290,7 +290,7 @@ offset += 4; } } -@@ -748,7 +748,7 @@ static netdev_tx_t ip6gre_xmit2(struct s +@@ -750,7 +750,7 @@ static netdev_tx_t ip6gre_xmit2(struct s if (tunnel->parms.o_flags&GRE_SEQ) { ++tunnel->o_seqno; @@ -299,7 +299,7 @@ ptr--; } if (tunnel->parms.o_flags&GRE_KEY) { -@@ -844,7 +844,7 @@ static inline int ip6gre_xmit_ipv6(struc +@@ -846,7 +846,7 @@ static inline int ip6gre_xmit_ipv6(struc dsfield = ipv6_get_dsfield(ipv6h); if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) @@ -310,7 +310,7 @@ if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -1307,7 +1307,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1310,7 +1310,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str dsfield = ipv6_get_dsfield(ipv6h); if (t->parms.flags & IP6_TNL_F_USE_ORIG_TCLASS) @@ -838,7 +838,7 @@ --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -3818,14 +3818,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -3820,14 +3820,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch index d9e82c78d2..8bf39adfbe 100644 --- a/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch +++ b/target/linux/brcm2708/patches-4.4/0252-clk-bcm2835-add-a-round-up-ability-to-the-clock-divi.patch @@ -16,7 +16,7 @@ Signed-off-by: Michael Turquette --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1170,22 +1170,24 @@ static int bcm2835_clock_is_on(struct cl +@@ -1172,22 +1172,24 @@ static int bcm2835_clock_is_on(struct cl static u32 bcm2835_clock_choose_div(struct clk_hw *hw, unsigned long rate, @@ -49,7 +49,7 @@ Signed-off-by: Michael Turquette /* clamp to min divider of 1 */ div = max_t(u32, div, 1 << CM_DIV_FRAC_BITS); -@@ -1225,7 +1227,7 @@ static long bcm2835_clock_round_rate(str +@@ -1227,7 +1229,7 @@ static long bcm2835_clock_round_rate(str unsigned long *parent_rate) { struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); @@ -58,7 +58,7 @@ Signed-off-by: Michael Turquette return bcm2835_clock_rate_from_divisor(clock, *parent_rate, div); } -@@ -1294,7 +1296,7 @@ static int bcm2835_clock_set_rate(struct +@@ -1296,7 +1298,7 @@ static int bcm2835_clock_set_rate(struct struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; const struct bcm2835_clock_data *data = clock->data; diff --git a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch index afaadf6059..d436077c25 100644 --- a/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch +++ b/target/linux/brcm2708/patches-4.4/0253-clk-bcm2835-Support-for-clock-parent-selection.patch @@ -24,7 +24,7 @@ Signed-off-by: Michael Turquette --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1222,16 +1222,6 @@ static long bcm2835_clock_rate_from_divi +@@ -1224,16 +1224,6 @@ static long bcm2835_clock_rate_from_divi return temp; } @@ -41,7 +41,7 @@ Signed-off-by: Michael Turquette static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw, unsigned long parent_rate) { -@@ -1303,13 +1293,75 @@ static int bcm2835_clock_set_rate(struct +@@ -1305,13 +1295,75 @@ static int bcm2835_clock_set_rate(struct return 0; } @@ -118,7 +118,7 @@ Signed-off-by: Michael Turquette }; static int bcm2835_vpu_clock_is_on(struct clk_hw *hw) -@@ -1325,7 +1377,9 @@ static const struct clk_ops bcm2835_vpu_ +@@ -1327,7 +1379,9 @@ static const struct clk_ops bcm2835_vpu_ .is_prepared = bcm2835_vpu_clock_is_on, .recalc_rate = bcm2835_clock_get_rate, .set_rate = bcm2835_clock_set_rate, @@ -129,7 +129,7 @@ Signed-off-by: Michael Turquette }; static struct clk *bcm2835_register_pll(struct bcm2835_cprman *cprman, -@@ -1419,45 +1473,23 @@ static struct clk *bcm2835_register_cloc +@@ -1421,45 +1475,23 @@ static struct clk *bcm2835_register_cloc { struct bcm2835_clock *clock; struct clk_init_data init; diff --git a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch index 8213d2b49b..65c5b6a469 100644 --- a/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch +++ b/target/linux/brcm2708/patches-4.4/0254-clk-bcm2835-Add-PWM-clock-support.patch @@ -33,7 +33,7 @@ Signed-off-by: Michael Turquette struct bcm2835_pll { struct clk_hw hw; struct bcm2835_cprman *cprman; -@@ -1607,6 +1617,9 @@ static int bcm2835_clk_probe(struct plat +@@ -1609,6 +1619,9 @@ static int bcm2835_clk_probe(struct plat cprman->regs + CM_PERIICTL, CM_GATE_BIT, 0, &cprman->regs_lock); diff --git a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch index 33578afeff..c1f1dba4e0 100644 --- a/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch +++ b/target/linux/brcm2708/patches-4.4/0256-clk-bcm2835-correctly-enable-fractional-clock-suppor.patch @@ -66,7 +66,7 @@ Reviewed-by: Eric Anholt }; struct bcm2835_pll { -@@ -1202,7 +1206,7 @@ static u32 bcm2835_clock_choose_div(stru +@@ -1204,7 +1208,7 @@ static u32 bcm2835_clock_choose_div(stru GENMASK(CM_DIV_FRAC_BITS - data->frac_bits, 0) >> 1; u64 temp = (u64)parent_rate << CM_DIV_FRAC_BITS; u64 rem; @@ -75,7 +75,7 @@ Reviewed-by: Eric Anholt rem = do_div(temp, rate); div = temp; -@@ -1212,11 +1216,23 @@ static u32 bcm2835_clock_choose_div(stru +@@ -1214,11 +1218,23 @@ static u32 bcm2835_clock_choose_div(stru div += unused_frac_mask + 1; div &= ~unused_frac_mask; @@ -104,7 +104,7 @@ Reviewed-by: Eric Anholt return div; } -@@ -1310,9 +1326,26 @@ static int bcm2835_clock_set_rate(struct +@@ -1312,9 +1328,26 @@ static int bcm2835_clock_set_rate(struct struct bcm2835_cprman *cprman = clock->cprman; const struct bcm2835_clock_data *data = clock->data; u32 div = bcm2835_clock_choose_div(hw, rate, parent_rate, false); diff --git a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch index 62bca15035..71acdadc5e 100644 --- a/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch +++ b/target/linux/brcm2708/patches-4.4/0257-clk-bcm2835-clean-up-coding-style-issues.patch @@ -33,7 +33,7 @@ Signed-off-by: Eric Anholt const char *osc_name; struct clk_onecell_data onecell; -@@ -1350,7 +1347,7 @@ static int bcm2835_clock_set_rate(struct +@@ -1352,7 +1349,7 @@ static int bcm2835_clock_set_rate(struct } static int bcm2835_clock_determine_rate(struct clk_hw *hw, @@ -42,7 +42,7 @@ Signed-off-by: Eric Anholt { struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct clk_hw *parent, *best_parent = NULL; -@@ -1408,7 +1405,6 @@ static u8 bcm2835_clock_get_parent(struc +@@ -1410,7 +1407,6 @@ static u8 bcm2835_clock_get_parent(struc return (src & CM_SRC_MASK) >> CM_SRC_SHIFT; } diff --git a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch index 391aab27ec..d7bcca201e 100644 --- a/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch +++ b/target/linux/brcm2708/patches-4.4/0258-clk-bcm2835-expose-raw-clock-registers-via-debugfs.patch @@ -58,7 +58,7 @@ Acked-by: Eric Anholt /* * These are fixed clocks. They're probably not all root clocks and it may * be possible to turn them on and off but until this is mapped out better -@@ -1048,6 +1070,36 @@ static int bcm2835_pll_set_rate(struct c +@@ -1050,6 +1072,36 @@ static int bcm2835_pll_set_rate(struct c return 0; } @@ -95,7 +95,7 @@ Acked-by: Eric Anholt static const struct clk_ops bcm2835_pll_clk_ops = { .is_prepared = bcm2835_pll_is_on, .prepare = bcm2835_pll_on, -@@ -1055,6 +1107,7 @@ static const struct clk_ops bcm2835_pll_ +@@ -1057,6 +1109,7 @@ static const struct clk_ops bcm2835_pll_ .recalc_rate = bcm2835_pll_get_rate, .set_rate = bcm2835_pll_set_rate, .round_rate = bcm2835_pll_round_rate, @@ -103,7 +103,7 @@ Acked-by: Eric Anholt }; struct bcm2835_pll_divider { -@@ -1157,6 +1210,26 @@ static int bcm2835_pll_divider_set_rate( +@@ -1159,6 +1212,26 @@ static int bcm2835_pll_divider_set_rate( return 0; } @@ -130,7 +130,7 @@ Acked-by: Eric Anholt static const struct clk_ops bcm2835_pll_divider_clk_ops = { .is_prepared = bcm2835_pll_divider_is_on, .prepare = bcm2835_pll_divider_on, -@@ -1164,6 +1237,7 @@ static const struct clk_ops bcm2835_pll_ +@@ -1166,6 +1239,7 @@ static const struct clk_ops bcm2835_pll_ .recalc_rate = bcm2835_pll_divider_get_rate, .set_rate = bcm2835_pll_divider_set_rate, .round_rate = bcm2835_pll_divider_round_rate, @@ -138,7 +138,7 @@ Acked-by: Eric Anholt }; /* -@@ -1405,6 +1479,31 @@ static u8 bcm2835_clock_get_parent(struc +@@ -1407,6 +1481,31 @@ static u8 bcm2835_clock_get_parent(struc return (src & CM_SRC_MASK) >> CM_SRC_SHIFT; } @@ -170,7 +170,7 @@ Acked-by: Eric Anholt static const struct clk_ops bcm2835_clock_clk_ops = { .is_prepared = bcm2835_clock_is_on, .prepare = bcm2835_clock_on, -@@ -1414,6 +1513,7 @@ static const struct clk_ops bcm2835_cloc +@@ -1416,6 +1515,7 @@ static const struct clk_ops bcm2835_cloc .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, .get_parent = bcm2835_clock_get_parent, @@ -178,7 +178,7 @@ Acked-by: Eric Anholt }; static int bcm2835_vpu_clock_is_on(struct clk_hw *hw) -@@ -1432,6 +1532,7 @@ static const struct clk_ops bcm2835_vpu_ +@@ -1434,6 +1534,7 @@ static const struct clk_ops bcm2835_vpu_ .determine_rate = bcm2835_clock_determine_rate, .set_parent = bcm2835_clock_set_parent, .get_parent = bcm2835_clock_get_parent, diff --git a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch index 17824b482b..0f2b9398ad 100644 --- a/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch +++ b/target/linux/brcm2708/patches-4.4/0259-clk-bcm2835-remove-use-of-BCM2835_CLOCK_COUNT-in-dri.patch @@ -56,7 +56,7 @@ Reviewed-by: Eric Anholt struct bcm2835_pll { struct clk_hw hw; struct bcm2835_cprman *cprman; -@@ -1664,14 +1683,81 @@ static struct clk *bcm2835_register_cloc +@@ -1666,14 +1685,81 @@ static struct clk *bcm2835_register_cloc return devm_clk_register(cprman->dev, &clock->hw); } @@ -139,7 +139,7 @@ Reviewed-by: Eric Anholt if (!cprman) return -ENOMEM; -@@ -1688,80 +1774,15 @@ static int bcm2835_clk_probe(struct plat +@@ -1690,80 +1776,15 @@ static int bcm2835_clk_probe(struct plat platform_set_drvdata(pdev, cprman); diff --git a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch index daef89bbf6..87f2f8d113 100644 --- a/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch +++ b/target/linux/brcm2708/patches-4.4/0260-clk-bcm2835-reorganize-bcm2835_clock_array-assignmen.patch @@ -473,7 +473,7 @@ Reviewed-by: Eric Anholt struct bcm2835_pll { struct clk_hw hw; struct bcm2835_cprman *cprman; -@@ -1600,7 +1183,7 @@ bcm2835_register_pll_divider(struct bcm2 +@@ -1602,7 +1185,7 @@ bcm2835_register_pll_divider(struct bcm2 memset(&init, 0, sizeof(init)); @@ -482,7 +482,7 @@ Reviewed-by: Eric Anholt init.num_parents = 1; init.name = divider_name; init.ops = &bcm2835_pll_divider_clk_ops; -@@ -1699,50 +1282,401 @@ struct bcm2835_clk_desc { +@@ -1701,50 +1284,401 @@ struct bcm2835_clk_desc { const void *data; }; diff --git a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch index a50197c20a..4adfec475b 100644 --- a/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch +++ b/target/linux/brcm2708/patches-4.4/0261-clk-bcm2835-enable-management-of-PCM-clock.patch @@ -17,7 +17,7 @@ Reviewed-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1644,6 +1644,13 @@ static const struct bcm2835_clk_desc clk +@@ -1646,6 +1646,13 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_HSMDIV, .int_bits = 4, .frac_bits = 8), diff --git a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch index d87919f9c8..683cc79cbe 100644 --- a/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch +++ b/target/linux/brcm2708/patches-4.4/0262-clk-bcm2835-add-missing-PLL-clock-dividers.patch @@ -14,7 +14,7 @@ Reviewed-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1393,6 +1393,22 @@ static const struct bcm2835_clk_desc clk +@@ -1395,6 +1395,22 @@ static const struct bcm2835_clk_desc clk .load_mask = CM_PLLA_LOADPER, .hold_mask = CM_PLLA_HOLDPER, .fixed_divider = 1), @@ -37,7 +37,7 @@ Reviewed-by: Eric Anholt /* PLLB is used for the ARM's clock. */ [BCM2835_PLLB] = REGISTER_PLL( -@@ -1507,6 +1523,22 @@ static const struct bcm2835_clk_desc clk +@@ -1509,6 +1525,22 @@ static const struct bcm2835_clk_desc clk .load_mask = CM_PLLD_LOADPER, .hold_mask = CM_PLLD_HOLDPER, .fixed_divider = 1), diff --git a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch index 9c9518e4e5..5683b04bd5 100644 --- a/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch +++ b/target/linux/brcm2708/patches-4.4/0263-clk-bcm2835-add-missing-osc-and-per-clocks.patch @@ -26,7 +26,7 @@ Reviewed-by: Eric Anholt #define CM_EMMCCTL 0x1c0 #define CM_EMMCDIV 0x1c4 -@@ -1616,6 +1618,12 @@ static const struct bcm2835_clk_desc clk +@@ -1618,6 +1620,12 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_TSENSDIV, .int_bits = 5, .frac_bits = 0), @@ -39,7 +39,7 @@ Reviewed-by: Eric Anholt /* clocks with vpu parent mux */ [BCM2835_CLOCK_H264] = REGISTER_VPU_CLK( -@@ -1630,6 +1638,7 @@ static const struct bcm2835_clk_desc clk +@@ -1632,6 +1640,7 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_ISPDIV, .int_bits = 4, .frac_bits = 8), @@ -47,7 +47,7 @@ Reviewed-by: Eric Anholt /* * Secondary SDRAM clock. Used for low-voltage modes when the PLL * in the SDRAM controller can't be used. -@@ -1661,6 +1670,36 @@ static const struct bcm2835_clk_desc clk +@@ -1663,6 +1672,36 @@ static const struct bcm2835_clk_desc clk .is_vpu_clock = true), /* clocks with per parent mux */ @@ -84,7 +84,7 @@ Reviewed-by: Eric Anholt /* Arasan EMMC clock */ [BCM2835_CLOCK_EMMC] = REGISTER_PER_CLK( -@@ -1669,6 +1708,29 @@ static const struct bcm2835_clk_desc clk +@@ -1671,6 +1710,29 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_EMMCDIV, .int_bits = 4, .frac_bits = 8), @@ -114,7 +114,7 @@ Reviewed-by: Eric Anholt /* HDMI state machine */ [BCM2835_CLOCK_HSM] = REGISTER_PER_CLK( .name = "hsm", -@@ -1690,12 +1752,26 @@ static const struct bcm2835_clk_desc clk +@@ -1692,12 +1754,26 @@ static const struct bcm2835_clk_desc clk .int_bits = 12, .frac_bits = 12, .is_mash_clock = true), @@ -141,7 +141,7 @@ Reviewed-by: Eric Anholt /* TV encoder clock. Only operating frequency is 108Mhz. */ [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK( .name = "vec", -@@ -1704,6 +1780,20 @@ static const struct bcm2835_clk_desc clk +@@ -1706,6 +1782,20 @@ static const struct bcm2835_clk_desc clk .int_bits = 4, .frac_bits = 0), diff --git a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch index 83c5accc5d..1395bebe08 100644 --- a/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch +++ b/target/linux/brcm2708/patches-4.4/0345-clk-bcm2835-Mark-the-VPU-clock-as-critical.patch @@ -27,7 +27,7 @@ Signed-off-by: Eric Anholt bool is_vpu_clock; bool is_mash_clock; }; -@@ -1248,7 +1250,7 @@ static struct clk *bcm2835_register_cloc +@@ -1250,7 +1252,7 @@ static struct clk *bcm2835_register_cloc init.parent_names = parents; init.num_parents = data->num_mux_parents; init.name = data->name; @@ -36,7 +36,7 @@ Signed-off-by: Eric Anholt if (data->is_vpu_clock) { init.ops = &bcm2835_vpu_clock_clk_ops; -@@ -1667,6 +1669,7 @@ static const struct bcm2835_clk_desc clk +@@ -1669,6 +1671,7 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_VPUDIV, .int_bits = 12, .frac_bits = 8, diff --git a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch index 6c6a49d93a..d5d60c59a3 100644 --- a/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch +++ b/target/linux/brcm2708/patches-4.4/0346-clk-bcm2835-Mark-GPIO-clocks-enabled-at-boot-as-crit.patch @@ -19,7 +19,7 @@ Signed-off-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1252,6 +1252,15 @@ static struct clk *bcm2835_register_cloc +@@ -1254,6 +1254,15 @@ static struct clk *bcm2835_register_cloc init.name = data->name; init.flags = data->flags | CLK_IGNORE_UNUSED; @@ -35,7 +35,7 @@ Signed-off-by: Eric Anholt if (data->is_vpu_clock) { init.ops = &bcm2835_vpu_clock_clk_ops; } else { -@@ -1726,13 +1735,15 @@ static const struct bcm2835_clk_desc clk +@@ -1728,13 +1737,15 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_GP1DIV, .int_bits = 12, .frac_bits = 12, diff --git a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch index b8e56940f5..4ba4583592 100644 --- a/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch +++ b/target/linux/brcm2708/patches-4.4/0347-clk-bcm2835-Skip-PLLC-clocks-when-deciding-on-a-new-.patch @@ -22,7 +22,7 @@ Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1026,16 +1026,28 @@ static int bcm2835_clock_set_rate(struct +@@ -1028,16 +1028,28 @@ static int bcm2835_clock_set_rate(struct return 0; } @@ -51,7 +51,7 @@ Fixes: 41691b8862e2 ("clk: bcm2835: Add support for programming the audio domain /* * Select parent clock that results in the closest but lower rate */ -@@ -1043,6 +1055,17 @@ static int bcm2835_clock_determine_rate( +@@ -1045,6 +1057,17 @@ static int bcm2835_clock_determine_rate( parent = clk_hw_get_parent_by_index(hw, i); if (!parent) continue; diff --git a/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch index b456bf5f92..7eaa99f64e 100644 --- a/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch +++ b/target/linux/brcm2708/patches-4.4/0431-clk-bcm2835-Mark-the-CM-SDRAM-clock-s-parent-as-crit.patch @@ -26,7 +26,7 @@ Signed-off-by: Eric Anholt #include #include #include -@@ -1845,6 +1846,25 @@ static const struct bcm2835_clk_desc clk +@@ -1847,6 +1848,25 @@ static const struct bcm2835_clk_desc clk .ctl_reg = CM_PERIICTL), }; @@ -52,7 +52,7 @@ Signed-off-by: Eric Anholt static int bcm2835_clk_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; -@@ -1854,6 +1874,7 @@ static int bcm2835_clk_probe(struct plat +@@ -1856,6 +1876,7 @@ static int bcm2835_clk_probe(struct plat const struct bcm2835_clk_desc *desc; const size_t asize = ARRAY_SIZE(clk_desc_array); size_t i; @@ -60,7 +60,7 @@ Signed-off-by: Eric Anholt cprman = devm_kzalloc(dev, sizeof(*cprman) + asize * sizeof(*clks), -@@ -1884,6 +1905,10 @@ static int bcm2835_clk_probe(struct plat +@@ -1886,6 +1907,10 @@ static int bcm2835_clk_probe(struct plat clks[i] = desc->clk_register(cprman, desc->data); } diff --git a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch index bc92c8adc3..adc7684d71 100644 --- a/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch +++ b/target/linux/brcm2708/patches-4.4/0432-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-divi.patch @@ -16,7 +16,7 @@ Signed-off-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1215,7 +1215,7 @@ bcm2835_register_pll_divider(struct bcm2 +@@ -1217,7 +1217,7 @@ bcm2835_register_pll_divider(struct bcm2 init.num_parents = 1; init.name = divider_name; init.ops = &bcm2835_pll_divider_clk_ops; diff --git a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch index c357d97e61..3f3641164a 100644 --- a/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch +++ b/target/linux/brcm2708/patches-4.4/0433-clk-bcm2835-Do-appropriate-name-lookups-for-DSI1-s-p.patch @@ -64,7 +64,7 @@ Signed-off-by: Eric Anholt struct clk_onecell_data onecell; struct clk *clks[]; -@@ -1174,7 +1192,7 @@ static struct clk *bcm2835_register_pll( +@@ -1176,7 +1194,7 @@ static struct clk *bcm2835_register_pll( memset(&init, 0, sizeof(init)); /* All of the PLLs derive from the external oscillator. */ @@ -73,7 +73,7 @@ Signed-off-by: Eric Anholt init.num_parents = 1; init.name = data->name; init.ops = &bcm2835_pll_clk_ops; -@@ -1257,17 +1275,21 @@ static struct clk *bcm2835_register_cloc +@@ -1259,17 +1277,21 @@ static struct clk *bcm2835_register_cloc struct bcm2835_clock *clock; struct clk_init_data init; const char *parents[1 << CM_SRC_BITS]; @@ -102,7 +102,7 @@ Signed-off-by: Eric Anholt } memset(&init, 0, sizeof(init)); -@@ -1889,8 +1911,18 @@ static int bcm2835_clk_probe(struct plat +@@ -1891,8 +1913,18 @@ static int bcm2835_clk_probe(struct plat if (IS_ERR(cprman->regs)) return PTR_ERR(cprman->regs); diff --git a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch index ad290031d7..e3a4d8c165 100644 --- a/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch +++ b/target/linux/brcm2708/patches-4.4/0434-clk-bcm2835-Add-an-enum-for-the-DSI1-pixel-clock.patch @@ -11,7 +11,7 @@ Signed-off-by: Eric Anholt --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -940,6 +940,9 @@ static long bcm2835_clock_rate_from_divi +@@ -942,6 +942,9 @@ static long bcm2835_clock_rate_from_divi const struct bcm2835_clock_data *data = clock->data; u64 temp; @@ -21,7 +21,7 @@ Signed-off-by: Eric Anholt /* * The divisor is a 12.12 fixed point field, but only some of * the bits are populated in any given clock. -@@ -963,7 +966,12 @@ static unsigned long bcm2835_clock_get_r +@@ -965,7 +968,12 @@ static unsigned long bcm2835_clock_get_r struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; const struct bcm2835_clock_data *data = clock->data; @@ -35,7 +35,7 @@ Signed-off-by: Eric Anholt return bcm2835_clock_rate_from_divisor(clock, parent_rate, div); } -@@ -1409,6 +1417,28 @@ static const char *const bcm2835_clock_v +@@ -1411,6 +1419,28 @@ static const char *const bcm2835_clock_v __VA_ARGS__) /* @@ -64,7 +64,7 @@ Signed-off-by: Eric Anholt * the real definition of all the pll, pll_dividers and clocks * these make use of the above REGISTER_* macros */ -@@ -1853,7 +1883,12 @@ static const struct bcm2835_clk_desc clk +@@ -1855,7 +1885,12 @@ static const struct bcm2835_clk_desc clk .div_reg = CM_DSI1EDIV, .int_bits = 4, .frac_bits = 8), diff --git a/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch b/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch index b209bbc523..0cc4136194 100644 --- a/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch +++ b/target/linux/brcm2708/patches-4.4/0521-clk-bcm2835-Clamp-the-PLL-s-requested-rate-to-the-ha.patch @@ -27,7 +27,7 @@ Signed-off-by: Eric Anholt bcm2835_pll_choose_ndiv_and_fdiv(rate, *parent_rate, &ndiv, &fdiv); return bcm2835_pll_rate_from_divisors(*parent_rate, ndiv, fdiv, 1); -@@ -631,13 +635,6 @@ static int bcm2835_pll_set_rate(struct c +@@ -633,13 +637,6 @@ static int bcm2835_pll_set_rate(struct c u32 ana[4]; int i; diff --git a/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch b/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch index 72f3ec6515..7b8f55880c 100644 --- a/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch +++ b/target/linux/brcm2708/patches-4.4/0580-clk-bcm2835-Fix-fixed_divider-of-pllh_aux.patch @@ -16,7 +16,7 @@ Signed-off-by: Stephen Boyd --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1661,7 +1661,7 @@ static const struct bcm2835_clk_desc clk +@@ -1663,7 +1663,7 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLH_AUX, .load_mask = CM_PLLH_LOADAUX, .hold_mask = 0, diff --git a/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch b/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch index fab8fe7164..d04059cd02 100644 --- a/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch +++ b/target/linux/brcm2708/patches-4.4/0581-clk-bcm-Support-rate-change-propagation-on-bcm2835-c.patch @@ -34,7 +34,7 @@ Signed-off-by: Stephen Boyd u32 ctl_reg; u32 div_reg; -@@ -1059,10 +1062,60 @@ bcm2835_clk_is_pllc(struct clk_hw *hw) +@@ -1061,10 +1064,60 @@ bcm2835_clk_is_pllc(struct clk_hw *hw) return strncmp(clk_hw_get_name(hw), "pllc", 4) == 0; } @@ -96,7 +96,7 @@ Signed-off-by: Stephen Boyd struct clk_hw *parent, *best_parent = NULL; bool current_parent_is_pllc; unsigned long rate, best_rate = 0; -@@ -1090,9 +1143,8 @@ static int bcm2835_clock_determine_rate( +@@ -1092,9 +1145,8 @@ static int bcm2835_clock_determine_rate( if (bcm2835_clk_is_pllc(parent) && !current_parent_is_pllc) continue; @@ -108,7 +108,7 @@ Signed-off-by: Stephen Boyd if (rate > best_rate && rate <= req->rate) { best_parent = parent; best_prate = prate; -@@ -1312,6 +1364,13 @@ static struct clk *bcm2835_register_cloc +@@ -1314,6 +1366,13 @@ static struct clk *bcm2835_register_cloc if ((cprman_read(cprman, data->ctl_reg) & CM_ENABLE) == 0) init.flags &= ~CLK_IS_CRITICAL; diff --git a/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch b/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch index 9bf5ea3033..5d403b2a03 100644 --- a/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch +++ b/target/linux/brcm2708/patches-4.4/0582-clk-bcm-Allow-rate-change-propagation-to-PLLH_AUX-on.patch @@ -19,7 +19,7 @@ Signed-off-by: Stephen Boyd --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1924,7 +1924,12 @@ static const struct bcm2835_clk_desc clk +@@ -1926,7 +1926,12 @@ static const struct bcm2835_clk_desc clk .ctl_reg = CM_VECCTL, .div_reg = CM_VECDIV, .int_bits = 4, diff --git a/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch b/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch index e8e4d24ceb..bc86027eba 100644 --- a/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch +++ b/target/linux/brcm2708/patches-4.4/0583-clk-bcm-Fix-maybe-uninitialized-warning-in-bcm2835_c.patch @@ -18,7 +18,7 @@ Signed-off-by: Stephen Boyd --- a/drivers/clk/bcm/clk-bcm2835.c +++ b/drivers/clk/bcm/clk-bcm2835.c -@@ -1071,7 +1071,7 @@ static unsigned long bcm2835_clock_choos +@@ -1073,7 +1073,7 @@ static unsigned long bcm2835_clock_choos struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; const struct bcm2835_clock_data *data = clock->data; diff --git a/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch b/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch index d91bb5672e..c79ffb5e8e 100644 --- a/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch +++ b/target/linux/brcm2708/patches-4.4/0584-clk-bcm2835-Don-t-rate-change-PLLs-on-behalf-of-DSI-.patch @@ -31,7 +31,7 @@ Signed-off-by: Stephen Boyd }; struct bcm2835_clock_data { -@@ -1290,7 +1291,7 @@ bcm2835_register_pll_divider(struct bcm2 +@@ -1292,7 +1293,7 @@ bcm2835_register_pll_divider(struct bcm2 init.num_parents = 1; init.name = divider_name; init.ops = &bcm2835_pll_divider_clk_ops; @@ -40,7 +40,7 @@ Signed-off-by: Stephen Boyd divider = devm_kzalloc(cprman->dev, sizeof(*divider), GFP_KERNEL); if (!divider) -@@ -1529,7 +1530,8 @@ static const struct bcm2835_clk_desc clk +@@ -1531,7 +1532,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLA_CORE, .load_mask = CM_PLLA_LOADCORE, .hold_mask = CM_PLLA_HOLDCORE, @@ -50,7 +50,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLA_PER] = REGISTER_PLL_DIV( .name = "plla_per", .source_pll = "plla", -@@ -1537,7 +1539,8 @@ static const struct bcm2835_clk_desc clk +@@ -1539,7 +1541,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLA_PER, .load_mask = CM_PLLA_LOADPER, .hold_mask = CM_PLLA_HOLDPER, @@ -60,7 +60,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLA_DSI0] = REGISTER_PLL_DIV( .name = "plla_dsi0", .source_pll = "plla", -@@ -1553,7 +1556,8 @@ static const struct bcm2835_clk_desc clk +@@ -1555,7 +1558,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLA_CCP2, .load_mask = CM_PLLA_LOADCCP2, .hold_mask = CM_PLLA_HOLDCCP2, @@ -70,7 +70,7 @@ Signed-off-by: Stephen Boyd /* PLLB is used for the ARM's clock. */ [BCM2835_PLLB] = REGISTER_PLL( -@@ -1577,7 +1581,8 @@ static const struct bcm2835_clk_desc clk +@@ -1579,7 +1583,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLB_ARM, .load_mask = CM_PLLB_LOADARM, .hold_mask = CM_PLLB_HOLDARM, @@ -80,7 +80,7 @@ Signed-off-by: Stephen Boyd /* * PLLC is the core PLL, used to drive the core VPU clock. -@@ -1606,7 +1611,8 @@ static const struct bcm2835_clk_desc clk +@@ -1608,7 +1613,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLC_CORE0, .load_mask = CM_PLLC_LOADCORE0, .hold_mask = CM_PLLC_HOLDCORE0, @@ -90,7 +90,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLC_CORE1] = REGISTER_PLL_DIV( .name = "pllc_core1", .source_pll = "pllc", -@@ -1614,7 +1620,8 @@ static const struct bcm2835_clk_desc clk +@@ -1616,7 +1622,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLC_CORE1, .load_mask = CM_PLLC_LOADCORE1, .hold_mask = CM_PLLC_HOLDCORE1, @@ -100,7 +100,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLC_CORE2] = REGISTER_PLL_DIV( .name = "pllc_core2", .source_pll = "pllc", -@@ -1622,7 +1629,8 @@ static const struct bcm2835_clk_desc clk +@@ -1624,7 +1631,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLC_CORE2, .load_mask = CM_PLLC_LOADCORE2, .hold_mask = CM_PLLC_HOLDCORE2, @@ -110,7 +110,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLC_PER] = REGISTER_PLL_DIV( .name = "pllc_per", .source_pll = "pllc", -@@ -1630,7 +1638,8 @@ static const struct bcm2835_clk_desc clk +@@ -1632,7 +1640,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLC_PER, .load_mask = CM_PLLC_LOADPER, .hold_mask = CM_PLLC_HOLDPER, @@ -120,7 +120,7 @@ Signed-off-by: Stephen Boyd /* * PLLD is the display PLL, used to drive DSI display panels. -@@ -1659,7 +1668,8 @@ static const struct bcm2835_clk_desc clk +@@ -1661,7 +1670,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLD_CORE, .load_mask = CM_PLLD_LOADCORE, .hold_mask = CM_PLLD_HOLDCORE, @@ -130,7 +130,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLD_PER] = REGISTER_PLL_DIV( .name = "plld_per", .source_pll = "plld", -@@ -1667,7 +1677,8 @@ static const struct bcm2835_clk_desc clk +@@ -1669,7 +1679,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLD_PER, .load_mask = CM_PLLD_LOADPER, .hold_mask = CM_PLLD_HOLDPER, @@ -140,7 +140,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLD_DSI0] = REGISTER_PLL_DIV( .name = "plld_dsi0", .source_pll = "plld", -@@ -1712,7 +1723,8 @@ static const struct bcm2835_clk_desc clk +@@ -1714,7 +1725,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLH_RCAL, .load_mask = CM_PLLH_LOADRCAL, .hold_mask = 0, @@ -150,7 +150,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLH_AUX] = REGISTER_PLL_DIV( .name = "pllh_aux", .source_pll = "pllh", -@@ -1720,7 +1732,8 @@ static const struct bcm2835_clk_desc clk +@@ -1722,7 +1734,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLH_AUX, .load_mask = CM_PLLH_LOADAUX, .hold_mask = 0, @@ -160,7 +160,7 @@ Signed-off-by: Stephen Boyd [BCM2835_PLLH_PIX] = REGISTER_PLL_DIV( .name = "pllh_pix", .source_pll = "pllh", -@@ -1728,7 +1741,8 @@ static const struct bcm2835_clk_desc clk +@@ -1730,7 +1743,8 @@ static const struct bcm2835_clk_desc clk .a2w_reg = A2W_PLLH_PIX, .load_mask = CM_PLLH_LOADPIX, .hold_mask = 0, diff --git a/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch b/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch index 95de680989..9b1e9fe57d 100644 --- a/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch +++ b/target/linux/generic/patches-4.4/046-ubifs-silence-error-output-if-MS_SILENT-is-set.patch @@ -18,7 +18,7 @@ Signed-off-by: Richard Weinberger --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c -@@ -2107,8 +2107,9 @@ static struct dentry *ubifs_mount(struct +@@ -2113,8 +2113,9 @@ static struct dentry *ubifs_mount(struct */ ubi = open_ubi(name, UBI_READONLY); if (IS_ERR(ubi)) { diff --git a/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch b/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch index 9ae6a41bff..6b48e8c305 100644 --- a/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch +++ b/target/linux/generic/patches-4.4/098-usb-dwc2-Remove-unnecessary-kfree.patch @@ -14,7 +14,7 @@ Signed-off-by: Felipe Balbi --- a/drivers/usb/dwc2/hcd.c +++ b/drivers/usb/dwc2/hcd.c -@@ -3161,7 +3161,6 @@ error3: +@@ -3164,7 +3164,6 @@ error3: error2: usb_put_hcd(hcd); error1: diff --git a/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch b/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch index f08f9b4a7c..648baa61f1 100644 --- a/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch +++ b/target/linux/generic/patches-4.4/490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch @@ -11,7 +11,7 @@ Signed-off-by: Daniel Golle --- a/drivers/mtd/ubi/build.c +++ b/drivers/mtd/ubi/build.c -@@ -1203,6 +1203,49 @@ static struct mtd_info * __init open_mtd +@@ -1214,6 +1214,49 @@ static struct mtd_info * __init open_mtd return mtd; } @@ -61,7 +61,7 @@ Signed-off-by: Daniel Golle static int __init ubi_init(void) { int err, i, k; -@@ -1286,6 +1329,12 @@ static int __init ubi_init(void) +@@ -1297,6 +1340,12 @@ static int __init ubi_init(void) } } diff --git a/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch b/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch index b75dd0f9ff..1a4b043508 100644 --- a/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch +++ b/target/linux/generic/patches-4.4/530-jffs2_make_lzma_available.patch @@ -1081,7 +1081,7 @@ ifdef CONFIG_FUNCTION_TRACER ORIG_CFLAGS := $(KBUILD_CFLAGS) KBUILD_CFLAGS = $(subst $(CC_FLAGS_FTRACE),,$(ORIG_CFLAGS)) -@@ -98,6 +108,8 @@ obj-$(CONFIG_LZ4HC_COMPRESS) += lz4/ +@@ -96,6 +106,8 @@ obj-$(CONFIG_LZ4HC_COMPRESS) += lz4/ obj-$(CONFIG_LZ4_DECOMPRESS) += lz4/ obj-$(CONFIG_XZ_DEC) += xz/ obj-$(CONFIG_RAID6_PQ) += raid6/ diff --git a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch index b11104be9e..66ce4bb51c 100644 --- a/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch +++ b/target/linux/generic/patches-4.4/653-disable_netlink_trim.patch @@ -1,6 +1,6 @@ --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1231,24 +1231,7 @@ void netlink_detachskb(struct sock *sk, +@@ -1234,24 +1234,7 @@ void netlink_detachskb(struct sock *sk, static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation) { diff --git a/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch b/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch index fe599798ce..eb7c4d8fd4 100644 --- a/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch +++ b/target/linux/generic/patches-4.4/666-Add-support-for-MAP-E-FMRs-mesh-mode.patch @@ -147,7 +147,7 @@ Signed-off-by: Steven Barth } return &ip6n->tnls[prio][h]; } -@@ -369,6 +378,12 @@ ip6_tnl_dev_uninit(struct net_device *de +@@ -372,6 +381,12 @@ ip6_tnl_dev_uninit(struct net_device *de struct net *net = t->net; struct ip6_tnl_net *ip6n = net_generic(net, ip6_tnl_net_id); @@ -160,7 +160,7 @@ Signed-off-by: Steven Barth if (dev == ip6n->fb_tnl_dev) RCU_INIT_POINTER(ip6n->tnls_wc[0], NULL); else -@@ -765,6 +780,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, +@@ -768,6 +783,108 @@ int ip6_tnl_rcv_ctl(struct ip6_tnl *t, } EXPORT_SYMBOL_GPL(ip6_tnl_rcv_ctl); @@ -269,7 +269,7 @@ Signed-off-by: Steven Barth /** * ip6_tnl_rcv - decapsulate IPv6 packet and retransmit it locally * @skb: received socket buffer -@@ -810,6 +927,26 @@ static int ip6_tnl_rcv(struct sk_buff *s +@@ -813,6 +930,26 @@ static int ip6_tnl_rcv(struct sk_buff *s skb_reset_network_header(skb); skb->protocol = htons(protocol); memset(skb->cb, 0, sizeof(struct inet6_skb_parm)); @@ -296,7 +296,7 @@ Signed-off-by: Steven Barth __skb_tunnel_rx(skb, t->dev, t->net); -@@ -1145,6 +1282,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1148,6 +1285,7 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str __u32 mtu; u8 tproto; int err; @@ -304,7 +304,7 @@ Signed-off-by: Steven Barth tproto = ACCESS_ONCE(t->parms.proto); if ((tproto != IPPROTO_IPV6 && tproto != 0) || -@@ -1175,6 +1313,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str +@@ -1178,6 +1316,18 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, str if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK) fl6.flowi6_mark = skb->mark; @@ -323,7 +323,7 @@ Signed-off-by: Steven Barth err = ip6_tnl_xmit2(skb, dev, dsfield, &fl6, encap_limit, &mtu); if (err != 0) { if (err == -EMSGSIZE) -@@ -1289,6 +1439,14 @@ ip6_tnl_change(struct ip6_tnl *t, const +@@ -1292,6 +1442,14 @@ ip6_tnl_change(struct ip6_tnl *t, const t->parms.flowinfo = p->flowinfo; t->parms.link = p->link; t->parms.proto = p->proto; @@ -338,7 +338,7 @@ Signed-off-by: Steven Barth dst_cache_reset(&t->dst_cache); ip6_tnl_link_config(t); return 0; -@@ -1327,6 +1485,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ +@@ -1330,6 +1488,7 @@ ip6_tnl_parm_from_user(struct __ip6_tnl_ p->flowinfo = u->flowinfo; p->link = u->link; p->proto = u->proto; @@ -346,7 +346,7 @@ Signed-off-by: Steven Barth memcpy(p->name, u->name, sizeof(u->name)); } -@@ -1622,6 +1781,15 @@ static int ip6_tnl_validate(struct nlatt +@@ -1625,6 +1784,15 @@ static int ip6_tnl_validate(struct nlatt return 0; } @@ -362,7 +362,7 @@ Signed-off-by: Steven Barth static void ip6_tnl_netlink_parms(struct nlattr *data[], struct __ip6_tnl_parm *parms) { -@@ -1653,6 +1821,46 @@ static void ip6_tnl_netlink_parms(struct +@@ -1656,6 +1824,46 @@ static void ip6_tnl_netlink_parms(struct if (data[IFLA_IPTUN_PROTO]) parms->proto = nla_get_u8(data[IFLA_IPTUN_PROTO]); @@ -409,7 +409,7 @@ Signed-off-by: Steven Barth } static int ip6_tnl_newlink(struct net *src_net, struct net_device *dev, -@@ -1705,6 +1913,12 @@ static void ip6_tnl_dellink(struct net_d +@@ -1708,6 +1916,12 @@ static void ip6_tnl_dellink(struct net_d static size_t ip6_tnl_get_size(const struct net_device *dev) { @@ -422,7 +422,7 @@ Signed-off-by: Steven Barth return /* IFLA_IPTUN_LINK */ nla_total_size(4) + -@@ -1722,6 +1936,24 @@ static size_t ip6_tnl_get_size(const str +@@ -1725,6 +1939,24 @@ static size_t ip6_tnl_get_size(const str nla_total_size(4) + /* IFLA_IPTUN_PROTO */ nla_total_size(1) + @@ -447,7 +447,7 @@ Signed-off-by: Steven Barth 0; } -@@ -1729,6 +1961,9 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -1732,6 +1964,9 @@ static int ip6_tnl_fill_info(struct sk_b { struct ip6_tnl *tunnel = netdev_priv(dev); struct __ip6_tnl_parm *parm = &tunnel->parms; @@ -457,7 +457,7 @@ Signed-off-by: Steven Barth if (nla_put_u32(skb, IFLA_IPTUN_LINK, parm->link) || nla_put_in6_addr(skb, IFLA_IPTUN_LOCAL, &parm->laddr) || -@@ -1737,8 +1972,27 @@ static int ip6_tnl_fill_info(struct sk_b +@@ -1740,8 +1975,27 @@ static int ip6_tnl_fill_info(struct sk_b nla_put_u8(skb, IFLA_IPTUN_ENCAP_LIMIT, parm->encap_limit) || nla_put_be32(skb, IFLA_IPTUN_FLOWINFO, parm->flowinfo) || nla_put_u32(skb, IFLA_IPTUN_FLAGS, parm->flags) || @@ -486,7 +486,7 @@ Signed-off-by: Steven Barth return 0; nla_put_failure: -@@ -1762,6 +2016,7 @@ static const struct nla_policy ip6_tnl_p +@@ -1765,6 +2019,7 @@ static const struct nla_policy ip6_tnl_p [IFLA_IPTUN_FLOWINFO] = { .type = NLA_U32 }, [IFLA_IPTUN_FLAGS] = { .type = NLA_U32 }, [IFLA_IPTUN_PROTO] = { .type = NLA_U8 }, diff --git a/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index c921a079ae..2505be10d2 100644 --- a/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/patches-4.4/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -143,7 +143,7 @@ Signed-off-by: Jonas Gorski static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -1899,6 +1916,11 @@ static struct rt6_info *ip6_route_info_c +@@ -1902,6 +1919,11 @@ static struct rt6_info *ip6_route_info_c rt->dst.output = ip6_pkt_prohibit_out; rt->dst.input = ip6_pkt_prohibit; break; @@ -155,7 +155,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -2502,6 +2524,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -2505,6 +2527,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -2744,7 +2777,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -2747,7 +2780,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -3097,6 +3131,9 @@ static int rt6_fill_node(struct net *net +@@ -3100,6 +3134,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -3376,6 +3413,8 @@ static int ip6_route_dev_notify(struct n +@@ -3379,6 +3416,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3602,6 +3641,17 @@ static int __net_init ip6_route_net_init +@@ -3605,6 +3644,17 @@ static int __net_init ip6_route_net_init net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); @@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3620,6 +3670,8 @@ out: +@@ -3623,6 +3673,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3637,6 +3689,7 @@ static void __net_exit ip6_route_net_exi +@@ -3640,6 +3692,7 @@ static void __net_exit ip6_route_net_exi #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); kfree(net->ipv6.ip6_blk_hole_entry); @@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3710,6 +3763,9 @@ void __init ip6_route_init_special_entri +@@ -3713,6 +3766,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/patches-4.4/701-phy_extension.patch b/target/linux/generic/patches-4.4/701-phy_extension.patch index 39b8fd4660..a644fd8bc0 100644 --- a/target/linux/generic/patches-4.4/701-phy_extension.patch +++ b/target/linux/generic/patches-4.4/701-phy_extension.patch @@ -1,6 +1,6 @@ --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -385,6 +385,50 @@ int phy_ethtool_gset(struct phy_device * +@@ -391,6 +391,50 @@ int phy_ethtool_gset(struct phy_device * } EXPORT_SYMBOL(phy_ethtool_gset); diff --git a/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch b/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch index 0cbd437beb..95a3ae40a1 100644 --- a/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch +++ b/target/linux/lantiq/patches-4.4/0026-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc +@@ -896,7 +896,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc +@@ -988,7 +989,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc +@@ -1000,7 +1002,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; diff --git a/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch b/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch index d10615414e..3ff11a98f6 100644 --- a/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch +++ b/target/linux/mediatek/patches-4.4/0001-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc +@@ -896,7 +896,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc +@@ -988,7 +989,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc +@@ -1000,7 +1002,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; diff --git a/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch b/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch index 0a0157be9d..b78e3e67d5 100644 --- a/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch +++ b/target/linux/mvebu/patches-4.4/125-phy-provide-a-hook-for-link-up-link-down-events.patch @@ -22,7 +22,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -849,6 +849,16 @@ void phy_start(struct phy_device *phydev +@@ -855,6 +855,16 @@ void phy_start(struct phy_device *phydev } EXPORT_SYMBOL(phy_start); @@ -39,7 +39,7 @@ Signed-off-by: Russell King /** * phy_state_machine - Handle the state machine * @work: work_struct that describes the work to be done -@@ -890,8 +900,7 @@ void phy_state_machine(struct work_struc +@@ -896,8 +906,7 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -49,7 +49,7 @@ Signed-off-by: Russell King break; } -@@ -903,9 +912,7 @@ void phy_state_machine(struct work_struc +@@ -909,9 +918,7 @@ void phy_state_machine(struct work_struc /* If AN is done, we're running */ if (err > 0) { phydev->state = PHY_RUNNING; @@ -60,7 +60,7 @@ Signed-off-by: Russell King } else if (0 == phydev->link_timeout--) needs_aneg = true; break; -@@ -930,8 +937,7 @@ void phy_state_machine(struct work_struc +@@ -936,8 +943,7 @@ void phy_state_machine(struct work_struc } } phydev->state = PHY_RUNNING; @@ -70,7 +70,7 @@ Signed-off-by: Russell King } break; case PHY_FORCING: -@@ -941,13 +947,12 @@ void phy_state_machine(struct work_struc +@@ -947,13 +953,12 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -86,7 +86,7 @@ Signed-off-by: Russell King break; case PHY_RUNNING: /* Only register a CHANGE if we are polling or ignoring -@@ -979,14 +984,12 @@ void phy_state_machine(struct work_struc +@@ -985,14 +990,12 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -103,7 +103,7 @@ Signed-off-by: Russell King if (phy_interrupt_is_valid(phydev)) err = phy_config_interrupt(phydev, PHY_INTERRUPT_ENABLED); -@@ -994,8 +997,7 @@ void phy_state_machine(struct work_struc +@@ -1000,8 +1003,7 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0; @@ -113,7 +113,7 @@ Signed-off-by: Russell King do_suspend = true; } break; -@@ -1015,11 +1017,11 @@ void phy_state_machine(struct work_struc +@@ -1021,11 +1023,11 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; @@ -127,7 +127,7 @@ Signed-off-by: Russell King } else { phydev->state = PHY_AN; phydev->link_timeout = PHY_AN_TIMEOUT; -@@ -1031,11 +1033,11 @@ void phy_state_machine(struct work_struc +@@ -1037,11 +1039,11 @@ void phy_state_machine(struct work_struc if (phydev->link) { phydev->state = PHY_RUNNING; diff --git a/target/linux/mvebu/patches-4.4/127-phy-export-phy_start_machine-for-phylink.patch b/target/linux/mvebu/patches-4.4/127-phy-export-phy_start_machine-for-phylink.patch index eb73933f3d..95be7faa14 100644 --- a/target/linux/mvebu/patches-4.4/127-phy-export-phy_start_machine-for-phylink.patch +++ b/target/linux/mvebu/patches-4.4/127-phy-export-phy_start_machine-for-phylink.patch @@ -15,7 +15,7 @@ Signed-off-by: Russell King --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -568,6 +568,7 @@ void phy_start_machine(struct phy_device +@@ -574,6 +574,7 @@ void phy_start_machine(struct phy_device { queue_delayed_work(system_power_efficient_wq, &phydev->state_queue, HZ); } diff --git a/target/linux/ramips/patches-4.4/0032-USB-dwc2-add-device_reset.patch b/target/linux/ramips/patches-4.4/0032-USB-dwc2-add-device_reset.patch index 10ce2451da..4fccaeb7df 100644 --- a/target/linux/ramips/patches-4.4/0032-USB-dwc2-add-device_reset.patch +++ b/target/linux/ramips/patches-4.4/0032-USB-dwc2-add-device_reset.patch @@ -18,7 +18,7 @@ Signed-off-by: John Crispin #include #include -@@ -3003,6 +3004,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso +@@ -3006,6 +3007,8 @@ int dwc2_hcd_init(struct dwc2_hsotg *hso retval = -ENOMEM; diff --git a/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch b/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch index 4a248ae284..21e8644db4 100644 --- a/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch +++ b/target/linux/ramips/patches-4.4/0034-NET-multi-phy-support.patch @@ -11,7 +11,7 @@ Signed-off-by: John Crispin --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c -@@ -890,7 +890,8 @@ void phy_state_machine(struct work_struc +@@ -896,7 +896,8 @@ void phy_state_machine(struct work_struc /* If the link is down, give up on negotiation for now */ if (!phydev->link) { phydev->state = PHY_NOLINK; @@ -21,7 +21,7 @@ Signed-off-by: John Crispin phydev->adjust_link(phydev->attached_dev); break; } -@@ -982,7 +983,8 @@ void phy_state_machine(struct work_struc +@@ -988,7 +989,8 @@ void phy_state_machine(struct work_struc netif_carrier_on(phydev->attached_dev); } else { phydev->state = PHY_NOLINK; @@ -31,7 +31,7 @@ Signed-off-by: John Crispin } phydev->adjust_link(phydev->attached_dev); -@@ -994,7 +996,8 @@ void phy_state_machine(struct work_struc +@@ -1000,7 +1002,8 @@ void phy_state_machine(struct work_struc case PHY_HALTED: if (phydev->link) { phydev->link = 0;