diff options
Diffstat (limited to 'target')
14 files changed, 66 insertions, 78 deletions
diff --git a/target/linux/generic/patches-3.12/100-overlayfs.patch b/target/linux/generic/patches-3.12/100-overlayfs.patch index 6f3ea9b..3741924 100644 --- a/target/linux/generic/patches-3.12/100-overlayfs.patch +++ b/target/linux/generic/patches-3.12/100-overlayfs.patch @@ -326,7 +326,7 @@ /** * sb_permission - Check superblock-level permissions -@@ -3064,9 +3065,12 @@ finish_open_created: +@@ -3065,9 +3066,12 @@ finish_open_created: error = may_open(&nd->path, acc_mode, open_flag); if (error) goto out; diff --git a/target/linux/generic/patches-3.12/471-mtd-m25p80-allow-to-disable-small-sector-erase.patch b/target/linux/generic/patches-3.12/471-mtd-m25p80-allow-to-disable-small-sector-erase.patch index 7373c67..dfc8975 100644 --- a/target/linux/generic/patches-3.12/471-mtd-m25p80-allow-to-disable-small-sector-erase.patch +++ b/target/linux/generic/patches-3.12/471-mtd-m25p80-allow-to-disable-small-sector-erase.patch @@ -30,7 +30,7 @@ /****************************************************************************/ struct m25p { -@@ -1046,7 +1052,7 @@ static int m25p_probe(struct spi_device +@@ -1044,7 +1050,7 @@ static int m25p_probe(struct spi_device flash->mtd._write = m25p80_write; /* prefer "small sector" erase if possible */ diff --git a/target/linux/generic/patches-3.12/630-packet_socket_type.patch b/target/linux/generic/patches-3.12/630-packet_socket_type.patch index 210b18e..d1b0fe1 100644 --- a/target/linux/generic/patches-3.12/630-packet_socket_type.patch +++ b/target/linux/generic/patches-3.12/630-packet_socket_type.patch @@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> #define PACKET_FANOUT_LB 1 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c -@@ -1386,6 +1386,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1393,6 +1393,7 @@ static int packet_rcv_spkt(struct sk_buf { struct sock *sk; struct sockaddr_pkt *spkt; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> /* * When we registered the protocol we saved the socket in the data -@@ -1393,6 +1394,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1400,6 +1401,7 @@ static int packet_rcv_spkt(struct sk_buf */ sk = pt->af_packet_priv; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> /* * Yank back the headers [hope the device set this -@@ -1405,7 +1407,7 @@ static int packet_rcv_spkt(struct sk_buf +@@ -1412,7 +1414,7 @@ static int packet_rcv_spkt(struct sk_buf * so that this procedure is noop. */ @@ -51,7 +51,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> goto out; if (!net_eq(dev_net(dev), sock_net(sk))) -@@ -1612,12 +1614,12 @@ static int packet_rcv(struct sk_buff *sk +@@ -1619,12 +1621,12 @@ static int packet_rcv(struct sk_buff *sk int skb_len = skb->len; unsigned int snaplen, res; @@ -67,7 +67,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -1730,12 +1732,12 @@ static int tpacket_rcv(struct sk_buff *s +@@ -1737,12 +1739,12 @@ static int tpacket_rcv(struct sk_buff *s struct timespec ts; __u32 ts_status; @@ -83,7 +83,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (!net_eq(dev_net(dev), sock_net(sk))) goto drop; -@@ -2625,6 +2627,7 @@ static int packet_create(struct net *net +@@ -2638,6 +2640,7 @@ static int packet_create(struct net *net spin_lock_init(&po->bind_lock); mutex_init(&po->pg_vec_lock); po->prot_hook.func = packet_rcv; @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> if (sock->type == SOCK_PACKET) po->prot_hook.func = packet_rcv_spkt; -@@ -3193,6 +3196,16 @@ packet_setsockopt(struct socket *sock, i +@@ -3204,6 +3207,16 @@ packet_setsockopt(struct socket *sock, i po->tp_tx_has_off = !!val; return 0; } @@ -108,7 +108,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> default: return -ENOPROTOOPT; } -@@ -3244,6 +3257,13 @@ static int packet_getsockopt(struct sock +@@ -3255,6 +3268,13 @@ static int packet_getsockopt(struct sock case PACKET_VNET_HDR: val = po->has_vnet_hdr; break; @@ -124,9 +124,9 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org> break; --- a/net/packet/internal.h +++ b/net/packet/internal.h -@@ -114,6 +114,7 @@ struct packet_sock { - unsigned int tp_tx_has_off:1; +@@ -115,6 +115,7 @@ struct packet_sock { unsigned int tp_tstamp; + struct net_device __rcu *cached_dev; struct packet_type prot_hook ____cacheline_aligned_in_smp; + unsigned int pkt_type; }; diff --git a/target/linux/generic/patches-3.12/655-increase_skb_pad.patch b/target/linux/generic/patches-3.12/655-increase_skb_pad.patch index b2b07af..fd3d70b 100644 --- a/target/linux/generic/patches-3.12/655-increase_skb_pad.patch +++ b/target/linux/generic/patches-3.12/655-increase_skb_pad.patch @@ -1,6 +1,6 @@ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1750,7 +1750,7 @@ static inline int pskb_network_may_pull( +@@ -1741,7 +1741,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/patches-3.12/656-skb_reduce_truesize-helper.patch b/target/linux/generic/patches-3.12/656-skb_reduce_truesize-helper.patch index 07cd2a6..108a631 100644 --- a/target/linux/generic/patches-3.12/656-skb_reduce_truesize-helper.patch +++ b/target/linux/generic/patches-3.12/656-skb_reduce_truesize-helper.patch @@ -14,7 +14,7 @@ when needed. --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1795,6 +1795,24 @@ static inline void pskb_trim_unique(stru +@@ -1786,6 +1786,24 @@ static inline void pskb_trim_unique(stru BUG_ON(err); } diff --git a/target/linux/generic/patches-3.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/patches-3.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 64b2b37..27d115b 100644 --- a/target/linux/generic/patches-3.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/patches-3.12/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -127,7 +127,7 @@ static const struct rt6_info ip6_blk_hole_entry_template = { .dst = { .__refcnt = ATOMIC_INIT(1), -@@ -1577,6 +1595,9 @@ int ip6_route_add(struct fib6_config *cf +@@ -1583,6 +1601,9 @@ int ip6_route_add(struct fib6_config *cf case RTN_THROW: rt->dst.error = -EAGAIN; break; @@ -137,7 +137,7 @@ default: rt->dst.error = -ENETUNREACH; break; -@@ -2156,6 +2177,17 @@ static int ip6_pkt_prohibit_out(struct s +@@ -2162,6 +2183,17 @@ static int ip6_pkt_prohibit_out(struct s return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -155,7 +155,7 @@ #endif /* -@@ -2362,7 +2394,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -2368,7 +2400,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 || @@ -165,7 +165,7 @@ cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -2564,6 +2597,9 @@ static int rt6_fill_node(struct net *net +@@ -2570,6 +2603,9 @@ static int rt6_fill_node(struct net *net case -EACCES: rtm->rtm_type = RTN_PROHIBIT; break; @@ -175,7 +175,7 @@ case -EAGAIN: rtm->rtm_type = RTN_THROW; break; -@@ -2814,6 +2850,8 @@ static int ip6_route_dev_notify(struct n +@@ -2820,6 +2856,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); @@ -184,7 +184,7 @@ net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -3074,6 +3112,17 @@ static int __net_init ip6_route_net_init +@@ -3080,6 +3118,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); @@ -202,7 +202,7 @@ #endif net->ipv6.sysctl.flush_delay = 0; -@@ -3092,6 +3141,8 @@ out: +@@ -3098,6 +3147,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -211,7 +211,7 @@ out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -3109,6 +3160,7 @@ static void __net_exit ip6_route_net_exi +@@ -3115,6 +3166,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); @@ -219,7 +219,7 @@ #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); } -@@ -3205,6 +3257,9 @@ int __init ip6_route_init(void) +@@ -3211,6 +3263,9 @@ int __init ip6_route_init(void) 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-3.12/721-phy_packets.patch b/target/linux/generic/patches-3.12/721-phy_packets.patch index 9a1c011..9363ad1 100644 --- a/target/linux/generic/patches-3.12/721-phy_packets.patch +++ b/target/linux/generic/patches-3.12/721-phy_packets.patch @@ -34,7 +34,7 @@ #define IF_GET_IFACE 0x0001 /* for querying only */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1780,6 +1780,10 @@ static inline int pskb_trim(struct sk_bu +@@ -1771,6 +1771,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -45,7 +45,7 @@ /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -1907,16 +1911,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -1898,16 +1902,6 @@ static inline struct sk_buff *dev_alloc_ } @@ -79,7 +79,7 @@ help --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2602,9 +2602,19 @@ int dev_hard_start_xmit(struct sk_buff * +@@ -2598,9 +2598,19 @@ int dev_hard_start_xmit(struct sk_buff * if (!list_empty(&ptype_all)) dev_queue_xmit_nit(skb, dev); @@ -102,7 +102,7 @@ if (rc == NETDEV_TX_OK) txq_trans_update(txq); return rc; -@@ -2620,9 +2630,19 @@ gso: +@@ -2616,9 +2626,19 @@ gso: if (!list_empty(&ptype_all)) dev_queue_xmit_nit(nskb, dev); diff --git a/target/linux/generic/patches-3.12/820-usb_add_usb_find_device_by_name.patch b/target/linux/generic/patches-3.12/820-usb_add_usb_find_device_by_name.patch index 23d4986..99c7a36 100644 --- a/target/linux/generic/patches-3.12/820-usb_add_usb_find_device_by_name.patch +++ b/target/linux/generic/patches-3.12/820-usb_add_usb_find_device_by_name.patch @@ -74,7 +74,7 @@ * @dev: device the buffer will be used with --- a/include/linux/usb.h +++ b/include/linux/usb.h -@@ -690,6 +690,7 @@ static inline bool usb_device_no_sg_cons +@@ -692,6 +692,7 @@ static inline bool usb_device_no_sg_cons return udev && udev->bus && udev->bus->no_sg_constraint; } diff --git a/target/linux/generic/patches-3.12/902-debloat_proc.patch b/target/linux/generic/patches-3.12/902-debloat_proc.patch index a58fc4b..a004f9c 100644 --- a/target/linux/generic/patches-3.12/902-debloat_proc.patch +++ b/target/linux/generic/patches-3.12/902-debloat_proc.patch @@ -133,7 +133,7 @@ } --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -1280,10 +1280,12 @@ static int __init setup_vmstat(void) +@@ -1281,10 +1281,12 @@ static int __init setup_vmstat(void) start_cpu_timer(cpu); #endif #ifdef CONFIG_PROC_FS diff --git a/target/linux/mxs/Makefile b/target/linux/mxs/Makefile index d2d612d..be9deec 100644 --- a/target/linux/mxs/Makefile +++ b/target/linux/mxs/Makefile @@ -13,7 +13,7 @@ FEATURES:=ext4 rtc usb gpio CPU_TYPE:=arm926ej-s MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu> -LINUX_VERSION:=3.12 +LINUX_VERSION:=3.12.5 KERNELNAME:="zImage dtbs" define Target/Description diff --git a/target/linux/omap/Makefile b/target/linux/omap/Makefile index 3496018..b47c585 100644 --- a/target/linux/omap/Makefile +++ b/target/linux/omap/Makefile @@ -13,7 +13,7 @@ FEATURES:=usb usbgadget ext4 targz fpu audio display CPU_TYPE:=cortex-a9 CPU_SUBTYPE:=vfpv3 -LINUX_VERSION:=3.12 +LINUX_VERSION:=3.12.5 MAINTAINER:=Imre Kaloz <kaloz@openwrt.org> diff --git a/target/linux/omap/patches-3.12/202-ARM-OMAP2-hwmod-Extract-no-idle-and-no-reset-info-from-DT.patch b/target/linux/omap/patches-3.12/202-ARM-OMAP2-hwmod-Extract-no-idle-and-no-reset-info-from-DT.patch index 453ebd6..5622960 100644 --- a/target/linux/omap/patches-3.12/202-ARM-OMAP2-hwmod-Extract-no-idle-and-no-reset-info-from-DT.patch +++ b/target/linux/omap/patches-3.12/202-ARM-OMAP2-hwmod-Extract-no-idle-and-no-reset-info-from-DT.patch @@ -1,36 +1,49 @@ +From f92d9597f781f6a5a39c73dc71604bd8a21c5299 Mon Sep 17 00:00:00 2001 +From: Rajendra Nayak <rnayak@ti.com> +Date: Wed, 09 Oct 2013 07:26:55 +0000 +Subject: ARM: OMAP2+: hwmod: Extract no-idle and no-reset info from DT + Now that we have DT bindings to specify which devices should not be reset and idled during init, make hwmod extract the information (and store them in internal flags) from Device tree. Signed-off-by: Rajendra Nayak <rnayak@ti.com> +[paul@pwsan.com: updated to apply] +Signed-off-by: Paul Walmsley <paul@pwsan.com> --- -arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++------- - 1 file changed, 16 insertions(+), 7 deletions(-) - --- a/arch/arm/mach-omap2/omap_hwmod.c +++ b/arch/arm/mach-omap2/omap_hwmod.c -@@ -2363,11 +2363,11 @@ static struct device_node *of_dev_hwmod_ - * are part of the device's address space can be ioremapped properly. - * No return value. +@@ -2357,6 +2357,8 @@ static struct device_node *of_dev_hwmod_ + /** + * _init_mpu_rt_base - populate the virtual address for a hwmod + * @oh: struct omap_hwmod * to locate the virtual address ++ * @data: (unused, caller should pass NULL) ++ * @np: struct device_node * of the IP block's device node in the DT data + * + * Cache the virtual address used by the MPU to access this IP block's + * registers. This address is needed early so the OCP registers that +@@ -2365,11 +2367,11 @@ static struct device_node *of_dev_hwmod_ + * Returns 0 on success, -EINVAL if an invalid hwmod is passed, and + * -ENXIO on absent or invalid register target address space. */ --static void __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data) -+static void __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data, -+ struct device_node *np) +-static int __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data) ++static int __init _init_mpu_rt_base(struct omap_hwmod *oh, void *data, ++ struct device_node *np) { struct omap_hwmod_addr_space *mem; void __iomem *va_start = NULL; - struct device_node *np; if (!oh) - return; -@@ -2383,12 +2383,10 @@ static void __init _init_mpu_rt_base(str + return -EINVAL; +@@ -2385,12 +2387,10 @@ static int __init _init_mpu_rt_base(stru oh->name); /* Extract the IO space from device tree blob */ - if (!of_have_populated_dt()) + if (!np) - return; + return -ENXIO; - np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh); - if (np) @@ -39,7 +52,7 @@ arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++------- } else { va_start = ioremap(mem->pa_start, mem->pa_end - mem->pa_start); } -@@ -2420,12 +2418,16 @@ static void __init _init_mpu_rt_base(str +@@ -2423,12 +2423,16 @@ static int __init _init_mpu_rt_base(stru static int __init _init(struct omap_hwmod *oh, void *data) { int r; @@ -51,22 +64,21 @@ arch/arm/mach-omap2/omap_hwmod.c | 23 ++++++++++++++++------- + if (of_have_populated_dt()) + np = of_dev_hwmod_lookup(of_find_node_by_name(NULL, "ocp"), oh); + - if (oh->class->sysc) -- _init_mpu_rt_base(oh, NULL); -+ _init_mpu_rt_base(oh, NULL, np); - - r = _init_clocks(oh, NULL); - if (r < 0) { -@@ -2433,6 +2435,13 @@ static int __init _init(struct omap_hwmo + if (oh->class->sysc) { +- r = _init_mpu_rt_base(oh, NULL); ++ r = _init_mpu_rt_base(oh, NULL, np); + if (r < 0) { + WARN(1, "omap_hwmod: %s: doesn't have mpu register target base\n", + oh->name); +@@ -2442,6 +2446,12 @@ static int __init _init(struct omap_hwmo return -EINVAL; } -+ if (np) { ++ if (np) + if (of_find_property(np, "ti,no-reset-on-init", NULL)) + oh->flags |= HWMOD_INIT_NO_RESET; + if (of_find_property(np, "ti,no-idle-on-init", NULL)) + oh->flags |= HWMOD_INIT_NO_IDLE; -+ } + oh->_state = _HWMOD_STATE_INITIALIZED; diff --git a/target/linux/omap/patches-3.12/800-ARM_OMAP2plus_irq_AM33XX_add_missing_register_check.patch b/target/linux/omap/patches-3.12/800-ARM_OMAP2plus_irq_AM33XX_add_missing_register_check.patch deleted file mode 100644 index ca92faa..0000000 --- a/target/linux/omap/patches-3.12/800-ARM_OMAP2plus_irq_AM33XX_add_missing_register_check.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 0bebda684857f76548ea48c8886785198701d8d3 Mon Sep 17 00:00:00 2001 -From: Markus Pargmann <mpa@pengutronix.de> -Date: Thu, 17 Oct 2013 07:18:38 +0000 -Subject: ARM: OMAP2+: irq, AM33XX add missing register check - -am33xx has a INTC_PENDING_IRQ3 register that is not checked for pending -interrupts. This patch adds AM33XX to the ifdef of SOCs that have to -check this register. - -Cc: stable@vger.kernel.org -Signed-off-by: Markus Pargmann <mpa@pengutronix.de> -Signed-off-by: Tony Lindgren <tony@atomide.com> ---- ---- a/arch/arm/mach-omap2/irq.c -+++ b/arch/arm/mach-omap2/irq.c -@@ -233,7 +233,7 @@ static inline void omap_intc_handle_irq( - goto out; - - irqnr = readl_relaxed(base_addr + 0xd8); --#ifdef CONFIG_SOC_TI81XX -+#if IS_ENABLED(CONFIG_SOC_TI81XX) || IS_ENABLED(CONFIG_SOC_AM33XX) - if (irqnr) - goto out; - irqnr = readl_relaxed(base_addr + 0xf8); diff --git a/target/linux/sunxi/Makefile b/target/linux/sunxi/Makefile index 658de40..cd936dc 100644 --- a/target/linux/sunxi/Makefile +++ b/target/linux/sunxi/Makefile @@ -15,7 +15,7 @@ CPU_TYPE:=cortex-a8 CPU_SUBTYPE:=vfpv3 MAINTAINER:=Zoltan HERPAI <wigyori@uid0.hu> -LINUX_VERSION:=3.12 +LINUX_VERSION:=3.12.5 KERNELNAME:="zImage dtbs" DEFAULT_PACKAGES += uboot-envtools uboot-sunxi |