diff --git a/README b/README
index 01961249..acc0d7cd 100644
--- a/README
+++ b/README
@@ -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.2 and above.
+for kernels 4.3 and above.
 
 # Documentation
 
diff --git a/backport/backport-include/linux/compiler-gcc5.h b/backport/backport-include/linux/compiler-gcc5.h
deleted file mode 100644
index 9ff99f0d..00000000
--- a/backport/backport-include/linux/compiler-gcc5.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/compiler-gccN.h>
diff --git a/backport/backport-include/linux/compiler-gcc6.h b/backport/backport-include/linux/compiler-gcc6.h
deleted file mode 100644
index 9ff99f0d..00000000
--- a/backport/backport-include/linux/compiler-gcc6.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/compiler-gccN.h>
diff --git a/backport/backport-include/linux/compiler-gcc7.h b/backport/backport-include/linux/compiler-gcc7.h
deleted file mode 100644
index 9ff99f0d..00000000
--- a/backport/backport-include/linux/compiler-gcc7.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/compiler-gccN.h>
diff --git a/backport/backport-include/linux/compiler-gcc8.h b/backport/backport-include/linux/compiler-gcc8.h
deleted file mode 100644
index 9ff99f0d..00000000
--- a/backport/backport-include/linux/compiler-gcc8.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/compiler-gccN.h>
diff --git a/backport/backport-include/linux/compiler-gcc9.h b/backport/backport-include/linux/compiler-gcc9.h
deleted file mode 100644
index 9ff99f0d..00000000
--- a/backport/backport-include/linux/compiler-gcc9.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/compiler-gccN.h>
diff --git a/backport/backport-include/linux/compiler-gccN.h b/backport/backport-include/linux/compiler-gccN.h
deleted file mode 100644
index 97e7541d..00000000
--- a/backport/backport-include/linux/compiler-gccN.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/* gcc version specific checks */
-
-#ifndef GCC_VERSION
-#define GCC_VERSION (__GNUC__ * 10000           \
-                     + __GNUC_MINOR__ * 100     \
-                     + __GNUC_PATCHLEVEL__)
-#endif
-
-#if GCC_VERSION < 30200
-# error Sorry, your compiler is too old - please upgrade it.
-#endif
-
-#if GCC_VERSION < 30300
-# define __used			__attribute__((__unused__))
-#else
-# define __used			__attribute__((__used__))
-#endif
-
-#ifdef CONFIG_GCOV_KERNEL
-# if GCC_VERSION < 30400
-#   error "GCOV profiling support for gcc versions below 3.4 not included"
-# endif /* __GNUC_MINOR__ */
-#endif /* CONFIG_GCOV_KERNEL */
-
-#if GCC_VERSION >= 30400
-#define __must_check		__attribute__((warn_unused_result))
-#endif
-
-#if GCC_VERSION >= 40000
-
-/* GCC 4.1.[01] miscompiles __weak */
-#ifdef __KERNEL__
-# if GCC_VERSION >= 40100 &&  GCC_VERSION <= 40101
-#  error Your version of gcc miscompiles the __weak directive
-# endif
-#endif
-
-#define __used			__attribute__((__used__))
-#define __compiler_offsetof(a, b)					\
-	__builtin_offsetof(a, b)
-
-#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
-# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
-#endif
-
-#if GCC_VERSION >= 40300
-/* Mark functions as cold. gcc will assume any path leading to a call
- * to them will be unlikely.  This means a lot of manual unlikely()s
- * are unnecessary now for any paths leading to the usual suspects
- * like BUG(), printk(), panic() etc. [but let's keep them for now for
- * older compilers]
- *
- * Early snapshots of gcc 4.3 don't support this and we can't detect this
- * in the preprocessor, but we can live with this because they're unreleased.
- * Maketime probing would be overkill here.
- *
- * gcc also has a __attribute__((__hot__)) to move hot functions into
- * a special section, but I don't see any sense in this right now in
- * the kernel context
- */
-#define __cold			__attribute__((__cold__))
-
-#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
-
-#ifndef __CHECKER__
-# define __compiletime_warning(message) __attribute__((warning(message)))
-# define __compiletime_error(message) __attribute__((error(message)))
-#endif /* __CHECKER__ */
-#endif /* GCC_VERSION >= 40300 */
-
-#if GCC_VERSION >= 40500
-/*
- * Mark a position in code as unreachable.  This can be used to
- * suppress control flow warnings after asm blocks that transfer
- * control elsewhere.
- *
- * Early snapshots of gcc 4.5 don't support this and we can't detect
- * this in the preprocessor, but we can live with this because they're
- * unreleased.  Really, we need to have autoconf for the kernel.
- */
-#define unreachable() __builtin_unreachable()
-
-/* Mark a function definition as prohibited from being cloned. */
-#define __noclone	__attribute__((__noclone__))
-
-#endif /* GCC_VERSION >= 40500 */
-
-#if GCC_VERSION >= 40600
-/*
- * Tell the optimizer that something else uses this function or variable.
- */
-#define __visible	__attribute__((externally_visible))
-#endif
-
-/*
- * GCC 'asm goto' miscompiles certain code sequences:
- *
- *   http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
- *
- * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
- *
- * (asm goto is automatically volatile - the naming reflects this.)
- */
-#define asm_volatile_goto(x...)	do { asm goto(x); asm (""); } while (0)
-
-#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
-#if GCC_VERSION >= 40400
-#define __HAVE_BUILTIN_BSWAP32__
-#define __HAVE_BUILTIN_BSWAP64__
-#endif
-#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
-#define __HAVE_BUILTIN_BSWAP16__
-#endif
-#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
-
-#if GCC_VERSION >= 50000
-#define KASAN_ABI_VERSION 4
-#elif GCC_VERSION >= 40902
-#define KASAN_ABI_VERSION 3
-#endif
-
-#endif	/* gcc version >= 40000 specific checks */
-
-#ifndef OPTIMIZER_HIDE_VAR
-#define OPTIMIZER_HIDE_VAR(var) __asm__ ("" : "=r" (var) : "0" (var))
-#endif
diff --git a/backport/backport-include/linux/mei_cl_bus.h b/backport/backport-include/linux/mei_cl_bus.h
index c0e522f6..d6ef77e1 100644
--- a/backport/backport-include/linux/mei_cl_bus.h
+++ b/backport/backport-include/linux/mei_cl_bus.h
@@ -2,10 +2,7 @@
 #define __BACKPORT_LINUX_MEI_CL_BUS_H
 #include_next <linux/mei_cl_bus.h>
 
-#if LINUX_VERSION_IS_LESS(4,3,0)
-#define mei_cldev_register_event_cb(cldev, event_mask, read_cb, context) \
-	mei_cl_register_event_cb(cldev, read_cb, context)
-#elif LINUX_VERSION_IS_LESS(4,4,0)
+#if LINUX_VERSION_IS_LESS(4,4,0)
 #define mei_cldev_register_event_cb(cldev, event_mask, read_cb, context) \
 	mei_cl_register_event_cb(cldev, event_mask, read_cb, context)
 #endif
diff --git a/backport/backport-include/linux/mmc/sdio_func.h b/backport/backport-include/linux/mmc/sdio_func.h
index 7ff926ae..f56b2aaa 100644
--- a/backport/backport-include/linux/mmc/sdio_func.h
+++ b/backport/backport-include/linux/mmc/sdio_func.h
@@ -32,11 +32,6 @@
  *	This function should be called while the host is claimed.
  */
 #define sdio_retune_hold_now LINUX_BACKPORT(sdio_retune_hold_now)
-#if LINUX_VERSION_IS_LESS(4,3,0)
-static inline void sdio_retune_hold_now(struct sdio_func *func)
-{
-}
-#else
 static inline void sdio_retune_hold_now(struct sdio_func *func)
 {
 	struct mmc_host *host = func->card->host;
@@ -44,7 +39,6 @@ static inline void sdio_retune_hold_now(struct sdio_func *func)
 	host->retune_now = 0;
 	host->hold_retune += 1;
 }
-#endif /* < 4.3 */
 
 /**
  *	sdio_retune_release - signal that it's OK to retune now
@@ -57,11 +51,6 @@ static inline void sdio_retune_hold_now(struct sdio_func *func)
  *	This function should be called while the host is claimed.
  */
 #define sdio_retune_release LINUX_BACKPORT(sdio_retune_release)
-#if LINUX_VERSION_IS_LESS(4,3,0)
-static inline void sdio_retune_release(struct sdio_func *func)
-{
-}
-#else
 static inline void sdio_retune_release(struct sdio_func *func)
 {
 	struct mmc_host *host = func->card->host;
@@ -71,7 +60,6 @@ static inline void sdio_retune_release(struct sdio_func *func)
 	else
 		WARN_ON(1);
 }
-#endif
 
 #define sdio_retune_crc_disable LINUX_BACKPORT(sdio_retune_crc_disable)
 static inline void sdio_retune_crc_disable(struct sdio_func *func)
diff --git a/backport/backport-include/linux/of_platform.h b/backport/backport-include/linux/of_platform.h
deleted file mode 100644
index 8e522e24..00000000
--- a/backport/backport-include/linux/of_platform.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __BACKPORT_LINUX_OF_PLATFORM_H
-#define __BACKPORT_LINUX_OF_PLATFORM_H
-#include_next <linux/of_platform.h>
-#include <linux/version.h>
-
-#if LINUX_VERSION_IS_LESS(4,3,0) && !defined(CONFIG_OF_DEVICE)
-struct of_dev_auxdata;
-#define of_platform_default_populate \
-	LINUX_BACKPORT(of_platform_default_populate)
-static inline int
-of_platform_default_populate(struct device_node *root,
-			     const struct of_dev_auxdata *lookup,
-			     struct device *parent)
-{
-	return -ENODEV;
-}
-#endif /* LINUX_VERSION_IS_LESS(4,3,0) */
-
-#endif /* __BACKPORT_LINUX_OF_PLATFORM_H */
diff --git a/backport/backport-include/linux/phy.h b/backport/backport-include/linux/phy.h
index 8ffdbc8e..4d6f37e8 100644
--- a/backport/backport-include/linux/phy.h
+++ b/backport/backport-include/linux/phy.h
@@ -33,12 +33,7 @@ static inline int backport_mdiobus_register(struct mii_bus *bus)
 
 	memset(bus->irq, PHY_POLL, sizeof(int) * PHY_MAX_ADDR);
 
-/* in kernel 4.3 a #define for mdiobus_register is added to the kernel. */
-#ifndef mdiobus_register
-	return mdiobus_register(bus);
-#else
 	return __mdiobus_register(bus, THIS_MODULE);
-#endif
 }
 #ifdef mdiobus_register
 #undef mdiobus_register
diff --git a/backport/backport-include/linux/property.h b/backport/backport-include/linux/property.h
deleted file mode 100644
index 7f3c6fe6..00000000
--- a/backport/backport-include/linux/property.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __BACKPORT_LINUX_PROPERTY_H_
-#define __BACKPORT_LINUX_PROPERTY_H_
-#include <linux/version.h>
-#include_next <linux/property.h>
-
-#if LINUX_VERSION_IS_LESS(4,3,0)
-
-#define device_get_mac_address LINUX_BACKPORT(device_get_mac_address)
-void *device_get_mac_address(struct device *dev, char *addr, int alen);
-
-#endif /* < 4.3 */
-
-#endif /* __BACKPORT_LINUX_PROPERTY_H_ */
diff --git a/backport/backport-include/linux/seq_file.h b/backport/backport-include/linux/seq_file.h
index 08c68ed7..e0f055e3 100644
--- a/backport/backport-include/linux/seq_file.h
+++ b/backport/backport-include/linux/seq_file.h
@@ -3,12 +3,6 @@
 #include_next <linux/seq_file.h>
 #include <linux/version.h>
 
-#if LINUX_VERSION_IS_LESS(4,3,0)
-#define seq_hex_dump LINUX_BACKPORT(seq_hex_dump)
-void seq_hex_dump(struct seq_file *m, const char *prefix_str, int prefix_type,
-		  int rowsize, int groupsize, const void *buf, size_t len,
-		  bool ascii);
-#endif
 
 #ifndef DEFINE_SHOW_ATTRIBUTE
 #define DEFINE_SHOW_ATTRIBUTE(__name)					\
diff --git a/backport/backport-include/linux/string.h b/backport/backport-include/linux/string.h
index 9a6b420e..39257e5f 100644
--- a/backport/backport-include/linux/string.h
+++ b/backport/backport-include/linux/string.h
@@ -8,10 +8,6 @@
 extern void *memdup_user_nul(const void __user *, size_t);
 #endif
 
-#if LINUX_VERSION_IS_LESS(4,3,0)
-ssize_t strscpy(char *dest, const char *src, size_t count);
-#endif
-
 #if LINUX_VERSION_IS_LESS(4,6,0)
 int match_string(const char * const *array, size_t n, const char *string);
 #endif /* LINUX_VERSION_IS_LESS(4,5,0) */
diff --git a/backport/backport-include/linux/thermal.h b/backport/backport-include/linux/thermal.h
index 68b78eab..d9b8153e 100644
--- a/backport/backport-include/linux/thermal.h
+++ b/backport/backport-include/linux/thermal.h
@@ -3,80 +3,6 @@
 #include_next <linux/thermal.h>
 #include <linux/version.h>
 
-#ifdef CONFIG_THERMAL
-
-#if LINUX_VERSION_IS_LESS(4,3,0)
-
-typedef struct thermal_zone_device_ops old_thermal_zone_device_ops_t;
-
-/* also add a way to call the old register and unregister functions */
-static inline struct thermal_zone_device *old_thermal_zone_device_register(
-	const char *type, int trips, int mask, void *devdata,
-	old_thermal_zone_device_ops_t *_ops,
-	const struct thermal_zone_params *_tzp,
-	int passive_delay, int polling_delay)
-{
-	struct thermal_zone_device_ops *ops =
-		(struct thermal_zone_device_ops *) _ops;
-
-	/* cast the const away */
-	struct thermal_zone_params *tzp =
-		(struct thermal_zone_params *)_tzp;
-
-	return thermal_zone_device_register(type, trips, mask, devdata,
-					    ops, tzp, passive_delay,
-					    polling_delay);
-}
-
-static inline
-void old_thermal_zone_device_unregister(struct thermal_zone_device *dev)
-{
-	thermal_zone_device_unregister(dev);
-}
-
-struct backport_thermal_zone_device_ops {
-	int (*bind) (struct thermal_zone_device *,
-		     struct thermal_cooling_device *);
-	int (*unbind) (struct thermal_zone_device *,
-		       struct thermal_cooling_device *);
-	int (*get_temp) (struct thermal_zone_device *, int *);
-	int (*get_mode) (struct thermal_zone_device *,
-			 enum thermal_device_mode *);
-	int (*set_mode) (struct thermal_zone_device *,
-		enum thermal_device_mode);
-	int (*get_trip_type) (struct thermal_zone_device *, int,
-		enum thermal_trip_type *);
-	int (*get_trip_temp) (struct thermal_zone_device *, int, int *);
-	int (*set_trip_temp) (struct thermal_zone_device *, int, int);
-	int (*get_trip_hyst) (struct thermal_zone_device *, int, int *);
-	int (*set_trip_hyst) (struct thermal_zone_device *, int, int);
-	int (*get_crit_temp) (struct thermal_zone_device *, int *);
-	int (*set_emul_temp) (struct thermal_zone_device *, int);
-	int (*get_trend) (struct thermal_zone_device *, int,
-			  enum thermal_trend *);
-	int (*notify) (struct thermal_zone_device *, int,
-		       enum thermal_trip_type);
-};
-#define thermal_zone_device_ops LINUX_BACKPORT(thermal_zone_device_ops)
-
-#undef thermal_zone_device_register
-struct thermal_zone_device *backport_thermal_zone_device_register(
-	const char *type, int trips, int mask, void *devdata,
-	struct thermal_zone_device_ops *ops,
-	const struct thermal_zone_params *tzp,
-	int passive_delay, int polling_delay);
-
-#define thermal_zone_device_register \
-	LINUX_BACKPORT(thermal_zone_device_register)
-
-#undef thermal_zone_device_unregister
-void backport_thermal_zone_device_unregister(struct thermal_zone_device *);
-#define thermal_zone_device_unregister			\
-	LINUX_BACKPORT(thermal_zone_device_unregister)
-
-#endif /* LINUX_VERSION_IS_LESS(4,3,0) */
-#endif /* CONFIG_THERMAL */
-
 #if LINUX_VERSION_IS_LESS(5,9,0)
 #define thermal_zone_device_enable LINUX_BACKPORT(thermal_zone_device_enable)
 static inline int thermal_zone_device_enable(struct thermal_zone_device *tz)
diff --git a/backport/compat/Makefile b/backport/compat/Makefile
index 45edb8da..bdb478bb 100644
--- a/backport/compat/Makefile
+++ b/backport/compat/Makefile
@@ -7,7 +7,6 @@ endif
 compat-y += main.o
 
 # Kernel backport compatibility code
-compat-$(CPTCFG_KERNEL_4_3) += backport-4.3.o
 compat-$(CPTCFG_KERNEL_4_4) += backport-4.4.o
 compat-$(CPTCFG_KERNEL_4_5) += backport-4.5.o
 compat-$(CPTCFG_KERNEL_4_6) += backport-4.6.o
diff --git a/backport/compat/backport-4.3.c b/backport/compat/backport-4.3.c
deleted file mode 100644
index 12cc6cf7..00000000
--- a/backport/compat/backport-4.3.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Copyright (c) 2015  Hauke Mehrtens <hauke@hauke-m.de>
- * Copyright (c) 2015 - 2016 Intel Deutschland GmbH
- *
- * Backport functionality introduced in Linux 4.3.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <linux/version.h>
-#include <linux/seq_file.h>
-#include <linux/export.h>
-#include <linux/printk.h>
-#include <linux/thermal.h>
-#include <linux/slab.h>
-#include <linux/property.h>
-#include <linux/etherdevice.h>
-#include <linux/of.h>
-
-#ifdef CONFIG_THERMAL
-struct backport_thermal_ops_wrapper {
-	old_thermal_zone_device_ops_t ops;
-	struct thermal_zone_device_ops *driver_ops;
-};
-
-static int backport_thermal_get_temp(struct thermal_zone_device *dev,
-				     unsigned long *temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-	int _temp, ret;
-
-	ret = wrapper->driver_ops->get_temp(dev, &_temp);
-	if (!ret)
-		*temp = (unsigned long)_temp;
-
-	return ret;
-}
-
-static int backport_thermal_get_trip_temp(struct thermal_zone_device *dev,
-					  int i, unsigned long *temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-	int _temp, ret;
-
-	ret = wrapper->driver_ops->get_trip_temp(dev, i,  &_temp);
-	if (!ret)
-		*temp = (unsigned long)_temp;
-
-	return ret;
-}
-
-static int backport_thermal_set_trip_temp(struct thermal_zone_device *dev,
-					  int i, unsigned long temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-
-	return wrapper->driver_ops->set_trip_temp(dev, i, (int)temp);
-}
-
-static int backport_thermal_get_trip_hyst(struct thermal_zone_device *dev,
-					  int i, unsigned long *temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-	int _temp, ret;
-
-	ret = wrapper->driver_ops->get_trip_hyst(dev, i, &_temp);
-	if (!ret)
-		*temp = (unsigned long)_temp;
-
-	return ret;
-}
-
-static int backport_thermal_set_trip_hyst(struct thermal_zone_device *dev,
-					  int i, unsigned long temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-
-	return wrapper->driver_ops->set_trip_hyst(dev, i, (int)temp);
-}
-
-static int backport_thermal_get_crit_temp(struct thermal_zone_device *dev,
-					  unsigned long *temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-	int _temp, ret;
-
-	ret = wrapper->driver_ops->get_crit_temp(dev, &_temp);
-	if (!ret)
-		*temp = (unsigned long)_temp;
-
-	return ret;
-}
-
-static int backport_thermal_set_emul_temp(struct thermal_zone_device *dev,
-					  unsigned long temp)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-
-	return wrapper->driver_ops->set_emul_temp(dev, (int)temp);
-}
-
-struct thermal_zone_device *backport_thermal_zone_device_register(
-	const char *type, int trips, int mask, void *devdata,
-	struct thermal_zone_device_ops *ops,
-	const struct thermal_zone_params *tzp,
-	int passive_delay, int polling_delay)
-{
-	struct backport_thermal_ops_wrapper *wrapper = kzalloc(sizeof(*wrapper), GFP_KERNEL);
-	struct thermal_zone_device *ret;
-
-	if (!wrapper)
-		return NULL;
-
-	wrapper->driver_ops = ops;
-
-#define copy(_op)		\
-	wrapper->ops._op = ops->_op
-
-	copy(bind);
-	copy(unbind);
-	copy(get_mode);
-	copy(set_mode);
-	copy(get_trip_type);
-	copy(get_trend);
-	copy(notify);
-
-	/* Assign the backport ops to the old struct to get the
-	 * correct types.  But only assign if the registrant defined
-	 * the ops.
-	 */
-#define assign_ops(_op)		\
-	if (ops->_op)		\
-		wrapper->ops._op = backport_thermal_##_op
-
-	assign_ops(get_temp);
-	assign_ops(get_trip_temp);
-	assign_ops(set_trip_temp);
-	assign_ops(get_trip_hyst);
-	assign_ops(set_trip_hyst);
-	assign_ops(get_crit_temp);
-	assign_ops(set_emul_temp);
-#undef assign_ops
-
-	ret = old_thermal_zone_device_register(type, trips, mask, devdata,
-					       &wrapper->ops, tzp, passive_delay,
-					       polling_delay);
-	if (!ret)
-		kfree(wrapper);
-	return ret;
-}
-EXPORT_SYMBOL_GPL(backport_thermal_zone_device_register);
-
-void backport_thermal_zone_device_unregister(struct thermal_zone_device *dev)
-{
-	struct backport_thermal_ops_wrapper *wrapper =
-		container_of(dev->ops, struct backport_thermal_ops_wrapper, ops);
-
-	old_thermal_zone_device_unregister(dev);
-	kfree(wrapper);
-}
-EXPORT_SYMBOL_GPL(backport_thermal_zone_device_unregister);
-
-#endif /* CONFIG_THERMAL */
-
-static void seq_set_overflow(struct seq_file *m)
-{
-	m->count = m->size;
-}
-
-/* A complete analogue of print_hex_dump() */
-void seq_hex_dump(struct seq_file *m, const char *prefix_str, int prefix_type,
-		  int rowsize, int groupsize, const void *buf, size_t len,
-		  bool ascii)
-{
-	const u8 *ptr = buf;
-	int i, linelen, remaining = len;
-	int ret;
-
-	if (rowsize != 16 && rowsize != 32)
-		rowsize = 16;
-
-	for (i = 0; i < len && !seq_has_overflowed(m); i += rowsize) {
-		linelen = min(remaining, rowsize);
-		remaining -= rowsize;
-
-		switch (prefix_type) {
-		case DUMP_PREFIX_ADDRESS:
-			seq_printf(m, "%s%p: ", prefix_str, ptr + i);
-			break;
-		case DUMP_PREFIX_OFFSET:
-			seq_printf(m, "%s%.8x: ", prefix_str, i);
-			break;
-		default:
-			seq_printf(m, "%s", prefix_str);
-			break;
-		}
-
-		ret = hex_dump_to_buffer(ptr + i, linelen, rowsize, groupsize,
-					 m->buf + m->count, m->size - m->count,
-					 ascii);
-		if (ret >= m->size - m->count) {
-			seq_set_overflow(m);
-		} else {
-			m->count += ret;
-			seq_putc(m, '\n');
-		}
-	}
-}
-EXPORT_SYMBOL_GPL(seq_hex_dump);
-
-ssize_t strscpy(char *dest, const char *src, size_t count)
-{
-	long res = 0;
-
-	if (count == 0)
-		return -E2BIG;
-
-	while (count) {
-		char c;
-
-		c = src[res];
-		dest[res] = c;
-		if (!c)
-			return res;
-		res++;
-		count--;
-	}
-
-	/* Hit buffer length without finding a NUL; force NUL-termination. */
-	if (res)
-		dest[res-1] = '\0';
-
-	return -E2BIG;
-}
-EXPORT_SYMBOL_GPL(strscpy);
-
-static void *device_get_mac_addr(struct device *dev,
-				 const char *name, char *addr,
-				 int alen)
-{
-	int ret = device_property_read_u8_array(dev, name, addr, alen);
-
-	if (ret == 0 && alen == ETH_ALEN && is_valid_ether_addr(addr))
-		return addr;
-	return NULL;
-}
-
-/**
- * device_get_mac_address - Get the MAC for a given device
- * @dev:	Pointer to the device
- * @addr:	Address of buffer to store the MAC in
- * @alen:	Length of the buffer pointed to by addr, should be ETH_ALEN
- *
- * Search the firmware node for the best MAC address to use.  'mac-address' is
- * checked first, because that is supposed to contain to "most recent" MAC
- * address. If that isn't set, then 'local-mac-address' is checked next,
- * because that is the default address.  If that isn't set, then the obsolete
- * 'address' is checked, just in case we're using an old device tree.
- *
- * Note that the 'address' property is supposed to contain a virtual address of
- * the register set, but some DTS files have redefined that property to be the
- * MAC address.
- *
- * All-zero MAC addresses are rejected, because those could be properties that
- * exist in the firmware tables, but were not updated by the firmware.  For
- * example, the DTS could define 'mac-address' and 'local-mac-address', with
- * zero MAC addresses.  Some older U-Boots only initialized 'local-mac-address'.
- * In this case, the real MAC is in 'local-mac-address', and 'mac-address'
- * exists but is all zeros.
-*/
-void *device_get_mac_address(struct device *dev, char *addr, int alen)
-{
-	char *res;
-
-	res = device_get_mac_addr(dev, "mac-address", addr, alen);
-	if (res)
-		return res;
-
-	res = device_get_mac_addr(dev, "local-mac-address", addr, alen);
-	if (res)
-		return res;
-
-	return device_get_mac_addr(dev, "address", addr, alen);
-}
-EXPORT_SYMBOL_GPL(device_get_mac_address);
diff --git a/backport/compat/backport-4.4.c b/backport/compat/backport-4.4.c
index 7966e949..71edc2be 100644
--- a/backport/compat/backport-4.4.c
+++ b/backport/compat/backport-4.4.c
@@ -21,42 +21,6 @@
 #include <asm/unaligned.h>
 
 #ifdef CONFIG_DEBUG_FS
-#if LINUX_VERSION_IS_LESS(4,3,0)
-static ssize_t debugfs_read_file_bool(struct file *file, char __user *user_buf,
-				      size_t count, loff_t *ppos)
-{
-	char buf[3];
-	bool *val = file->private_data;
-
-	if (*val)
-		buf[0] = 'Y';
-	else
-		buf[0] = 'N';
-	buf[1] = '\n';
-	buf[2] = 0x00;
-	return simple_read_from_buffer(user_buf, count, ppos, buf, 2);
-}
-
-static ssize_t debugfs_write_file_bool(struct file *file,
-				       const char __user *user_buf,
-				       size_t count, loff_t *ppos)
-{
-	char buf[32];
-	size_t buf_size;
-	bool bv;
-	bool *val = file->private_data;
-
-	buf_size = min(count, (sizeof(buf)-1));
-	if (copy_from_user(buf, user_buf, buf_size))
-		return -EFAULT;
-
-	buf[buf_size] = '\0';
-	if (strtobool(buf, &bv) == 0)
-		*val = bv;
-
-	return count;
-}
-#endif /* < 4.3.0 */
 
 static const struct file_operations fops_bool = {
 	.read =		debugfs_read_file_bool,
diff --git a/patches/0062-iff-no-queue.cocci b/patches/0062-iff-no-queue.cocci
deleted file mode 100644
index 237985c5..00000000
--- a/patches/0062-iff-no-queue.cocci
+++ /dev/null
@@ -1,9 +0,0 @@
-@@
-expression E;
-@@
-
-+#if LINUX_VERSION_IS_GEQ(4,3,0)
- E->priv_flags |= IFF_NO_QUEUE;
-+#else
-+E->tx_queue_len = 0;
-+#endif
diff --git a/patches/0070-mac80211-fils.patch b/patches/0070-mac80211-fils.patch
deleted file mode 100644
index 5fa5f54b..00000000
--- a/patches/0070-mac80211-fils.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- a/net/mac80211/fils_aead.c
-+++ b/net/mac80211/fils_aead.c
-@@ -1,3 +1,4 @@
-+#if LINUX_VERSION_IS_GEQ(4,3,0)
- // SPDX-License-Identifier: GPL-2.0-only
- /*
-  * FILS AEAD for (Re)Association Request/Response frames
-@@ -329,3 +330,4 @@ int fils_decrypt_assoc_resp(struct ieee8
- 	*frame_len -= AES_BLOCK_SIZE;
- 	return 0;
- }
-+#endif
---- a/net/mac80211/fils_aead.h
-+++ b/net/mac80211/fils_aead.h
-@@ -7,10 +7,27 @@
- #ifndef FILS_AEAD_H
- #define FILS_AEAD_H
- 
-+#if LINUX_VERSION_IS_GEQ(4,3,0)
- int fils_encrypt_assoc_req(struct sk_buff *skb,
- 			   struct ieee80211_mgd_assoc_data *assoc_data);
- int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata,
- 			    u8 *frame, size_t *frame_len,
- 			    struct ieee80211_mgd_assoc_data *assoc_data);
-+#else
-+static inline
-+int fils_encrypt_assoc_req(struct sk_buff *skb,
-+			   struct ieee80211_mgd_assoc_data *assoc_data)
-+{
-+	return -EOPNOTSUPP;
-+}
-+
-+static inline
-+int fils_decrypt_assoc_resp(struct ieee80211_sub_if_data *sdata,
-+			    u8 *frame, size_t *frame_len,
-+			    struct ieee80211_mgd_assoc_data *assoc_data)
-+{
-+	return -EOPNOTSUPP;
-+}
-+#endif
- 
- #endif /* FILS_AEAD_H */
---- a/net/mac80211/main.c
-+++ b/net/mac80211/main.c
-@@ -591,7 +591,9 @@ struct ieee80211_hw *ieee80211_alloc_hw_
- 			   NL80211_FEATURE_MAC_ON_CREATE |
- 			   NL80211_FEATURE_USERSPACE_MPM |
- 			   NL80211_FEATURE_FULL_AP_CLIENT_STATE;
-+#if LINUX_VERSION_IS_GEQ(4,3,0)
- 	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_FILS_STA);
-+#endif
- 	wiphy_ext_feature_set(wiphy,
- 			      NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211);
- 	wiphy_ext_feature_set(wiphy,
