@@ -42,9 +42,6 @@ struct netlink_ext_ack {
} while (0)
#endif
-/* this is for patches we apply */
-#define netlink_notify_portid(__notify) (__notify->portid)
-#define NETLINK_CB_PORTID(__skb) NETLINK_CB(__skb).portid
#ifndef NL_SET_BAD_ATTR
#define NL_SET_BAD_ATTR(extack, attr) do { \
@@ -50,11 +50,6 @@ static inline void *genl_info_userhdr(struct genl_info *info)
return (u8 *)info->genlhdr + GENL_HDRLEN;
}
-/* this is for patches we apply */
-#define genl_info_snd_portid(__genl_info) (__genl_info->snd_portid)
-
-#define __genl_const const
-
#if LINUX_VERSION_IS_LESS(4,10,0)
#define __genl_ro_after_init
#else
@@ -151,10 +146,10 @@ struct backport_genl_family {
bool netnsok;
bool parallel_ops;
const struct nla_policy *policy;
- int (*pre_doit)(__genl_const struct genl_ops *ops,
+ int (*pre_doit)(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info);
- void (*post_doit)(__genl_const struct genl_ops *ops,
+ void (*post_doit)(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info);
/*
@@ -163,8 +158,8 @@ struct backport_genl_family {
void (*mcast_unbind)(struct net *net, int group);
*/
struct nlattr ** attrbuf; /* private */
- __genl_const struct genl_ops * ops;
- __genl_const struct genl_multicast_group *mcgrps;
+ const struct genl_ops * ops;
+ const struct genl_multicast_group *mcgrps;
unsigned int n_ops;
unsigned int n_mcgrps;
struct module *module;
@@ -17,7 +17,7 @@
#include <net/netlink.h>
#include <net/sock.h>
-static const struct genl_family *find_family_real_ops(__genl_const struct genl_ops **ops)
+static const struct genl_family *find_family_real_ops(const struct genl_ops **ops)
{
const struct genl_family *family;
const struct genl_ops *tmp_ops = *ops;
@@ -148,7 +148,7 @@ static int extack_doit(struct sk_buff *skb, struct genl_info *info)
}
#endif /* LINUX_VERSION_IS_LESS(4,12,0) */
-static int backport_pre_doit(__genl_const struct genl_ops *ops,
+static int backport_pre_doit(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info)
{
@@ -198,7 +198,7 @@ static int backport_pre_doit(__genl_const struct genl_ops *ops,
return err;
}
-static void backport_post_doit(__genl_const struct genl_ops *ops,
+static void backport_post_doit(const struct genl_ops *ops,
struct sk_buff *skb,
struct genl_info *info)
{
deleted file mode 100644
@@ -1,22 +0,0 @@
---- a/drivers/net/wireless/marvell/mwifiex/decl.h
-+++ b/drivers/net/wireless/marvell/mwifiex/decl.h
-@@ -26,7 +26,7 @@
- #include <linux/wait.h>
- #include <linux/timer.h>
- #include <linux/ieee80211.h>
--#include <uapi/linux/if_arp.h>
-+#include <linux/if_arp.h>
- #include <net/cfg80211.h>
-
- #define MWIFIEX_BSS_COEX_COUNT 2
---- a/drivers/net/wireless/marvell/mwifiex/sta_rx.c
-+++ b/drivers/net/wireless/marvell/mwifiex/sta_rx.c
-@@ -17,7 +17,7 @@
- * this warranty disclaimer.
- */
-
--#include <uapi/linux/ipv6.h>
-+#include <linux/ipv6.h>
- #include <net/ndisc.h>
- #include "decl.h"
- #include "ioctl.h"
deleted file mode 100644
@@ -1,80 +0,0 @@
-/*
-The new attribute sysfs group was added onto struct class via
-commit d05a6f96c
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains d05a6f96c
-v3.11-rc2~18^2~3
-
-This backpoort makes use of the helpers to backport this more efficiently.
-Refer to the INFO file for documentation there on that.
-
-commit d05a6f96c76062b5f25858ac02cf677602076f7e
-Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Sun Jul 14 16:05:58 2013 -0700
-
- driver core: add default groups to struct class
-
- We should be using groups, not attribute lists, for classes to allow
- subdirectories, and soon, binary files. Groups are just more flexible
- overall, so add them.
-
- The dev_attrs list will go away after all in-kernel users are converted
- to use dev_groups.
-
- Reviewed-by: Guenter Roeck <linux@roeck-us.net>
- Tested-by: Guenter Roeck <linux@roeck-us.net>
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-*/
-
-@ attribute_group @
-identifier group;
-declarer name ATTRIBUTE_GROUPS;
-@@
-
-ATTRIBUTE_GROUPS(group);
-
-@script:python attribute_groups_name@
-group << attribute_group.group;
-groups;
-@@
-coccinelle.groups = group + "_groups"
-
-@ class_group @
-identifier group_class;
-identifier attribute_groups_name.groups;
-fresh identifier group_dev_attr = attribute_group.group ## "_dev_attrs";
-@@
-
-struct class group_class = {
-+#if LINUX_VERSION_IS_GEQ(3,11,0)
- .dev_groups = groups,
-+#else
-+ .dev_attrs = group_dev_attr,
-+#endif
-};
-
-@ attribute_group_mod depends on class_group @
-declarer name ATTRIBUTE_GROUPS_BACKPORT;
-identifier attribute_group.group;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,11,0)
-ATTRIBUTE_GROUPS(group);
-+#else
-+#define BP_ATTR_GRP_STRUCT device_attribute
-+ATTRIBUTE_GROUPS_BACKPORT(group);
-+#endif
-
-@ class_registering @
-identifier class_register, ret;
-identifier class_group.group_class;
-fresh identifier group_class_init = "init_" ## attribute_group.group ## "_attrs";
-@@
-
-(
-+ group_class_init();
- return class_register(&group_class);
-|
-+ group_class_init();
- ret = class_register(&group_class);
-)
deleted file mode 100644
@@ -1,78 +0,0 @@
-/*
-The new attribute sysfs group was added onto struct bus_type via
-commit fa6fdb33b
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains fa6fdb33b
-v3.12-rc1~184^2~89
-
-This backport makes use of the helpers to backport this more efficiently.
-Refer to the INFO file for documentation there on that.
-
-commit fa6fdb33b486a8afc5439c504da8d581e142c77d
-Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Thu Aug 8 15:22:55 2013 -0700
-
- driver core: bus_type: add dev_groups
-
- attribute groups are much more flexible than just a list of attributes,
- due to their support for visibility of the attributes, and binary
- attributes. Add dev_groups to struct bus_type which should be used
- instead of dev_attrs.
-
- dev_attrs will be removed from the structure soon.
-
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-*/
-
-@ attribute_group @
-identifier group;
-declarer name ATTRIBUTE_GROUPS;
-@@
-
-ATTRIBUTE_GROUPS(group);
-
-@script:python attribute_groups_name@
-group << attribute_group.group;
-groups;
-@@
-coccinelle.groups = group + "_groups"
-
-@ bus_group @
-identifier group_bus;
-identifier attribute_groups_name.groups;
-fresh identifier group_dev_attr = attribute_group.group ## "_dev_attrs";
-@@
-
-struct bus_type group_bus = {
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- .dev_groups = groups,
-+#else
-+ .dev_attrs = group_dev_attr,
-+#endif
-};
-
-@ attribute_group_mod depends on bus_group @
-declarer name ATTRIBUTE_GROUPS_BACKPORT;
-identifier attribute_group.group;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
-ATTRIBUTE_GROUPS(group);
-+#else
-+#define BP_ATTR_GRP_STRUCT device_attribute
-+ATTRIBUTE_GROUPS_BACKPORT(group);
-+#endif
-
-@ bus_registering @
-identifier bus_register, ret;
-identifier bus_group.group_bus;
-fresh identifier group_bus_init = "init_" ## attribute_group.group ## "_attrs";
-@@
-
-(
-+ group_bus_init();
- return bus_register(&group_bus);
-|
-+ group_bus_init();
- ret = bus_register(&group_bus);
-)
deleted file mode 100644
@@ -1,54 +0,0 @@
-/* see upstream commit ced6473e74867 */
-
-@ attribute_group @
-identifier group;
-declarer name ATTRIBUTE_GROUPS;
-@@
-
-ATTRIBUTE_GROUPS(group);
-
-@script:python attribute_groups_name@
-group << attribute_group.group;
-groups;
-@@
-coccinelle.groups = group + "_groups"
-
-@ class_group @
-identifier group_class;
-identifier attribute_groups_name.groups;
-fresh identifier group_dev_attr = attribute_group.group ## "_dev_attrs";
-@@
-
-struct class group_class = {
-+#if LINUX_VERSION_IS_GEQ(4,10,0)
- .class_groups = groups,
-+#else
-+ .class_attrs = group_dev_attr,
-+#endif
-};
-
-@ attribute_group_mod depends on class_group @
-declarer name ATTRIBUTE_GROUPS_BACKPORT;
-identifier attribute_group.group;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(4,10,0)
-ATTRIBUTE_GROUPS(group);
-+#else
-+#define BP_ATTR_GRP_STRUCT class_attribute
-+ATTRIBUTE_GROUPS_BACKPORT(group);
-+#endif
-
-@ class_registering @
-identifier class_register, ret;
-identifier class_group.group_class;
-fresh identifier group_class_init = "init_" ## attribute_group.group ## "_attrs";
-@@
-
-(
-+ group_class_init();
- return class_register(&group_class);
-|
-+ group_class_init();
- ret = class_register(&group_class);
-)
deleted file mode 100644
@@ -1,40 +0,0 @@
-The new attribute sysfs group was added via these commits:
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains f2f37f58b
-v3.11-rc2~18^2~9
-mcgrof@ergon ~/linux (git::master)$ git describe --contains 3493f69f4
-v3.11-rc2~18^2~2
-
-We backport them with our own respective set of helpers. Each new data
-structure that gets an attribute group needs a respective SmPL set of
-rules for the transformation. We might be able to share the rules for
-lookup / indexing between rules some how. These lookup reveal would
-be used for inherent structural searches, pivots, if you will.
-
-The changes that added the new APIs:
-
-commit f2f37f58b1b933b06d6d84e80a31a1b500fb0db2
-Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-Date: Sun Jul 14 16:05:52 2013 -0700
-
- sysfs.h: add ATTRIBUTE_GROUPS() macro
-
- To make it easier for driver subsystems to work with attribute groups,
- create the ATTRIBUTE_GROUPS macro to remove some of the repetitive
- typing for the most common use for attribute groups.
-
- Reviewed-by: Guenter Roeck <linux@roeck-us.net>
- Tested-by: Guenter Roeck <linux@roeck-us.net>
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-commit 3493f69f4c4e8703961919a9a56c2d2e6a25b46f
-Author: Oliver Schinagl <oliver@schinagl.nl>
-Date: Sun Jul 14 16:05:59 2013 -0700
-
- sysfs: add more helper macro's for (bin_)attribute(_groups)
-
- With the recent changes to sysfs there's various helper macro's.
- However there's no RW, RO BIN_ helper macro's. This patch adds them.
-
- Signed-off-by: Oliver Schinagl <oliver@schinagl.nl>
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
deleted file mode 100644
@@ -1,17 +0,0 @@
-@@
-struct netlink_notify *notify;
-@@
--notify->portid
-+netlink_notify_portid(notify)
-
-@@
-struct genl_info *info;
-@@
--info->snd_portid
-+genl_info_snd_portid(info)
-
-@@
-expression skb;
-@@
--NETLINK_CB(skb).portid
-+NETLINK_CB_PORTID(skb)
deleted file mode 100644
@@ -1,46 +0,0 @@
-On older kernels, we can't do this workaround, so if you use
-an old 64-bit kernel with compat you'd better upgrade.
-
-For more details of this work around refer to this commit
-upstream that deals with the code added:
-
-commit 645e77def93f1dd0e211c7244fbe152dac8a7100
-Author: Johannes Berg <johannes.berg@intel.com>
-Date: Fri Mar 1 14:03:49 2013 +0100
-
- nl80211: increase wiphy dump size dynamically
-
- Given a device with many channels capabilities the wiphy
- information can still overflow even though its size in
- 3.9 was reduced to 3.8 levels. For new userspace and
- kernel 3.10 we're going to implement a new "split dump"
- protocol that can use multiple messages per wiphy.
-
- For now though, add a workaround to be able to send more
- information to userspace. Since generic netlink doesn't
- have a way to set the minimum dump size globally, and we
- wouldn't really want to set it globally anyway, increase
- the size only when needed, as described in the comments.
- As userspace might not be prepared for large buffers, we
- can only use 4k.
-
- Also increase the size for the get_wiphy command.
-
---- a/net/wireless/nl80211.c
-+++ b/net/wireless/nl80211.c
-@@ -2771,6 +2771,7 @@ static int nl80211_dump_wiphy(struct sk_
- cb->nlh->nlmsg_seq,
- NLM_F_MULTI, state);
- if (ret < 0) {
-+#if LINUX_VERSION_IS_GEQ(3,1,0)
- /*
- * If sending the wiphy data didn't fit (ENOBUFS
- * or EMSGSIZE returned), this SKB is still
-@@ -2792,6 +2793,7 @@ static int nl80211_dump_wiphy(struct sk_
- rtnl_unlock();
- return 1;
- }
-+#endif
- idx--;
- break;
- }
deleted file mode 100644
@@ -1,2 +0,0 @@
-Some quirks require base kernel updates, these are work
-around for kernels that would not have these quirks.
deleted file mode 100644
@@ -1,15 +0,0 @@
---- a/drivers/net/wireless/st/cw1200/cw1200_sdio.c
-+++ b/drivers/net/wireless/st/cw1200/cw1200_sdio.c
-@@ -245,6 +245,12 @@ static size_t cw1200_sdio_align_size(str
- else
- size = sdio_align_size(self->func, size);
-
-+#if LINUX_VERSION_IS_LESS(3, 2, 0)
-+ /* A quirk to handle this was committed in 3.2-rc */
-+ if (size == SDIO_BLOCK_SIZE)
-+ size += SDIO_BLOCK_SIZE; /* HW bug; force use of block mode */
-+#endif
-+
- return size;
- }
-
deleted file mode 100644
@@ -1,10 +0,0 @@
---- a/drivers/net/wireless/ath/ath10k/htt.h
-+++ b/drivers/net/wireless/ath/ath10k/htt.h
-@@ -9,6 +9,7 @@
- #define _HTT_H_
-
- #include <linux/bug.h>
-+#include <linux/idr.h>
- #include <linux/interrupt.h>
- #include <linux/dmapool.h>
- #include <linux/hashtable.h>
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/net/wireless/nl80211.c
-+++ b/net/wireless/nl80211.c
-@@ -9315,7 +9315,9 @@ static int nl80211_dump_scan(struct sk_b
- if (start == 0)
- cfg80211_bss_expire(rdev);
-
-+#if LINUX_VERSION_IS_GEQ(3,1,0)
- cb->seq = rdev->bss_generation;
-+#endif
-
- list_for_each_entry(scan, &rdev->bss_list, list) {
- if (++idx <= start)
deleted file mode 100644
@@ -1,14 +0,0 @@
---- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-+++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c
-@@ -161,7 +161,11 @@ that only one external action is invoked
- #define DRV_DESCRIPTION "Intel(R) PRO/Wireless 2100 Network Driver"
- #define DRV_COPYRIGHT "Copyright(c) 2003-2006 Intel Corporation"
-
-+#if LINUX_VERSION_IS_LESS(3,2,0)
-+static struct pm_qos_request_list ipw2100_pm_qos_req;
-+#else
- static struct pm_qos_request ipw2100_pm_qos_req;
-+#endif
-
- /* Debugging stuff */
- #ifdef CONFIG_IPW2100_DEBUG
deleted file mode 100644
@@ -1,5 +0,0 @@
-This section of the libertas driver calls functions that simply don't
-exist before the release of 3.1. This code in question was an addition,
-not a change from any existing code. It is safe to simply remove it for
-older kernels.
-
deleted file mode 100644
@@ -1,18 +0,0 @@
---- a/drivers/net/wireless/marvell/libertas/if_usb.c
-+++ b/drivers/net/wireless/marvell/libertas/if_usb.c
-@@ -941,6 +941,7 @@ static int if_usb_suspend(struct usb_int
- goto out;
- }
-
-+#if LINUX_VERSION_IS_GEQ(3,1,0)
- #ifdef CONFIG_OLPC
- if (machine_is_olpc()) {
- if (priv->wol_criteria == EHS_REMOVE_WAKEUP)
-@@ -949,6 +950,7 @@ static int if_usb_suspend(struct usb_int
- olpc_ec_wakeup_set(EC_SCI_SRC_WLAN);
- }
- #endif
-+#endif
-
- ret = lbs_suspend(priv);
- if (ret)
deleted file mode 100644
@@ -1,27 +0,0 @@
-Linux 3.5 will have get_ts_info to support the Precision Time Protocol.
-
-http://linuxptp.sourceforge.net/
-http://en.wikipedia.org/wiki/Precision_Time_Protocol
-
-We cannot backport this support given that this introduces
-a data structure change on the ethtool_ops.
-
-commit c8f3a8c31069137fe0100e6920558f1a7487ef3c
-Author: Richard Cochran <richardcochran@gmail.com>
-Date: Tue Apr 3 22:59:17 2012 +0000
-
- ethtool: Introduce a method for getting time stamping capabilities.
-
- This commit adds a new ethtool ioctl that exposes the SO_TIMESTAMPING
- capabilities of a network interface. In addition, user space programs
- can use this ioctl to discover the PTP Hardware Clock (PHC) device
- associated with the interface.
-
- Since software receive time stamps are handled by the stack, the generic
- ethtool code can answer the query correctly in case the MAC or PHY
- drivers lack special time stamping features.
-
- Signed-off-by: Richard Cochran <richardcochran@gmail.com>
- Reviewed-by: Ben Hutchings <bhutchings@solarflare.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
-
deleted file mode 100644
@@ -1,19 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct ethtool_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-.get_ts_info = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
deleted file mode 100644
@@ -1,9 +0,0 @@
-@@
-identifier backport_driver;
-@@
-struct usb_driver backport_driver = {
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
- .disable_hub_initiated_lpm = 1,
-+#endif
-...
-};
deleted file mode 100644
@@ -1,23 +0,0 @@
-This patch requires a manual backport:
-
-commit adc8d746caa67fff4b53ba3e5163a6cbacc3b523
-Author: Alan Cox <alan@linux.intel.com>
-Date: Sat Jul 14 15:31:47 2012 +0100
-
- tty: move the termios object into the tty
-
- This will let us sort out a whole pile of tty related races. The
- alternative would be to keep points and refcount the termios objects.
- However
- 1. They are tiny anyway
- 2. Many devices don't use the stored copies
- 3. We can remove a pty special case
-
- Signed-off-by: Alan Cox <alan@linux.intel.com>
- Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
-We cannot use compat.git for this given that the assignment
-was not done through a static inline helper.
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains adc8d746caa67fff4b53ba3e5163a6cbacc3b523
-v3.7-rc1~172^2~187
deleted file mode 100644
@@ -1,14 +0,0 @@
---- a/drivers/net/wireless/ath/ath10k/spectral.c
-+++ b/drivers/net/wireless/ath/ath10k/spectral.c
-@@ -475,7 +475,11 @@ static const struct file_operations fops
-
- static struct dentry *create_buf_file_handler(const char *filename,
- struct dentry *parent,
-+#if LINUX_VERSION_IS_GEQ(3,3,0)
- umode_t mode,
-+#else
-+ int mode,
-+#endif
- struct rchan_buf *buf,
- int *is_global)
- {
deleted file mode 100644
@@ -1,14 +0,0 @@
---- a/drivers/net/wireless/ath/ath9k/common-spectral.c
-+++ b/drivers/net/wireless/ath/ath9k/common-spectral.c
-@@ -1031,7 +1031,11 @@ static const struct file_operations fops
-
- static struct dentry *create_buf_file_handler(const char *filename,
- struct dentry *parent,
-+#if LINUX_VERSION_IS_GEQ(3,3,0)
- umode_t mode,
-+#else
-+ int mode,
-+#endif
- struct rchan_buf *buf,
- int *is_global)
- {
deleted file mode 100644
@@ -1,9 +0,0 @@
-For some reason the tracing on older kernels requires
-the tracing to be declared before it's defined; it's
-broken when the trace header is only included to create
-the tracepoints.
-
-Since new kernels don't, add patches for the two places
-that rely on the new behaviour.
-
-The kernel that requires this has not been identified...
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/drivers/net/wireless/ath/ath6kl/trace.c
-+++ b/drivers/net/wireless/ath/ath6kl/trace.c
-@@ -15,6 +15,9 @@
- */
-
- #include <linux/module.h>
-+#if LINUX_VERSION_IS_LESS(3,1,0)
-+#include <linux/interrupt.h>
-+#endif
-
- #define CREATE_TRACE_POINTS
- #include "trace.h"
deleted file mode 100644
@@ -1,10 +0,0 @@
---- a/net/wireless/trace.c
-+++ b/net/wireless/trace.c
-@@ -1,4 +1,7 @@
- #include <linux/module.h>
-+#if LINUX_VERSION_IS_LESS(3,1,0)
-+#include <linux/interrupt.h>
-+#endif
-
- #ifndef __CHECKER__
- #define CREATE_TRACE_POINTS
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/drivers/net/wireless/mediatek/mt7601u/trace.c
-+++ b/drivers/net/wireless/mediatek/mt7601u/trace.c
-@@ -5,6 +5,9 @@
- */
-
- #include <linux/module.h>
-+#if LINUX_VERSION_IS_LESS(3,4,0)
-+#include <linux/interrupt.h>
-+#endif
-
- #ifndef __CHECKER__
- #define CREATE_TRACE_POINTS
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/drivers/net/wireless/ath/wil6210/trace.c
-+++ b/drivers/net/wireless/ath/wil6210/trace.c
-@@ -4,6 +4,9 @@
- */
-
- #include <linux/module.h>
-+#if LINUX_VERSION_IS_LESS(3,1,0)
-+#include <linux/interrupt.h>
-+#endif
-
- #define CREATE_TRACE_POINTS
- #include "trace.h"
deleted file mode 100644
@@ -1,13 +0,0 @@
-backports: use old led api on old kernel versions.
-
-Usage of a new led api was introduced in mac80211, this patch make
-backports use the old api on older kernel versions. This could cause a
-problem with the led, the transmit led could stay on if nothing is
-transfered.
-
-This backports the following upstream commit:
-commit e47f2509e5f182f4df144406de6f2bc78179d57e
-Author: Fabio Baltieri <fabio.baltieri@gmail.com>
-Date: Thu Jul 25 12:00:26 2013 +0200
-
- mac80211: use oneshot blink API for LED triggers
deleted file mode 100644
@@ -1,51 +0,0 @@
---- a/net/mac80211/ieee80211_i.h
-+++ b/net/mac80211/ieee80211_i.h
-@@ -1320,6 +1320,7 @@ struct ieee80211_local {
- struct mutex chanctx_mtx;
-
- #ifdef CONFIG_MAC80211_LEDS
-+ int tx_led_counter, rx_led_counter;
- struct led_trigger tx_led, rx_led, assoc_led, radio_led;
- struct led_trigger tpt_led;
- atomic_t tx_led_active, rx_led_active, assoc_led_active;
---- a/net/mac80211/led.h
-+++ b/net/mac80211/led.h
-@@ -13,22 +13,36 @@
- static inline void ieee80211_led_rx(struct ieee80211_local *local)
- {
- #ifdef CONFIG_MAC80211_LEDS
-- unsigned long led_delay = MAC80211_BLINK_DELAY;
-+ unsigned long led_delay __maybe_unused = MAC80211_BLINK_DELAY;
-
- if (!atomic_read(&local->rx_led_active))
- return;
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
- led_trigger_blink_oneshot(&local->rx_led, &led_delay, &led_delay, 0);
-+#else
-+ if (local->rx_led_counter++ % 2 == 0)
-+ led_trigger_event(&local->rx_led, LED_OFF);
-+ else
-+ led_trigger_event(&local->rx_led, LED_FULL);
-+#endif
- #endif
- }
-
- static inline void ieee80211_led_tx(struct ieee80211_local *local)
- {
- #ifdef CONFIG_MAC80211_LEDS
-- unsigned long led_delay = MAC80211_BLINK_DELAY;
-+ unsigned long led_delay __maybe_unused = MAC80211_BLINK_DELAY;
-
- if (!atomic_read(&local->tx_led_active))
- return;
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
- led_trigger_blink_oneshot(&local->tx_led, &led_delay, &led_delay, 0);
-+#else
-+ if (local->tx_led_counter++ % 2 == 0)
-+ led_trigger_event(&local->tx_led, LED_OFF);
-+ else
-+ led_trigger_event(&local->tx_led, LED_FULL);
-+#endif
- #endif
- }
-
deleted file mode 100644
@@ -1,17 +0,0 @@
-backports: do not use DMA SG on old kernel versions
-
-the usb net driver now uses the dma sg api which is not available on
-old kernels, this patch removed the usage of the dma sg api for old
-kernel versions.
-
-This backports the following upstream commit:
-commit 638c5115a794981441246fa8fa5d95c1875af5ba
-Author: Ming Lei <ming.lei@canonical.com>
-Date: Thu Aug 8 21:48:24 2013 +0800
-
- USBNET: support DMA SG
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains 638c5115a794981441246fa8fa5d95c1875af5ba
-v3.12-rc1~186^2~110
-
-XXX: this patch seems odd, the kernel versoin used seems off.
deleted file mode 100644
@@ -1,73 +0,0 @@
---- a/drivers/net/usb/usbnet.c
-+++ b/drivers/net/usb/usbnet.c
-@@ -1285,6 +1285,7 @@ EXPORT_SYMBOL_GPL(usbnet_tx_timeout);
-
- /*-------------------------------------------------------------------------*/
-
-+#if LINUX_VERSION_IS_GEQ(3,35,0)
- static int build_dma_sg(const struct sk_buff *skb, struct urb *urb)
- {
- unsigned num_sgs, total_len = 0;
-@@ -1317,6 +1318,12 @@ static int build_dma_sg(const struct sk_
-
- return 1;
- }
-+#else
-+static int build_dma_sg(const struct sk_buff *skb, struct urb *urb)
-+{
-+ return -ENXIO;
-+}
-+#endif
-
- netdev_tx_t usbnet_start_xmit (struct sk_buff *skb,
- struct net_device *net)
-@@ -1373,12 +1380,19 @@ netdev_tx_t usbnet_start_xmit (struct sk
- if (!(info->flags & FLAG_SEND_ZLP)) {
- if (!(info->flags & FLAG_MULTI_PACKET)) {
- length++;
-+#if LINUX_VERSION_IS_GEQ(3,35,0)
- if (skb_tailroom(skb) && !urb->num_sgs) {
- skb->data[skb->len] = 0;
- __skb_put(skb, 1);
- } else if (urb->num_sgs)
- sg_set_buf(&urb->sg[urb->num_sgs++],
- dev->padding_pkt, 1);
-+#else
-+ if (skb_tailroom(skb)) {
-+ skb->data[skb->len] = 0;
-+ __skb_put(skb, 1);
-+ }
-+#endif
- }
- } else
- urb->transfer_flags |= URB_ZERO_PACKET;
-@@ -1450,7 +1464,9 @@ not_drop:
- if (skb)
- dev_kfree_skb_any (skb);
- if (urb) {
-+#if LINUX_VERSION_IS_GEQ(3,35,0)
- kfree(urb->sg);
-+#endif
- usb_free_urb(urb);
- }
- } else
-@@ -1503,7 +1519,9 @@ static void usbnet_bh (struct timer_list
- rx_process (dev, skb);
- continue;
- case tx_done:
-+#if LINUX_VERSION_IS_GEQ(3,35,0)
- kfree(entry->urb->sg);
-+#endif
- fallthrough;
- case rx_cleanup:
- usb_free_urb (entry->urb);
-@@ -1878,7 +1896,9 @@ int usbnet_resume (struct usb_interface
- retval = usb_submit_urb(res, GFP_ATOMIC);
- if (retval < 0) {
- dev_kfree_skb_any(skb);
-+#if LINUX_VERSION_IS_GEQ(3,35,0)
- kfree(res->sg);
-+#endif
- usb_free_urb(res);
- usb_autopm_put_interface_async(dev->intf);
- } else {
deleted file mode 100644
@@ -1,12 +0,0 @@
-We can not easily backport ipv6_stub which provides some IPv6 function
-callbacks.
-These patches are removing usage of ipv6_stub which was introduces in
-this commit:
-commit 5f81bd2e5d804ca93f3ec8873451b22d2f454721
-Author: Cong Wang <amwang@redhat.com>
-Date: Sat Aug 31 13:44:30 2013 +0800
-
- ipv6: export a stub for IPv6 symbols used by vxlan
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains 5f81bd2e5d804ca93f3ec8873451b22d2f454721
-v3.12-rc1~132^2~101
deleted file mode 100644
@@ -1,29 +0,0 @@
---- a/drivers/net/usb/cdc_mbim.c
-+++ b/drivers/net/usb/cdc_mbim.c
-@@ -300,6 +300,7 @@ error:
- return NULL;
- }
-
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- /* Some devices are known to send Neigbor Solicitation messages and
- * require Neigbor Advertisement replies. The IPv6 core will not
- * respond since IFF_NOARP is set, so we must handle them ourselves.
-@@ -360,6 +361,7 @@ static bool is_neigh_solicit(u8 *buf, si
- msg->icmph.icmp6_code == 0 &&
- msg->icmph.icmp6_type == NDISC_NEIGHBOUR_SOLICITATION);
- }
-+#endif /* LINUX_VERSION_IS_GEQ(3,12,0) */
-
-
- static struct sk_buff *cdc_mbim_process_dgram(struct usbnet *dev, u8 *buf, size_t len, u16 tci)
-@@ -376,8 +378,10 @@ static struct sk_buff *cdc_mbim_process_
- proto = htons(ETH_P_IP);
- break;
- case 0x60:
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- if (is_neigh_solicit(buf, len))
- do_neigh_solicit(dev, buf, tci);
-+#endif /* LINUX_VERSION_IS_GEQ(3,12,0) */
- proto = htons(ETH_P_IPV6);
- break;
- default:
deleted file mode 100644
@@ -1,15 +0,0 @@
-Newer kernels make generic netlink ops and multicast groups
-const, but older can't have that. We therefore introduce
-__genl_const, which can be defined depending on the kernel.
-
-What kernel versions require this?
-
-XXX: try to SmPLify
-
-The struct genl_ops gave the *option* to make it const via:
-mcgrof@ergon ~/linux (git::master)$ git describe --contains f84f771d9
-v3.13-rc1~33^2~32^2~2
-
-The struct genl_multicast_group was *forced* to be const via:
-mcgrof@ergon ~/linux (git::master)$ git describe --contains 2a94fe48f
-v3.13-rc1~33^2^2
deleted file mode 100644
@@ -1,10 +0,0 @@
-@@
-attribute name __genl_const;
-@@
-(
--const struct genl_multicast_group
-+__genl_const struct genl_multicast_group
-|
--const struct genl_ops
-+__genl_const struct genl_ops
-)
@@ -1,6 +1,6 @@
--- a/net/mac80211/iface.c
+++ b/net/mac80211/iface.c
-@@ -695,9 +695,29 @@ static void ieee80211_uninit(struct net_
+@@ -695,9 +695,21 @@ static void ieee80211_uninit(struct net_
ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev));
}
@@ -13,24 +13,16 @@
+ struct sk_buff *skb,
+ struct net_device *sb_dev,
+ select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,14,0) || \
-+ (LINUX_VERSION_CODE == KERNEL_VERSION(3,13,11) && UTS_UBUNTU_RELEASE_ABI > 30)
++#else
+static u16 ieee80211_netdev_select_queue(struct net_device *dev,
+ struct sk_buff *skb,
+ void *accel_priv,
+ select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,13,0)
-+static u16 ieee80211_netdev_select_queue(struct net_device *dev,
-+ struct sk_buff *skb,
-+ void *accel_priv)
-+#else
-+static u16 ieee80211_netdev_select_queue(struct net_device *dev,
-+ struct sk_buff *skb)
+#endif
{
return ieee80211_select_queue(IEEE80211_DEV_TO_SUB_IF(dev), skb);
}
-@@ -719,9 +739,29 @@ static const struct net_device_ops ieee8
+@@ -719,9 +731,21 @@ static const struct net_device_ops ieee8
.ndo_get_stats64 = ieee80211_get_stats64,
};
@@ -43,19 +35,11 @@
+ struct sk_buff *skb,
+ struct net_device *sb_dev,
+ select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,14,0) || \
-+ (LINUX_VERSION_CODE == KERNEL_VERSION(3,13,11) && UTS_UBUNTU_RELEASE_ABI > 30)
++#else
+static u16 ieee80211_monitor_select_queue(struct net_device *dev,
+ struct sk_buff *skb,
+ void *accel_priv,
+ select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,13,0)
-+static u16 ieee80211_monitor_select_queue(struct net_device *dev,
-+ struct sk_buff *skb,
-+ void *accel_priv)
-+#else
-+static u16 ieee80211_monitor_select_queue(struct net_device *dev,
-+ struct sk_buff *skb)
+#endif
{
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/marvell/mwifiex/main.c
+++ b/drivers/net/wireless/marvell/mwifiex/main.c
-@@ -1279,9 +1279,28 @@ static struct net_device_stats *mwifiex_
+@@ -1279,9 +1279,20 @@ static struct net_device_stats *mwifiex_
return &priv->stats;
}
@@ -13,18 +13,10 @@
+mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb,
+ struct net_device *sb_dev,
+ select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,14,0) || \
-+ (LINUX_VERSION_CODE == KERNEL_VERSION(3,13,11) && UTS_UBUNTU_RELEASE_ABI > 30)
++#else
+static u16
+mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb,
+ void *accel_priv, select_queue_fallback_t fallback)
-+#elif LINUX_VERSION_IS_GEQ(3,13,0)
-+static u16
-+mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb,
-+ void *accel_priv)
-+#else
-+static u16
-+mwifiex_netdev_select_wmm_queue(struct net_device *dev, struct sk_buff *skb)
+#endif
{
skb->priority = cfg80211_classify8021d(skb, NULL);
deleted file mode 100644
@@ -1,16 +0,0 @@
-This is backported because of:
-
-commit cd4dc0821bc97947f25c8483a4aa0711bff8619a
-Author: Frank Praznik <frank.praznik@oh.rr.com>
-Date: Wed Jan 22 13:49:41 2014 -0500
-
- HID: Add transport-driver callbacks to the hid_ll_driver struct
-
- Add raw_request and output_report callbacks to the hid_ll_driver struct.
-
- Signed-off-by: Frank Praznik <frank.praznik@oh.rr.com>
- Acked-by: David Herrmann <dh.herrmann@gmail.com>
- Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-
-This did not make it to v3.14, so its only present on linux-next, its
-available for example on next-20140409
deleted file mode 100644
@@ -1,22 +0,0 @@
-struct net_device got an extension with the member qdisc_tx_busylock
-as of commit 23d3b8bfb. For older kernels we need to ifdef around that
-as its now available.
-
-mcgrof@ergon ~/linux (git::master)$ git describe --contains 23d3b8bfb
-v3.7-rc1~145^2~208
-
-commit 23d3b8bfb8eb20e7d96afa09991e6a5ed1c83164
-Author: Eric Dumazet <edumazet@google.com>
-Date: Wed Sep 5 01:02:56 2012 +0000
-
- net: qdisc busylock needs lockdep annotations
-
- It seems we need to provide ability for stacked devices
- to use specific lock_class_key for sch->busylock
-
- We could instead default l2tpeth tx_queue_len to 0 (no qdisc), but
- a user might use a qdisc anyway.
-
- (So same fixes are probably needed on non LLTX stacked drivers)
-
-[ the commit log goes we only include up to here to help with context ]
deleted file mode 100644
@@ -1,119 +0,0 @@
-/*
-Commit 676d2369 by David removed the skb->len arguments passed onto
-the struct sock sk_data_ready() callback. This was done as its racy,
-a few drivers were passing 0 to it, and it was not really used.
-By removing it the raciness is addresed but to backport this we are
-going to have to deal with the races as-is on older kernels. This was
-merged as of v3.15:
-
-mcgrof@ergon ~/linux-next (git::master)$ git describe --contains 676d2369
-v3.15-rc1~8^2~10
-
-Since this is not a define or static inline we can't easily replace this with
-the backports module or header files, instead we use SmPL grammar to generalize
-the backport for all use cases. Note that in order to backport this we won't
-know what older kernel drivers were using before this change, it could have
-been 0 or skb->len for the length parameter, since we have to infer something
-we choose skb->len *iff* skb_queue_tail() was used right before it, otherwise
-we infer to throw 0.
-
-commit 676d23690fb62b5d51ba5d659935e9f7d9da9f8e
-Author: David S. Miller <davem@davemloft.net>
-Date: Fri Apr 11 16:15:36 2014 -0400
-
- net: Fix use after free by removing length arg from sk_data_ready callbacks.
-
- Several spots in the kernel perform a sequence like:
-
- skb_queue_tail(&sk->s_receive_queue, skb);
- sk->sk_data_ready(sk, skb->len);
-
- But at the moment we place the SKB onto the socket receive queue it
- can be consumed and freed up. So this skb->len access is potentially
- to freed up memory.
-
- Furthermore, the skb->len can be modified by the consumer so it is
- possible that the value isn't accurate.
-
- And finally, no actual implementation of this callback actually uses
- the length argument. And since nobody actually cared about it's
- value, lots of call sites pass arbitrary values in such as '0' and
- even '1'.
-
- So just remove the length argument from the callback, that way there
- is no confusion whatsoever and all of these use-after-free cases get
- fixed as a side effect.
-
- Based upon a patch by Eric Dumazet and his suggestion to audit this
- issue tree-wide.
-
- Signed-off-by: David S. Miller <davem@davemloft.net>
-*/
-
-@ sk_data_ready_assigned @
-expression E;
-identifier drv_data_ready;
-@@
-
- E->sk_data_ready = drv_data_ready;
-
-@ sk_data_ready_declared depends on sk_data_ready_assigned @
-identifier sk;
-identifier sk_data_ready_assigned.drv_data_ready;
-fresh identifier backport_drv_data_ready = "backport_" ## drv_data_ready;
-@@
-
-drv_data_ready(struct sock *sk)
-{
- ...
-}
-
-+#if LINUX_VERSION_IS_LESS(3,15,0)
-+static void backport_drv_data_ready(struct sock *sk, int unused)
-+{
-+ drv_data_ready(sk);
-+}
-+#endif
-
-@ sk_data_ready_assigned_mod_e depends on sk_data_ready_assigned @
-expression E;
-identifier sk_data_ready_assigned.drv_data_ready;
-fresh identifier backport_drv_data_ready = "backport_" ## drv_data_ready;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,15,0)
- E->sk_data_ready = drv_data_ready;
-+#else
-+ E->sk_data_ready = backport_drv_data_ready;
-+#endif
-
-@ sk_data_ready_found @
-expression E;
-struct sock *sk;
-@@
-
- E->sk_data_ready(sk);
-
-@ sk_data_ready_skips_skb_queue_tail_E depends on sk_data_ready_found @
-expression E;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,15,0)
- E->sk_data_ready(E);
-+#else
-+ E->sk_data_ready(E, 0);
-+#endif
-
-@ sk_data_ready_uses_skb_queue_tail depends on sk_data_ready_found && !sk_data_ready_skips_skb_queue_tail_E @
-struct sock *sk;
-struct sk_buff *skb;
-identifier sk_data_ready;
-@@
-
- skb_queue_tail(&sk->sk_receive_queue, skb);
-+#if LINUX_VERSION_IS_GEQ(3,15,0)
- sk->sk_data_ready(sk);
-+#else
-+ sk->sk_data_ready(sk, skb->len);
-+#endif
-
deleted file mode 100644
@@ -1,13 +0,0 @@
-In kernel 3.8 struct pci_driver got a new function pointer sriov_configure.
-Address this by putting ifdef around the code.
-
-
-commit 1789382a72a537447d65ea4131d8bcc1ad85ce7b
-Author: Donald Dutile <ddutile@redhat.com>
-Date: Mon Nov 5 15:20:36 2012 -0500
-
- PCI: SRIOV control and status via sysfs
-
-git describe --contains 1789382a72a537447d65ea4131d8bcc1ad85ce7b
-v3.8-rc1~128^2~6^2~4
-
deleted file mode 100644
@@ -1,19 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct pci_driver s = {
-+#if LINUX_VERSION_IS_GEQ(3,8,0)
-.sriov_configure = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,8,0) */
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,8,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,8,0) */
deleted file mode 100644
@@ -1,23 +0,0 @@
-In kernel 3.3 and 3.10 struct net_device_ops function pointers
-ndo_vlan_rx_add_vid and ndo_vlan_rx_kill_vid changed.
-Address this by putting ifdef around the code.
-
-
-commit 8e586137e6b63af1e881b328466ab5ffbe562510
-Author: Jiri Pirko <jpirko@redhat.com>
-Date: Thu Dec 8 19:52:37 2011 -0500
-
- net: make vlan ndo_vlan_rx_[add/kill]_vid return error value
-
-git describe --contains 8e586137e6b63af1e881b328466ab5ffbe562510
-v3.3-rc1~182^2~291
-
-
-commit 80d5c3689b886308247da295a228a54df49a44f6
-Author: Patrick McHardy <kaber@trash.net>
-Date: Fri Apr 19 02:04:28 2013 +0000
-
- net: vlan: prepare for 802.1ad VLAN filtering offload
-
-git describe --contains 80d5c3689b886308247da295a228a54df49a44f6
-v3.10-rc1~66^2~97^2~4
deleted file mode 100644
@@ -1,48 +0,0 @@
---- a/drivers/net/usb/cdc_mbim.c
-+++ b/drivers/net/usb/cdc_mbim.c
-@@ -68,7 +68,13 @@ static int cdc_mbim_wdm_manage_power(str
- return cdc_mbim_manage_power(dev, status);
- }
-
-+#if LINUX_VERSION_IS_GEQ(3,10,0)
- static int cdc_mbim_rx_add_vid(struct net_device *netdev, __be16 proto, u16 vid)
-+#elif LINUX_VERSION_IS_GEQ(3,3,0)
-+static int cdc_mbim_rx_add_vid(struct net_device *netdev, u16 vid)
-+#else
-+static void cdc_mbim_rx_add_vid(struct net_device *netdev, u16 vid)
-+#endif /* LINUX_VERSION_IS_GEQ(3,10,0) */
- {
- struct usbnet *dev = netdev_priv(netdev);
- struct cdc_mbim_state *info = (void *)&dev->data;
-@@ -76,13 +82,21 @@ static int cdc_mbim_rx_add_vid(struct ne
- /* creation of this VLAN is a request to tag IP session 0 */
- if (vid == MBIM_IPS0_VID)
- info->flags |= FLAG_IPS0_VLAN;
-+#if LINUX_VERSION_IS_GEQ(3,3,0)
- else
- if (vid >= 512) /* we don't map these to MBIM session */
- return -EINVAL;
- return 0;
-+#endif /* LINUX_VERSION_IS_GEQ(3,3,0) */
- }
-
-+#if LINUX_VERSION_IS_GEQ(3,10,0)
- static int cdc_mbim_rx_kill_vid(struct net_device *netdev, __be16 proto, u16 vid)
-+#elif LINUX_VERSION_IS_GEQ(3,3,0)
-+static int cdc_mbim_rx_kill_vid(struct net_device *netdev, u16 vid)
-+#else
-+static void cdc_mbim_rx_kill_vid(struct net_device *netdev, u16 vid)
-+#endif /* LINUX_VERSION_IS_GEQ(3,10,0) */
- {
- struct usbnet *dev = netdev_priv(netdev);
- struct cdc_mbim_state *info = (void *)&dev->data;
-@@ -90,7 +104,9 @@ static int cdc_mbim_rx_kill_vid(struct n
- /* this is a request for an untagged IP session 0 */
- if (vid == MBIM_IPS0_VID)
- info->flags &= ~FLAG_IPS0_VLAN;
-+#if LINUX_VERSION_IS_GEQ(3,3,0)
- return 0;
-+#endif /* LINUX_VERSION_IS_GEQ(3,3,0) */
- }
-
- static const struct net_device_ops cdc_mbim_netdev_ops = {
deleted file mode 100644
@@ -1,12 +0,0 @@
-In kernel 3.2 struct net_device_ops got a new function pointer
-ndo_set_vf_spoofchk. Address this by putting ifdef around the code.
-
-
-commit 5f8444a3fa617076f8da51a3e8ecce01a5d7f738
-Author: Greg Rose <gregory.v.rose@intel.com>
-Date: Sat Oct 8 03:05:24 2011 +0000
-
- if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
-
-git describe --contains 5f8444a3fa617076f8da51a3e8ecce01a5d7f738
-v3.2-rc1~129^2~87
deleted file mode 100644
@@ -1,41 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct net_device_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,2,0)
-.ndo_set_vf_spoofchk = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
-};
-
-@r2@
-identifier s, func2;
-@@
-
-struct net_device_ops s = {
-.ndo_get_vf_config = func2,
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,2,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
-
-@@
-identifier r2.func2, ivi;
-expression assign;
-@@
-
-func2(... ,struct ifla_vf_info *ivi)
-{
- <...
-+#if LINUX_VERSION_IS_GEQ(3,2,0)
- ivi->spoofchk = assign;
-+#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
- ...>
-}
deleted file mode 100644
@@ -1,12 +0,0 @@
-In kernel 3.4 a new field no_fcs was introduced to struct sk_buff.
-Address this by putting ifdef around the code.
-
-
-commit 3bdc0eba0b8b47797f4a76e377dd8360f317450f
-Author: Ben Greear <greearb@candelatech.com>
-Date: Sat Feb 11 15:39:30 2012 +0000
-
- net: Add framework to allow sending packets with customized CRC.
-
-git describe --contains 3bdc0eba0b8b47797f4a76e377dd8360f317450f
-v3.4-rc1~177^2~207
deleted file mode 100644
@@ -1,7 +0,0 @@
-@r1@
-expression E1,E2;
-struct sk_buff *skb;
-@@
-+#if LINUX_VERSION_IS_GEQ(3,18,0)
- E1 ^= E2(..., skb->no_fcs, ...)
-+#endif /* if LINUX_VERSION_IS_GEQ(3,18,0) */
deleted file mode 100644
@@ -1,12 +0,0 @@
-In kernel 3.6 struct ethtool_ops received 2 new function pointers get_eee
-and set_eee. Address this by putting ifdef around the code.
-
-
-commit 80f12eccce775dc6bb93dba9b52529740f929237
-Author: Yuval Mintz <yuvalmin@broadcom.com>
-Date: Wed Jun 6 17:13:06 2012 +0000
-
- Added kernel support in EEE Ethtool commands
-
-git describe --contains 80f12eccce775dc6bb93dba9b52529740f929237
-v3.6-rc1~125^2~587
deleted file mode 100644
@@ -1,37 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct ethtool_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
-.get_eee = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,6,0) */
-};
-
-@r2@
-identifier s, func;
-@@
-
-struct ethtool_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
-.set_eee = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,6,0) */
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,6,0) */
-
-@@
-identifier r2.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,6,0) */
deleted file mode 100644
@@ -1,14 +0,0 @@
-In kernel 3.5 struct ethtool_ops received 2 new function pointers
-get_module_info and get_module_eeprom. Address this by putting ifdef around
-the code.
-
-
-commit 41c3cb6d20f0252308e9796fa4f3dacb4960de91
-Author: Stuart Hodgson <smhodgson@solarflare.com>
-Date: Thu Apr 19 09:44:42 2012 +0100
-
- ethtool: Extend the ethtool API to obtain plugin module eeprom data
-
-git describe --contains 41c3cb6d20f0252308e9796fa4f3dacb4960de91
-v3.5-rc1~109^2~124^2~2
-
deleted file mode 100644
@@ -1,37 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct ethtool_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-.get_module_info = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
-};
-
-@r2@
-identifier s, func;
-@@
-
-struct ethtool_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-.get_module_eeprom = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
-
-@@
-identifier r2.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,5,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,5,0) */
deleted file mode 100644
@@ -1,13 +0,0 @@
-In kernel 3.3 struct ethtool_ops received 3 new function pointers
-get_rxfh_indir_size, get_rxfh_indir, set_rxfh_indir.
-Address this by putting ifdef around the code.
-
-
-commit 7850f63f1620512631445b901ae11cd149e7375c
-Author: Ben Hutchings <bhutchings@solarflare.com>
-Date: Thu Dec 15 13:55:01 2011 +0000
-
- ethtool: Centralise validation of ETHTOOL_{G, S}RXFHINDIR parameters
-
-git describe --contains 7850f63f1620512631445b901ae11cd149e7375c
-v3.3-rc1~182^2~192
deleted file mode 100644
@@ -1,14 +0,0 @@
-In kernel 3.2 an argument type of function pointer get_rxnfc in
-struct ethtool_ops changed from void to u32.
-Address this by putting ifdef around the code.
-
-
-commit 815c7db5c809ea3d5735de3131ecdf758b0e14ff
-Author: Ben Hutchings <bhutchings@solarflare.com>
-Date: Tue Sep 6 13:49:12 2011 +0000
-
- ethtool: Clean up definitions of rule location arrays in RX NFC
-
-git describe --contains 815c7db5c809ea3d5735de3131ecdf758b0e14ff
-v3.2-rc1~129^2~272
-
deleted file mode 100644
@@ -1,22 +0,0 @@
-@r@
-identifier s,func;
-@@
-
-struct ethtool_ops s = {
-.get_rxnfc = func,
-};
-
-@@
-identifier r.func,rule_locs;
-typedef u32;
-@@
-
-// ----------------------------------------------------------------------
-
-func(...
-+#if LINUX_VERSION_IS_GEQ(3,2,0)
-,u32 *rule_locs
-+#else
-+,void *rule_locs
-+#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
- ) { ... }
deleted file mode 100644
@@ -1,13 +0,0 @@
-In kernel 3.7 struct ethtool_cmd received eth_tp_mdix and eth_tp_mdix_ctrl.
-Address this by putting ifdef around the code using these struct components.
-
-
-commit 6f6bbc186dc8e4e0c628db7decbd1a5e02cb5fd8
-Author: Jesse Brandeburg <jesse.brandeburg@intel.com>
-Date: Thu Jul 26 02:30:53 2012 +0000
-
- ethtool.h: MDI setting support
-
-git describe --contains 6f6bbc186dc8e4e0c628db7decbd1a5e02cb5fd8
-v3.7-rc1~145^2~300^2~5
-
deleted file mode 100644
@@ -1,14 +0,0 @@
-@r1@
-expression E1;
-struct ethtool_cmd *ecmd;
-@@
-+#if LINUX_VERSION_IS_GEQ(3,7,0)
- ecmd->eth_tp_mdix_ctrl = E1;
-+#endif /* if LINUX_VERSION_IS_GEQ(3,7,0) */
-
-@r2@
-struct ethtool_cmd *ecmd;
-@@
-+#if LINUX_VERSION_IS_GEQ(3,7,0)
- if (ecmd->eth_tp_mdix_ctrl) {...}
-+#endif /* if LINUX_VERSION_IS_GEQ(3,7,0) */
deleted file mode 100644
@@ -1,12 +0,0 @@
-In kernel 3.7 struct pci_driver changed pci_error_handlers to const.
-Address this by putting ifdef around the code.
-
-
-commit 494530284f16298050ab99f54b7b12dd7d1418a1
-Author: Stephen Hemminger <shemminger@vyatta.com>
-Date: Fri Sep 7 09:33:14 2012 -0700
-
- PCI: Make pci_error_handlers const
-
-git describe --contains 494530284f16298050ab99f54b7b12dd7d1418a1
-v3.7-rc1~177^2~9^2~3
deleted file mode 100644
@@ -1,9 +0,0 @@
-@@
-identifier s;
-@@
-
-static
-+#if LINUX_VERSION_IS_GEQ(3,7,0)
-const
-+#endif /* LINUX_VERSION_IS_GEQ(3,7,0) */
-struct pci_error_handlers s = { ... };
deleted file mode 100644
@@ -1,17 +0,0 @@
-In kernel 3.16 struct net_device_ops changed and renamed pointer
-ndo_set_vf_tx_rate to ndo_set_vf_rate.
-
-commit ed616689a3d95eb6c9bdbb1ef74b0f50cbdf276a
-Author: Sucheta Chakraborty <sucheta.chakraborty@qlogic.com>
-Date: Thu May 22 09:59:05 2014 -0400
-
- net-next:v4: Add support to configure SR-IOV VF minimum and maximum Tx rate through ip tool.
-
-commit 5f8444a3fa617076f8da51a3e8ecce01a5d7f738
-Author: Greg Rose <gregory.v.rose@intel.com>
-Date: Sat Oct 8 03:05:24 2011 +0000
-
- if_link: Add additional parameter to IFLA_VF_INFO for spoof checking
-
-git describe --contains ed616689a3d95eb6c9bdbb1ef74b0f50cbdf276a
-v3.16-rc1~27^2~151
deleted file mode 100644
@@ -1,50 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct net_device_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
-.ndo_set_vf_rate = func,
-+#else
-+.ndo_set_vf_tx_rate = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,16,0) */
-};
-
-@r2@
-identifier s, func2;
-@@
-
-struct net_device_ops s = {
-.ndo_get_vf_config = func2,
-};
-
-// ----------------------------------------------------------------------
-
-@@
-identifier r1.func, min_tx_rate, max_tx_rate;
-@@
-
-func(...
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
- ,int min_tx_rate, int max_tx_rate
-+#else
-+,int tx_rate
-+#endif /* LINUX_VERSION_IS_GEQ(3,16,0) */
- ) { ... }
-
-@@
-identifier r2.func2, ivi;
-expression assign, assign2;
-@@
-
-func2(... ,struct ifla_vf_info *ivi)
-{
- <...
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
- ivi->max_tx_rate = assign;
- ivi->min_tx_rate = assign2;
-+#else
-+ivi->tx_rate = assign;
-+#endif /* LINUX_VERSION_IS_GEQ(3,16,0) */
- ...>
-}
deleted file mode 100644
@@ -1,9 +0,0 @@
-@r1@
-struct page *page;
-expression E1;
-@@
- return E1
-+#if LINUX_VERSION_IS_GEQ(3,6,0)
- || page_is_pfmemalloc(page)
-+#endif /* if LINUX_VERSION_IS_GEQ(3,6,0) */
- ;
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/drivers/ssb/pcihost_wrapper.c
-+++ b/drivers/ssb/pcihost_wrapper.c
-@@ -33,7 +33,9 @@ static int ssb_pcihost_suspend(struct de
-
- /* if there is a wakeup enabled child device on ssb bus,
- enable pci wakeup posibility. */
-+#if LINUX_VERSION_IS_GEQ(3,2,0)
- device_set_wakeup_enable(d, d->power.wakeup_path);
-+#endif /* LINUX_VERSION_IS_GEQ(3,2,0) */
-
- pci_prepare_to_sleep(dev);
-
deleted file mode 100644
@@ -1,20 +0,0 @@
-Programmable pins were introduced in the ptp subsystem in kernel 3.15
-and igb makes use of them now. These patches are removing the code
-accessing these new functions.
-
-These patches are needed for every kernel which does not have this
-commit:
-commit 6092315dfdec5185881605d15a0e200d6e90eb66
-Author: Richard Cochran <richardcochran@gmail.com>
-Date: Thu Mar 20 22:21:52 2014 +0100
-
- ptp: introduce programmable pins.
-
- This patch adds a pair of new ioctls to the PTP Hardware Clock device
- interface. Using the ioctls, user space programs can query each pin to
- find out its current function and also reprogram a different function
- if desired.
-
- Signed-off-by: Richard Cochran <richardcochran@gmail.com>
- Signed-off-by: David S. Miller <davem@davemloft.net>
-
deleted file mode 100644
@@ -1,12 +0,0 @@
---- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
-@@ -2335,7 +2335,9 @@ struct wireless_dev *brcmf_p2p_add_vif(s
- }
-
- strncpy(ifp->ndev->name, name, sizeof(ifp->ndev->name) - 1);
-+#if LINUX_VERSION_IS_GEQ(3,17,0)
- ifp->ndev->name_assign_type = name_assign_type;
-+#endif /* >= 3.17.0 */
- err = brcmf_net_attach(ifp, true);
- if (err) {
- bphy_err(drvr, "Registering netdevice failed\n");
deleted file mode 100644
@@ -1,11 +0,0 @@
-@@
-struct net_device *dev;
-expression E;
-@@
--dev->tstats = E;
-+netdev_assign_tstats(dev, E);
-@@
-struct net_device *dev;
-@@
--dev->tstats
-+netdev_tstats(dev)
deleted file mode 100644
@@ -1,12 +0,0 @@
-In kernel 3.19 function pointer ndo_gso_check is changed into
-ndo_features_check in struct net_device_ops.
-Address this by putting ifdef around the code.
-
-commit 5f35227ea34bb616c436d9da47fc325866c428f3
-Author: Jesse Gross <jesse@nicira.com>
-Date: Tue Dec 23 22:37:26 2014 -0800
-
- net: Generalize ndo_gso_check to ndo_features_check
-
-git describe --contains 5f35227ea34bb616c436d9da47fc325866c428f3
-v3.19-rc3~16^2~7
deleted file mode 100644
@@ -1,19 +0,0 @@
-@r1@
-identifier s, func;
-@@
-
-struct net_device_ops s = {
-+#if LINUX_VERSION_IS_GEQ(3,19,0)
-.ndo_features_check = func,
-+#endif /* LINUX_VERSION_IS_GEQ(3,19,0) */
-};
-
-// ----------------------------------------------------------------------
-
-@r2@
-identifier r1.func;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(3,19,0)
-func(...) { ... }
-+#endif /* LINUX_VERSION_IS_GEQ(3,19,0) */
deleted file mode 100644
@@ -1,10 +0,0 @@
-In kernel 3.18 __u8 xmit_more is added to struct sk_buff.
-
-commit 0b725a2ca61bedc33a2a63d0451d528b268cf975
-Author: David S. Miller <davem@davemloft.net>
-Date: Mon Aug 25 15:51:53 2014 -0700
-
- net: Remove ndo_xmit_flush netdev operation, use signalling instead.
-
-git describe --contains 0b725a2ca61bedc33a2a63d0451d528b268cf975
-v3.18-rc1~52^2~228
deleted file mode 100644
@@ -1,7 +0,0 @@
-The uuid member was added to the struct mei_cl_device_id in this commit:
-commit c93b76b34b4d8dbe8e3443eb27e49ac60034342b
-Author: Tomas Winkler <tomas.winkler@intel.com>
-Date: Thu May 7 15:54:02 2015 +0300
-
- mei: bus: report also uuid in module alias
-
deleted file mode 100644
@@ -1,11 +0,0 @@
-deactivate struct tracing
-
-__field_struct was added in Linux commit 4d4c9cc83. It is hard to backport
-this feature, so just remove the code using it on kernel version < 3.16.
-
-commit 4d4c9cc839a308be3289a361ccba4447ee140552
-Author: Steven Rostedt <rostedt@goodmis.org>
-Date: Tue Jun 17 08:59:16 2014 -0400
-
- tracing: Add __field_struct macro for TRACE_EVENT()
-
deleted file mode 100644
@@ -1,33 +0,0 @@
-diff --git a/drivers/net/wireless/mediatek/mt7601u/trace.h b/drivers/net/wireless/mediatek/mt7601u/trace.h
-index 2898973..7fa1b96 100644
---- a/drivers/net/wireless/mediatek/mt7601u/trace.h
-+++ b/drivers/net/wireless/mediatek/mt7601u/trace.h
-@@ -244,6 +244,7 @@ TRACE_EVENT(freq_cal_offset,
- DEV_PR_ARG, __entry->phy_mode, __entry->freq_off)
- );
-
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
- TRACE_EVENT(mt_rx,
- TP_PROTO(struct mt7601u_dev *dev, struct mt7601u_rxwi *rxwi, u32 f),
- TP_ARGS(dev, rxwi, f),
-@@ -298,6 +299,20 @@ TRACE_EVENT(mt_tx,
- __entry->h.ack_ctl, __entry->h.wcid,
- le16_to_cpu(__entry->h.len_ctl))
- );
-+#else
-+#ifndef __BACKPORT_MT7601U_TRACE_H_EXTRA
-+#define __BACKPORT_MT7601U_TRACE_H_EXTRA
-+static inline void trace_mt_rx(struct mt7601u_dev *dev,
-+ struct mt7601u_rxwi *rxwi,
-+ u32 f)
-+{
-+}
-+static inline void trace_mt_tx(struct mt7601u_dev *dev, struct sk_buff *skb,
-+ struct mt76_sta *sta, struct mt76_txwi *h)
-+{
-+}
-+#endif /* __BACKPORT_MT7601U_TRACE_H_EXTRA */
-+#endif /* LINUX_VERSION_IS_GEQ(3,16,0) */
-
- TRACE_EVENT(mt_tx_dma_done,
- TP_PROTO(struct mt7601u_dev *dev, struct sk_buff *skb),
deleted file mode 100644
@@ -1,11 +0,0 @@
-use old locking for struct tty_struct
-
-With kernel 3.12 a new locking was added to struct tty_struct. This
-patch makes the code use the old locking.
-
-The new locking was added in this commit:
-commit 6a1c0680cf3ba94356ecd58833e1540c93472a57
-Author: Peter Hurley <peter@hurleysoftware.com>
-Date: Sat Jun 15 09:14:23 2013 -0400
-
- tty: Convert termios_mutex to termios_rwsem
deleted file mode 100644
@@ -1,75 +0,0 @@
---- a/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
-+++ b/drivers/net/wireless/intel/iwlwifi/dvm/debugfs.c
-@@ -2373,12 +2373,23 @@ void iwl_dbgfs_register(struct iwl_priv
- */
- if (priv->mac80211_registered) {
- char buf[100];
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- struct dentry *mac80211_dir, *dev_dir;
-
- dev_dir = dbgfs_dir->d_parent;
- mac80211_dir = priv->hw->wiphy->debugfsdir;
-
- snprintf(buf, 100, "../../%pd2", dev_dir);
-+#else
-+ struct dentry *mac80211_dir, *dev_dir, *root_dir;
-+
-+ dev_dir = dbgfs_dir->d_parent;
-+ root_dir = dev_dir->d_parent;
-+ mac80211_dir = priv->hw->wiphy->debugfsdir;
-+
-+ snprintf(buf, 100, "../../%s/%s", root_dir->d_name.name,
-+ dev_dir->d_name.name);
-+#endif
-
- debugfs_create_symlink("iwlwifi", mac80211_dir, buf);
- }
---- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c
-@@ -777,8 +777,13 @@ void iwl_mvm_vif_dbgfs_register(struct i
-
- mvmvif->dbgfs_dir = debugfs_create_dir("iwlmvm", dbgfs_dir);
- if (IS_ERR_OR_NULL(mvmvif->dbgfs_dir)) {
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- IWL_ERR(mvm, "Failed to create debugfs directory under %pd\n",
- dbgfs_dir);
-+#else
-+ IWL_ERR(mvm, "Failed to create debugfs directory under %s\n",
-+ dbgfs_dir->d_name.name);
-+#endif
- return;
- }
-
-@@ -807,9 +812,17 @@ void iwl_mvm_vif_dbgfs_register(struct i
- * find
- * netdev:wlan0 -> ../../../ieee80211/phy0/netdev:wlan0/iwlmvm/
- */
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- snprintf(buf, 100, "../../../%pd3/%pd",
- dbgfs_dir,
- mvmvif->dbgfs_dir);
-+#else
-+ snprintf(buf, 100, "../../../%s/%s/%s/%s",
-+ dbgfs_dir->d_parent->d_parent->d_name.name,
-+ dbgfs_dir->d_parent->d_name.name,
-+ dbgfs_dir->d_name.name,
-+ mvmvif->dbgfs_dir->d_name.name);
-+#endif
-
- mvmvif->dbgfs_slink = debugfs_create_symlink(dbgfs_dir->d_name.name,
- mvm->debugfs_dir, buf);
---- a/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
-+++ b/drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
-@@ -2092,6 +2092,12 @@ void iwl_mvm_dbgfs_register(struct iwl_m
- * Create a symlink with mac80211. It will be removed when mac80211
- * exists (before the opmode exists which removes the target.)
- */
-+#if LINUX_VERSION_IS_GEQ(3,12,0)
- snprintf(buf, 100, "../../%pd2", dbgfs_dir->d_parent);
-+#else
-+ snprintf(buf, 100, "../../%s/%s",
-+ dbgfs_dir->d_parent->d_parent->d_name.name,
-+ dbgfs_dir->d_parent->d_name.name);
-+#endif
- debugfs_create_symlink("iwlwifi", mvm->hw->wiphy->debugfsdir, buf);
- }
deleted file mode 100644
@@ -1,24 +0,0 @@
---- a/drivers/bcma/main.c
-+++ b/drivers/bcma/main.c
-@@ -156,6 +156,7 @@ static struct device_node *bcma_of_find_
- return NULL;
- }
-
-+#if LINUX_VERSION_IS_GEQ(3,13,0)
- static int bcma_of_irq_parse(struct device *parent,
- struct bcma_device *core,
- struct of_phandle_args *out_irq, int num)
-@@ -195,6 +196,13 @@ static unsigned int bcma_of_get_irq(stru
-
- return irq_create_of_mapping(&out_irq);
- }
-+#else
-+static unsigned int bcma_of_get_irq(struct device *parent,
-+ struct bcma_device *core, int num)
-+{
-+ return 0;
-+}
-+#endif
-
- static void bcma_of_fill_device(struct device *parent,
- struct bcma_device *core)
deleted file mode 100644
@@ -1,14 +0,0 @@
---- a/net/wireless/util.c
-+++ b/net/wireless/util.c
-@@ -753,7 +753,11 @@ void ieee80211_amsdu_to_8023s(struct sk_
- u8 *payload;
- int offset = 0, remaining;
- struct ethhdr eth;
-+#if LINUX_VERSION_IS_LESS(3,5,0)
-+ bool reuse_frag = 0;
-+#else
- bool reuse_frag = skb->head_frag && !skb_has_frag_list(skb);
-+#endif
- bool reuse_skb = false;
- bool last = false;
-
deleted file mode 100644
@@ -1,8 +0,0 @@
-@@
-expression SKB;
-expression A, V;
-@@
-+#if LINUX_VERSION_IS_GEQ(3,3,0)
-SKB->wifi_acked_valid = V;
-SKB->wifi_acked = A;
-+#endif
deleted file mode 100644
@@ -1,19 +0,0 @@
-@@
-identifier handlers;
-identifier fn;
-@@
-struct pci_error_handlers handlers = {
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
-.reset_notify = fn,
-+#endif
- };
-
-@@
-identifier handlers;
-identifier fn;
-@@
-struct pci_error_handlers handlers[] = {{
-+#if LINUX_VERSION_IS_GEQ(3,16,0)
-.reset_notify = fn,
-+#endif
- }};
@@ -1,6 +1,6 @@
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -15529,7 +15529,7 @@ static const struct genl_small_ops nl802
+@@ -15525,7 +15525,7 @@ static const struct genl_small_ops nl802
},
};
deleted file mode 100644
@@ -1,22 +0,0 @@
-diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-index f74281508197..3b11bd68f261 100644
---- a/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-+++ b/drivers/net/wireless/intel/iwlwifi/pcie/trans.c
-@@ -2010,6 +2010,9 @@ static void iwl_trans_pcie_removal_wk(st
- struct iwl_trans_pcie_removal *removal =
- container_of(wk, struct iwl_trans_pcie_removal, work);
- struct pci_dev *pdev = removal->pdev;
-+#if LINUX_VERSION_IS_LESS(3,14,0)
-+ dev_err(&pdev->dev, "Device gone - can't remove on old kernels.\n");
-+#else
- static char *prop[] = {"EVENT=INACCESSIBLE", NULL};
-
- dev_err(&pdev->dev, "Device gone - attempting removal\n");
-@@ -2018,6 +2021,7 @@ static void iwl_trans_pcie_removal_wk(st
- pci_dev_put(pdev);
- pci_stop_and_remove_bus_device(pdev);
- pci_unlock_rescan_remove();
-+#endif /* LINUX_VERSION_IS_LESS(3,14,0) */
-
- kfree(removal);
- module_put(THIS_MODULE);
@@ -1,6 +1,6 @@
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -14694,9 +14694,11 @@ static const struct genl_ops nl80211_ops
+@@ -14690,9 +14690,11 @@ static const struct genl_ops nl80211_ops
.internal_flags = NL80211_FLAG_NEED_WIPHY |
NL80211_FLAG_NEED_RTNL,
},
@@ -12,7 +12,7 @@
{
.cmd = NL80211_CMD_SET_WIPHY,
.validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP,
-@@ -15558,8 +15560,10 @@ static struct genl_family nl80211_fam __
+@@ -15554,8 +15556,10 @@ static struct genl_family nl80211_fam __
.module = THIS_MODULE,
.ops = nl80211_ops,
.n_ops = ARRAY_SIZE(nl80211_ops),
@@ -8,18 +8,7 @@
static struct class devcd_class;
-@@ -25,6 +26,10 @@ static bool devcd_disabled;
- /* if data isn't read by userspace after 5 minutes then delete it */
- #define DEVCD_TIMEOUT (HZ * 60 * 5)
-
-+#if LINUX_VERSION_IS_LESS(3,11,0)
-+static struct bin_attribute devcd_attr_data;
-+#endif
-+
- struct devcd_entry {
- struct device devcd_dev;
- void *data;
-@@ -54,8 +59,7 @@ static void devcd_dev_release(struct dev
+@@ -54,8 +55,7 @@ static void devcd_dev_release(struct dev
* a struct device to know when it goes away?
*/
if (devcd->failing_dev->kobj.sd)
@@ -29,55 +18,7 @@
put_device(devcd->failing_dev);
kfree(devcd);
-@@ -67,6 +71,9 @@ static void devcd_del(struct work_struct
-
- devcd = container_of(wk, struct devcd_entry, del_wk.work);
-
-+#if LINUX_VERSION_IS_LESS(3,11,0)
-+ device_remove_bin_file(&devcd->devcd_dev, &devcd_attr_data);
-+#endif
- device_del(&devcd->devcd_dev);
- put_device(&devcd->devcd_dev);
- }
-@@ -100,6 +107,7 @@ static struct bin_attribute devcd_attr_d
- .write = devcd_data_write,
- };
-
-+#if LINUX_VERSION_IS_GEQ(3,11,0)
- static struct bin_attribute *devcd_dev_bin_attrs[] = {
- &devcd_attr_data, NULL,
- };
-@@ -111,6 +119,7 @@ static const struct attribute_group devc
- static const struct attribute_group *devcd_dev_groups[] = {
- &devcd_dev_group, NULL,
- };
-+#endif /* LINUX_VERSION_IS_GEQ(3,11,0) */
-
- static int devcd_free(struct device *dev, void *data)
- {
-@@ -157,7 +166,9 @@ static struct class devcd_class = {
- .name = "devcoredump",
- .owner = THIS_MODULE,
- .dev_release = devcd_dev_release,
-+#if LINUX_VERSION_IS_GEQ(3,11,0)
- .dev_groups = devcd_dev_groups,
-+#endif
- .class_groups = devcd_class_groups,
- };
-
-@@ -292,6 +303,11 @@ void dev_coredumpm(struct device *dev, s
- if (device_add(&devcd->devcd_dev))
- goto put_device;
-
-+#if LINUX_VERSION_IS_LESS(3,11,0)
-+ if (device_create_bin_file(&devcd->devcd_dev, &devcd_attr_data))
-+ goto put_device;
-+#endif
-+
- if (sysfs_create_link(&devcd->devcd_dev.kobj, &dev->kobj,
- "failing_device"))
- /* nothing - symlink will be missing */;
-@@ -334,15 +350,13 @@ void dev_coredumpsg(struct device *dev,
+@@ -334,15 +334,13 @@ void dev_coredumpsg(struct device *dev,
}
EXPORT_SYMBOL_GPL(dev_coredumpsg);
This removes all patches which are only needed for compatibility with kernel < 3.19. After this change backports will only work with kernel 3.19 and later. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- backport/backport-include/linux/netlink.h | 3 - backport/backport-include/net/genetlink.h | 13 +- backport/compat/backport-genetlink.c | 6 +- .../0005-uapi-compromise/mwifiex.patch | 22 ---- .../0001-group_attr_class.cocci | 80 ------------ .../0001-group-attr/0002-group_attr_bus.cocci | 78 ------------ .../0001-group-attr/0003-class_groups.cocci | 54 -------- patches/0001-group-attr/INFO | 40 ------ patches/0001-netlink-portid.cocci | 17 --- ...2-disable-dump-adjust-on-old-kernels.patch | 46 ------- patches/0012-driver-quirks/INFO | 2 - .../drivers_net_wireless_cw1200_sdio.patch | 15 --- .../0013-fix-makefile-includes/ath10k.patch | 10 -- .../net_wireless_nl80211.patch | 12 -- ...drivers_net_wireless_ipw2x00_ipw2100.patch | 14 --- patches/0016-libertas-olpc-ec-wakeup/INFO | 5 - ...drivers_net_wireless_libertas_if_usb.patch | 18 --- patches/0017-get_ts_info/INFO | 27 ---- patches/0017-get_ts_info/get_ts_info.cocci | 19 --- patches/0019-usb_driver_lpm.cocci | 9 -- patches/0020-tty-termios/INFO | 23 ---- patches/0021-umode_t-api-change/ath10k.patch | 14 --- patches/0021-umode_t-api-change/ath9k.patch | 14 --- patches/0022-define-tracing/INFO | 9 -- patches/0022-define-tracing/ath6kl.patch | 12 -- patches/0022-define-tracing/cfg80211.patch | 10 -- patches/0022-define-tracing/mt7601u.patch | 12 -- patches/0022-define-tracing/wil6210.patch | 12 -- patches/0024-led-blink-api/INFO | 13 -- patches/0024-led-blink-api/mac80211.patch | 51 -------- patches/0025-usb-sg/INFO | 17 --- patches/0025-usb-sg/usbnet.patch | 73 ----------- patches/0026-ipv6_stub/INFO | 12 -- patches/0026-ipv6_stub/cdc_mbim.patch | 29 ----- patches/0027-genl-const/INFO | 15 --- patches/0027-genl-const/genl-const.cocci | 10 -- patches/0028-select_queue/mac80211.patch | 24 +--- patches/0028-select_queue/mwifiex.patch | 12 +- .../0029-struct_hid_ll_driver-extensions/INFO | 16 --- patches/0030-qdisc_tx_busylock/INFO | 22 ---- patches/0031-sk_data_ready.cocci | 119 ------------------ patches/0032-sriov_configure/INFO | 13 -- .../sriov_configure.cocci | 19 --- patches/0033-ndo_vlan_rx_vid/INFO | 23 ---- patches/0033-ndo_vlan_rx_vid/cdc_mbim.patch | 48 ------- patches/0034-ndo_set_vf_spoofchk/INFO | 12 -- .../set_vf_spoofchk.cocci | 41 ------ patches/0035-skb_no_fcs/INFO | 12 -- patches/0035-skb_no_fcs/skb_no_fcs.cocci | 7 -- patches/0036-ethtool_eee/INFO | 12 -- patches/0036-ethtool_eee/ethtool_eee.cocci | 37 ------ patches/0037-ethtool_get_module/INFO | 14 --- .../0037-ethtool_get_module/get_module.cocci | 37 ------ patches/0038-ethtool_rxfh_indir/INFO | 13 -- patches/0039-ethtool_rxnfc/INFO | 14 --- patches/0039-ethtool_rxnfc/rxnfc.cocci | 22 ---- patches/0040-ethtool_cmd_mdix/INFO | 13 -- .../ethtool_cmd_mdix.cocci | 14 --- patches/0042-pci_error_handlers/INFO | 12 -- .../igb_pci_error_handlers.cocci | 9 -- patches/0043-ndo_set_vf_rate/INFO | 17 --- .../0043-ndo_set_vf_rate/set_vf_rate.cocci | 50 -------- .../0049-no-pfmemalloc/no-pfmemalloc.cocci | 9 -- patches/0051-no-wakeup_path/ssb.patch | 12 -- patches/0052-deactivate-ptp-pin/INFO | 20 --- patches/0055-name_assign_type/brcmfmac.patch | 12 -- patches/0055-netdev-tstats.cocci | 11 -- patches/0056-ndo_features_check/INFO | 12 -- .../features_check.cocci | 19 --- patches/0059-skb_xmit_more/INFO | 10 -- patches/0059-uuid-in-mei/INFO | 7 -- patches/0060-trace_field_struct/INFO | 11 -- patches/0060-trace_field_struct/mt7601u.patch | 33 ----- patches/0061-termios_rwsem/INFO | 11 -- patches/0069-iwlwifi-pd-string-fix.patch | 75 ----------- patches/0069-remove-of_irq/bcma.patch | 24 ---- patches/0071-skb-head_frag/wireless.patch | 14 --- patches/0074-skb-wifi-acked.cocci | 8 -- patches/0076-reset-notify.cocci | 19 --- patches/0077-genl-ro-after-init/nl80211.patch | 2 +- patches/0085-iwlwifi-pci-device-removal.patch | 22 ---- patches/0100-revert-small_ops/mac80211.patch | 4 +- patches/devcoredump.patch | 63 +--------- 83 files changed, 18 insertions(+), 1828 deletions(-) delete mode 100644 patches/0000-upstream-backport-changes/0005-uapi-compromise/mwifiex.patch delete mode 100644 patches/0001-group-attr/0001-group_attr_class.cocci delete mode 100644 patches/0001-group-attr/0002-group_attr_bus.cocci delete mode 100644 patches/0001-group-attr/0003-class_groups.cocci delete mode 100644 patches/0001-group-attr/INFO delete mode 100644 patches/0001-netlink-portid.cocci delete mode 100644 patches/0002-disable-dump-adjust-on-old-kernels.patch delete mode 100644 patches/0012-driver-quirks/INFO delete mode 100644 patches/0012-driver-quirks/drivers_net_wireless_cw1200_sdio.patch delete mode 100644 patches/0013-fix-makefile-includes/ath10k.patch delete mode 100644 patches/0014-netlink_seq/net_wireless_nl80211.patch delete mode 100644 patches/0015-rename_pm_qos_request/drivers_net_wireless_ipw2x00_ipw2100.patch delete mode 100644 patches/0016-libertas-olpc-ec-wakeup/INFO delete mode 100644 patches/0016-libertas-olpc-ec-wakeup/drivers_net_wireless_libertas_if_usb.patch delete mode 100644 patches/0017-get_ts_info/INFO delete mode 100644 patches/0017-get_ts_info/get_ts_info.cocci delete mode 100644 patches/0019-usb_driver_lpm.cocci delete mode 100644 patches/0020-tty-termios/INFO delete mode 100644 patches/0021-umode_t-api-change/ath10k.patch delete mode 100644 patches/0021-umode_t-api-change/ath9k.patch delete mode 100644 patches/0022-define-tracing/INFO delete mode 100644 patches/0022-define-tracing/ath6kl.patch delete mode 100644 patches/0022-define-tracing/cfg80211.patch delete mode 100644 patches/0022-define-tracing/mt7601u.patch delete mode 100644 patches/0022-define-tracing/wil6210.patch delete mode 100644 patches/0024-led-blink-api/INFO delete mode 100644 patches/0024-led-blink-api/mac80211.patch delete mode 100644 patches/0025-usb-sg/INFO delete mode 100644 patches/0025-usb-sg/usbnet.patch delete mode 100644 patches/0026-ipv6_stub/INFO delete mode 100644 patches/0026-ipv6_stub/cdc_mbim.patch delete mode 100644 patches/0027-genl-const/INFO delete mode 100644 patches/0027-genl-const/genl-const.cocci delete mode 100644 patches/0029-struct_hid_ll_driver-extensions/INFO delete mode 100644 patches/0030-qdisc_tx_busylock/INFO delete mode 100644 patches/0031-sk_data_ready.cocci delete mode 100644 patches/0032-sriov_configure/INFO delete mode 100644 patches/0032-sriov_configure/sriov_configure.cocci delete mode 100644 patches/0033-ndo_vlan_rx_vid/INFO delete mode 100644 patches/0033-ndo_vlan_rx_vid/cdc_mbim.patch delete mode 100644 patches/0034-ndo_set_vf_spoofchk/INFO delete mode 100644 patches/0034-ndo_set_vf_spoofchk/set_vf_spoofchk.cocci delete mode 100644 patches/0035-skb_no_fcs/INFO delete mode 100644 patches/0035-skb_no_fcs/skb_no_fcs.cocci delete mode 100644 patches/0036-ethtool_eee/INFO delete mode 100644 patches/0036-ethtool_eee/ethtool_eee.cocci delete mode 100644 patches/0037-ethtool_get_module/INFO delete mode 100644 patches/0037-ethtool_get_module/get_module.cocci delete mode 100644 patches/0038-ethtool_rxfh_indir/INFO delete mode 100644 patches/0039-ethtool_rxnfc/INFO delete mode 100644 patches/0039-ethtool_rxnfc/rxnfc.cocci delete mode 100644 patches/0040-ethtool_cmd_mdix/INFO delete mode 100644 patches/0040-ethtool_cmd_mdix/ethtool_cmd_mdix.cocci delete mode 100644 patches/0042-pci_error_handlers/INFO delete mode 100644 patches/0042-pci_error_handlers/igb_pci_error_handlers.cocci delete mode 100644 patches/0043-ndo_set_vf_rate/INFO delete mode 100644 patches/0043-ndo_set_vf_rate/set_vf_rate.cocci delete mode 100644 patches/0049-no-pfmemalloc/no-pfmemalloc.cocci delete mode 100644 patches/0051-no-wakeup_path/ssb.patch delete mode 100644 patches/0052-deactivate-ptp-pin/INFO delete mode 100644 patches/0055-name_assign_type/brcmfmac.patch delete mode 100644 patches/0055-netdev-tstats.cocci delete mode 100644 patches/0056-ndo_features_check/INFO delete mode 100644 patches/0056-ndo_features_check/features_check.cocci delete mode 100644 patches/0059-skb_xmit_more/INFO delete mode 100644 patches/0059-uuid-in-mei/INFO delete mode 100644 patches/0060-trace_field_struct/INFO delete mode 100644 patches/0060-trace_field_struct/mt7601u.patch delete mode 100644 patches/0061-termios_rwsem/INFO delete mode 100644 patches/0069-iwlwifi-pd-string-fix.patch delete mode 100644 patches/0069-remove-of_irq/bcma.patch delete mode 100644 patches/0071-skb-head_frag/wireless.patch delete mode 100644 patches/0074-skb-wifi-acked.cocci delete mode 100644 patches/0076-reset-notify.cocci delete mode 100644 patches/0085-iwlwifi-pci-device-removal.patch