@@ -55,7 +55,6 @@ jobs:
strategy:
matrix:
kernel: [
- "4.13",
"4.14",
"4.15",
"4.16",
@@ -8,7 +8,7 @@ down to older kernels. It currently backports the following subsystems:
* WWAN
This package provides the latest Linux kernel subsystem enhancements
-for kernels 4.13 and above.
+for kernels 4.14 and above.
# Documentation
@@ -3,33 +3,6 @@
#include_next <linux/netlink.h>
#include <linux/version.h>
-#if LINUX_VERSION_IS_LESS(4,14,0)
-struct nla_bitfield32 {
- __u32 value;
- __u32 selector;
-};
-#endif
-
-#ifndef NL_SET_ERR_MSG_ATTR
-#define NL_SET_ERR_MSG_ATTR(extack, attr, msg) do { \
- static const char __msg[] = msg; \
- struct netlink_ext_ack *__extack = (extack); \
- \
- if (__extack) { \
- __extack->_msg = __msg; \
- __extack->bad_attr = (attr); \
- } \
-} while (0)
-#endif
-
-
-#ifndef NL_SET_BAD_ATTR
-#define NL_SET_BAD_ATTR(extack, attr) do { \
- if ((extack)) \
- (extack)->bad_attr = (attr); \
-} while (0)
-#endif /* NL_SET_BAD_ATTR */
-
#if LINUX_VERSION_IS_LESS(5,0,0)
static inline void nl_set_extack_cookie_u64(struct netlink_ext_ack *extack,
u64 cookie)
deleted file mode 100644
@@ -1,59 +0,0 @@
-#ifndef __BACKPORT_LINUX_RBTREE_H
-#define __BACKPORT_LINUX_RBTREE_H
-#include_next <linux/rbtree.h>
-
-#if LINUX_VERSION_IS_LESS(4,14,0)
-/*
- * Leftmost-cached rbtrees.
- *
- * We do not cache the rightmost node based on footprint
- * size vs number of potential users that could benefit
- * from O(1) rb_last(). Just not worth it, users that want
- * this feature can always implement the logic explicitly.
- * Furthermore, users that want to cache both pointers may
- * find it a bit asymmetric, but that's ok.
- */
-struct rb_root_cached {
- struct rb_root rb_root;
- struct rb_node *rb_leftmost;
-};
-
-#define RB_ROOT_CACHED (struct rb_root_cached) { {NULL, }, NULL }
-
-/* Same as rb_first(), but O(1) */
-#define rb_first_cached(root) (root)->rb_leftmost
-
-static inline void rb_insert_color_cached(struct rb_node *node,
- struct rb_root_cached *root,
- bool leftmost)
-{
- if (leftmost)
- root->rb_leftmost = node;
- rb_insert_color(node, &root->rb_root);
-}
-
-
-static inline struct rb_node *
-rb_erase_cached(struct rb_node *node, struct rb_root_cached *root)
-{
- struct rb_node *leftmost = NULL;
-
- if (root->rb_leftmost == node)
- leftmost = root->rb_leftmost = rb_next(node);
-
- rb_erase(node, &root->rb_root);
-
- return leftmost;
-}
-
-static inline void rb_replace_node_cached(struct rb_node *victim,
- struct rb_node *new,
- struct rb_root_cached *root)
-{
- if (root->rb_leftmost == victim)
- root->rb_leftmost = new;
- rb_replace_node(victim, new, &root->rb_root);
-}
-#endif
-
-#endif /* __BACKPORT_LINUX_RBTREE_H */
@@ -1,27 +1,5 @@
-additional include needed for kernel 4.2, 4.11, 4.12 and 4.13
-
linux/kthread.h include needed against kernel 4.19.
---- a/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
-+++ b/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c
-@@ -6,6 +6,7 @@
- */
-
- #include <linux/firmware.h>
-+#include <linux/module.h>
- #include "mt7615.h"
- #include "mcu.h"
- #include "mac.h"
---- a/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
-+++ b/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c
-@@ -2,6 +2,7 @@
- /* Copyright (C) 2020 MediaTek Inc. */
-
- #include "mt76_connac_mcu.h"
-+#include <linux/module.h>
-
- int mt76_connac_mcu_start_firmware(struct mt76_dev *dev, u32 addr, u32 option)
- {
--- a/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7615/sdio.c
@@ -9,6 +9,7 @@
@@ -1,34 +1,12 @@
linux/interrupt.h include needed for kernel 4.14
-linux/module.h include needed for kernel 3.18
--- a/drivers/net/wireless/microchip/wilc1000/netdev.c
+++ b/drivers/net/wireless/microchip/wilc1000/netdev.c
-@@ -9,6 +9,8 @@
+@@ -9,6 +9,7 @@
#include <linux/firmware.h>
#include <linux/netdevice.h>
#include <linux/inetdevice.h>
+#include <linux/interrupt.h>
-+#include <linux/module.h>
#include "cfg80211.h"
#include "wlan_cfg.h"
---- a/drivers/net/wireless/microchip/wilc1000/sdio.c
-+++ b/drivers/net/wireless/microchip/wilc1000/sdio.c
-@@ -10,6 +10,7 @@
- #include <linux/mmc/host.h>
- #include <linux/mmc/sdio.h>
- #include <linux/of_irq.h>
-+#include <linux/module.h>
-
- #include "netdev.h"
- #include "cfg80211.h"
---- a/drivers/net/wireless/microchip/wilc1000/spi.c
-+++ b/drivers/net/wireless/microchip/wilc1000/spi.c
-@@ -8,6 +8,7 @@
- #include <linux/spi/spi.h>
- #include <linux/crc7.h>
- #include <linux/crc-itu-t.h>
-+#include <linux/module.h>
-
- #include "netdev.h"
- #include "cfg80211.h"
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/microchip/wilc1000/spi.c
+++ b/drivers/net/wireless/microchip/wilc1000/spi.c
-@@ -219,10 +219,14 @@ static int wilc_spi_tx(struct wilc *wilc
+@@ -218,10 +218,14 @@ static int wilc_spi_tx(struct wilc *wilc
struct spi_transfer tr = {
.tx_buf = b,
.len = len,
@@ -15,7 +15,7 @@
};
char *r_buffer = kzalloc(len, GFP_KERNEL);
-@@ -263,10 +267,14 @@ static int wilc_spi_rx(struct wilc *wilc
+@@ -262,10 +266,14 @@ static int wilc_spi_rx(struct wilc *wilc
struct spi_transfer tr = {
.rx_buf = rb,
.len = rlen,
@@ -30,7 +30,7 @@
};
char *t_buffer = kzalloc(rlen, GFP_KERNEL);
-@@ -308,10 +316,14 @@ static int wilc_spi_tx_rx(struct wilc *w
+@@ -307,10 +315,14 @@ static int wilc_spi_tx_rx(struct wilc *w
.tx_buf = wb,
.len = rlen,
.bits_per_word = 8,
This removes all the code which is needed to support kernel 4.13. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- .github/workflows/create.yml | 1 - README | 2 +- backport/backport-include/linux/netlink.h | 27 --------- backport/backport-include/linux/rbtree.h | 59 ------------------- patches/0013-fix-makefile-includes/mt76.patch | 22 ------- .../0013-fix-makefile-includes/wilc1000.patch | 24 +------- patches/0095-spi-delay/wilc1000.patch | 6 +- 7 files changed, 5 insertions(+), 136 deletions(-) delete mode 100644 backport/backport-include/linux/rbtree.h