[PATCH 11/14] backports: Remove support for kernel smaller than 4.1

Hauke Mehrtens <[email protected]>
Newsgroups org.kernel.vger.backports
Message-ID <[email protected]>
This removes all the code which is needed to support kernel 4.0.

Signed-off-by: Hauke Mehrtens <[email protected]>
---
 README                                        |   2 +-
 .../backport-include/linux/bcm47xx_nvram.h    |   5 -
 backport/backport-include/linux/device.h      |  19 --
 backport/backport-include/linux/netdevice.h   |  22 ---
 backport/backport-include/linux/of_device.h   |   4 +-
 backport/backport-include/linux/tty.h         |   5 -
 backport/backport-include/net/iw_handler.h    |  23 ---
 backport/backport-include/net/net_namespace.h |  34 ----
 backport/backport-include/net/netlink.h       |  30 ---
 backport/compat/Makefile                      |   1 -
 backport/compat/backport-4.1.c                |  84 ---------
 patches/0053-possible_net_t.patch             |  19 --
 patches/0054-struct-proto_ops-sig.cocci       | 177 ------------------
 patches/0058-ptp_getsettime64/INFO            |  11 --
 .../ptp_getsettime64.cocci                    |  33 ----
 15 files changed, 2 insertions(+), 467 deletions(-)
 delete mode 100644 backport/backport-include/linux/device.h
 delete mode 100644 backport/backport-include/net/net_namespace.h
 delete mode 100644 backport/compat/backport-4.1.c
 delete mode 100644 patches/0053-possible_net_t.patch
 delete mode 100644 patches/0054-struct-proto_ops-sig.cocci
 delete mode 100644 patches/0058-ptp_getsettime64/INFO
 delete mode 100644 patches/0058-ptp_getsettime64/ptp_getsettime64.cocci

diff --git a/README b/README
index e283d766..2316fb99 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.0 and above.
+for kernels 4.1 and above.
 
 # Documentation
 
diff --git a/backport/backport-include/linux/bcm47xx_nvram.h b/backport/backport-include/linux/bcm47xx_nvram.h
index 5295a023..d79f7c52 100644
--- a/backport/backport-include/linux/bcm47xx_nvram.h
+++ b/backport/backport-include/linux/bcm47xx_nvram.h
@@ -2,12 +2,7 @@
 #define __BACKPORTS_BCM47XX_NVRAM_H
 #include <linux/version.h>
 
-#if LINUX_VERSION_IS_GEQ(4,1,0)
 #include_next <linux/bcm47xx_nvram.h>
-#else
-#include <linux/types.h>
-#include <linux/kernel.h>
-#endif
 
 #if LINUX_VERSION_IS_LESS(4,2,0)
 #define bcm47xx_nvram_get_contents LINUX_BACKPORT(bcm47xx_nvram_get_contents)
diff --git a/backport/backport-include/linux/device.h b/backport/backport-include/linux/device.h
deleted file mode 100644
index 72ef4ab9..00000000
--- a/backport/backport-include/linux/device.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __BACKPORT_DEVICE_H
-#define __BACKPORT_DEVICE_H
-#include_next <linux/device.h>
-
-#include <linux/version.h>
-
-#if LINUX_VERSION_IS_LESS(4, 1, 0)
-#define dev_of_node LINUX_BACKPORT(dev_of_node)
-static inline struct device_node *dev_of_node(struct device *dev)
-{
-#ifndef CONFIG_OF
-	return NULL;
-#else
-	return dev->of_node;
-#endif
-}
-#endif
-
-#endif /* __BACKPORT_DEVICE_H */
diff --git a/backport/backport-include/linux/netdevice.h b/backport/backport-include/linux/netdevice.h
index 496e2fb3..b653e0e9 100644
--- a/backport/backport-include/linux/netdevice.h
+++ b/backport/backport-include/linux/netdevice.h
@@ -5,12 +5,6 @@
 #include <backport/magic.h>
 
 
-#if LINUX_VERSION_IS_LESS(4,1,0)
-netdev_features_t passthru_features_check(struct sk_buff *skb,
-					  struct net_device *dev,
-					  netdev_features_t features);
-#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
 #if LINUX_VERSION_IS_LESS(4,2,0)
 #undef u64_stats_init
 static inline void u64_stats_init(struct u64_stats_sync *syncp)
@@ -21,22 +15,6 @@ static inline void u64_stats_init(struct u64_stats_sync *syncp)
 }
 #endif /* LINUX_VERSION_IS_LESS(4,2,0) */
 
-#ifndef netdev_alloc_pcpu_stats
-#define netdev_alloc_pcpu_stats(type)				\
-({								\
-	typeof(type) __percpu *pcpu_stats = alloc_percpu(type); \
-	if (pcpu_stats)	{					\
-		int i;						\
-		for_each_possible_cpu(i) {			\
-			typeof(type) *stat;			\
-			stat = per_cpu_ptr(pcpu_stats, i);	\
-			u64_stats_init(&stat->syncp);		\
-		}						\
-	}							\
-	pcpu_stats;						\
-})
-#endif /* netdev_alloc_pcpu_stats */
-
 #if LINUX_VERSION_IS_LESS(4,10,0)
 static inline bool backport_napi_complete_done(struct napi_struct *n, int work_done)
 {
diff --git a/backport/backport-include/linux/of_device.h b/backport/backport-include/linux/of_device.h
index cdd366e3..2a4d02b8 100644
--- a/backport/backport-include/linux/of_device.h
+++ b/backport/backport-include/linux/of_device.h
@@ -13,10 +13,8 @@ static inline int backport_of_dma_configure(struct device *dev,
 	return of_dma_configure(dev, np);
 #elif LINUX_VERSION_IS_GEQ(4,12,0)
 	return of_dma_configure(dev, np);
-#elif LINUX_VERSION_IS_GEQ(4,1,0)
-	of_dma_configure(dev, np);
-	return 0;
 #else
+	of_dma_configure(dev, np);
 	return 0;
 #endif
 }
diff --git a/backport/backport-include/linux/tty.h b/backport/backport-include/linux/tty.h
index 9de8ad1a..855f5c52 100644
--- a/backport/backport-include/linux/tty.h
+++ b/backport/backport-include/linux/tty.h
@@ -2,11 +2,6 @@
 #define __BACKPORT_LINUX_TTY_H
 #include_next <linux/tty.h>
 
-#if LINUX_VERSION_IS_LESS(4,1,0) && \
-    LINUX_VERSION_IS_GEQ(4,0,0)
-extern int tty_set_termios(struct tty_struct *tty, struct ktermios *kt);
-#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
 #ifndef N_NCI
 #define N_NCI		25	/* NFC NCI UART */
 #endif
diff --git a/backport/backport-include/net/iw_handler.h b/backport/backport-include/net/iw_handler.h
index 8b5f1c60..e0076d2c 100644
--- a/backport/backport-include/net/iw_handler.h
+++ b/backport/backport-include/net/iw_handler.h
@@ -2,29 +2,6 @@
 #define __BACKPORT_IW_HANDLER_H
 #include_next <net/iw_handler.h>
 
-#if LINUX_VERSION_IS_LESS(4,1,0)
-static inline char *
-iwe_stream_add_event_check(struct iw_request_info *info, char *stream,
-			   char *ends, struct iw_event *iwe, int event_len)
-{
-	char *res = iwe_stream_add_event(info, stream, ends, iwe, event_len);
-
-	if (res == stream)
-		return ERR_PTR(-E2BIG);
-	return res;
-}
-
-static inline char *
-iwe_stream_add_point_check(struct iw_request_info *info, char *stream,
-			   char *ends, struct iw_event *iwe, char *extra)
-{
-	char *res = iwe_stream_add_point(info, stream, ends, iwe, extra);
-
-	if (res == stream)
-		return ERR_PTR(-E2BIG);
-	return res;
-}
-#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
 
 /* this was added in v3.2.79, v3.18.30, v4.1.21, v4.4.6 and 4.5 */
 #if !(LINUX_VERSION_IS_GEQ(4,4,6) || \
diff --git a/backport/backport-include/net/net_namespace.h b/backport/backport-include/net/net_namespace.h
deleted file mode 100644
index 47f6b3b5..00000000
--- a/backport/backport-include/net/net_namespace.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _COMPAT_NET_NET_NAMESPACE_H
-#define _COMPAT_NET_NET_NAMESPACE_H 1
-
-#include_next <net/net_namespace.h>
-
-
-#if LINUX_VERSION_IS_LESS(4,1,0)
-typedef struct {
-#ifdef CONFIG_NET_NS
-	struct net *net;
-#endif
-} possible_net_t;
-
-static inline void possible_write_pnet(possible_net_t *pnet, struct net *net)
-{
-#ifdef CONFIG_NET_NS
-	pnet->net = net;
-#endif
-}
-
-static inline struct net *possible_read_pnet(const possible_net_t *pnet)
-{
-#ifdef CONFIG_NET_NS
-	return pnet->net;
-#else
-	return &init_net;
-#endif
-}
-#else
-#define possible_write_pnet(pnet, net) write_pnet(pnet, net)
-#define possible_read_pnet(pnet) read_pnet(pnet)
-#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
-#endif	/* _COMPAT_NET_NET_NAMESPACE_H */
diff --git a/backport/backport-include/net/netlink.h b/backport/backport-include/net/netlink.h
index ba07a5ca..6f48fd71 100644
--- a/backport/backport-include/net/netlink.h
+++ b/backport/backport-include/net/netlink.h
@@ -435,36 +435,6 @@ static inline int _nla_parse_nested4(struct nlattr *tb[], int maxtype,
 	macro_dispatcher(_nla_parse_nested, __VA_ARGS__)(__VA_ARGS__)
 #endif /* LINUX_VERSION_IS_LESS(4,12,0) */
 
-
-#if LINUX_VERSION_IS_LESS(4,1,0)
-#define nla_put_in_addr LINUX_BACKPORT(nla_put_in_addr)
-static inline int nla_put_in_addr(struct sk_buff *skb, int attrtype,
-				  __be32 addr)
-{
-	return nla_put_be32(skb, attrtype, addr);
-}
-
-#define nla_put_in6_addr LINUX_BACKPORT(nla_put_in6_addr)
-static inline int nla_put_in6_addr(struct sk_buff *skb, int attrtype,
-				   const struct in6_addr *addr)
-{
-	return nla_put(skb, attrtype, sizeof(*addr), addr);
-}
-
-static inline __be32 nla_get_in_addr(const struct nlattr *nla)
-{
-	return *(__be32 *) nla_data(nla);
-}
-
-static inline struct in6_addr nla_get_in6_addr(const struct nlattr *nla)
-{
-	struct in6_addr tmp;
-
-	nla_memcpy(&tmp, nla, sizeof(tmp));
-	return tmp;
-}
-#endif /* < 4.1 */
-
 #if LINUX_VERSION_IS_LESS(4,4,0)
 /**
  * nla_get_le32 - return payload of __le32 attribute
diff --git a/backport/compat/Makefile b/backport/compat/Makefile
index 2d7af92f..bc0d080d 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_1) += backport-4.1.o
 compat-$(CPTCFG_KERNEL_4_2) += backport-4.2.o
 compat-$(CPTCFG_KERNEL_4_3) += backport-4.3.o
 compat-$(CPTCFG_KERNEL_4_4) += backport-4.4.o
diff --git a/backport/compat/backport-4.1.c b/backport/compat/backport-4.1.c
deleted file mode 100644
index e0a3ec63..00000000
--- a/backport/compat/backport-4.1.c
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 2015  Stefan Assmann <[email protected]>
- * Copyright (c) 2015  Hauke Mehrtens <[email protected]>
- *
- * Backport functionality introduced in Linux 4.1.
- *
- * 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/netdevice.h>
-#include <linux/tty.h>
-
-netdev_features_t passthru_features_check(struct sk_buff *skb,
-					  struct net_device *dev,
-					  netdev_features_t features)
-{
-	return features;
-}
-EXPORT_SYMBOL_GPL(passthru_features_check);
-
-#ifdef CONFIG_TTY
-#if LINUX_VERSION_IS_GEQ(4,0,0)
-static void unset_locked_termios(struct ktermios *termios,
-				 struct ktermios *old,
-				 struct ktermios *locked)
-{
-	int	i;
-
-#define NOSET_MASK(x, y, z) (x = ((x) & ~(z)) | ((y) & (z)))
-
-	if (!locked) {
-		printk(KERN_WARNING "Warning?!? termios_locked is NULL.\n");
-		return;
-	}
-
-	NOSET_MASK(termios->c_iflag, old->c_iflag, locked->c_iflag);
-	NOSET_MASK(termios->c_oflag, old->c_oflag, locked->c_oflag);
-	NOSET_MASK(termios->c_cflag, old->c_cflag, locked->c_cflag);
-	NOSET_MASK(termios->c_lflag, old->c_lflag, locked->c_lflag);
-	termios->c_line = locked->c_line ? old->c_line : termios->c_line;
-	for (i = 0; i < NCCS; i++)
-		termios->c_cc[i] = locked->c_cc[i] ?
-			old->c_cc[i] : termios->c_cc[i];
-	/* FIXME: What should we do for i/ospeed */
-}
-
-int tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios)
-{
-	struct ktermios old_termios;
-	struct tty_ldisc *ld;
-
-	WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY &&
-		tty->driver->subtype == PTY_TYPE_MASTER);
-	/*
-	 *	Perform the actual termios internal changes under lock.
-	 */
-
-
-	/* FIXME: we need to decide on some locking/ordering semantics
-	   for the set_termios notification eventually */
-	down_write(&tty->termios_rwsem);
-	old_termios = tty->termios;
-	tty->termios = *new_termios;
-	unset_locked_termios(&tty->termios, &old_termios, &tty->termios_locked);
-
-	if (tty->ops->set_termios)
-		tty->ops->set_termios(tty, &old_termios);
-	else
-		tty_termios_copy_hw(&tty->termios, &old_termios);
-
-	ld = tty_ldisc_ref(tty);
-	if (ld != NULL) {
-		if (ld->ops->set_termios)
-			ld->ops->set_termios(tty, &old_termios);
-		tty_ldisc_deref(ld);
-	}
-	up_write(&tty->termios_rwsem);
-	return 0;
-}
-EXPORT_SYMBOL_GPL(tty_set_termios);
-#endif /* LINUX_VERSION_IS_GEQ(4,0,0) */
-#endif /* CONFIG_TTY */
diff --git a/patches/0053-possible_net_t.patch b/patches/0053-possible_net_t.patch
deleted file mode 100644
index 6ee009bd..00000000
--- a/patches/0053-possible_net_t.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
-index 04e5785..a251da1 100644
---- a/include/net/cfg80211.h
-+++ b/include/net/cfg80211.h
-@@ -5026,12 +5026,12 @@ struct wiphy {
- 
- static inline struct net *wiphy_net(struct wiphy *wiphy)
- {
--	return read_pnet(&wiphy->_net);
-+	return possible_read_pnet(&wiphy->_net);
- }
- 
- static inline void wiphy_net_set(struct wiphy *wiphy, struct net *net)
- {
--	write_pnet(&wiphy->_net, net);
-+	possible_write_pnet(&wiphy->_net, net);
- }
- 
- /**
diff --git a/patches/0054-struct-proto_ops-sig.cocci b/patches/0054-struct-proto_ops-sig.cocci
deleted file mode 100644
index 1d190dcd..00000000
--- a/patches/0054-struct-proto_ops-sig.cocci
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
-This provides the backport for the collateral evolution introduced
-via commit 1b784140474e4fc94281a49e96c67d29df0efbde, titled
-"net: Remove iocb argument from sendmsg and recvmsg".
-
-The net/tipc/ subsystem (Transparent Inter Process Communication (TIPC))
-relied historically on using an argument passed on the struct proto_ops
-and struct proto sendmsg and recvmsg callbacks to determine if it needed
-to perform a lock within its own code. Commit 1b784140474e4 removed replaced
-the locking functionality to require the argument and instead moved all
-the necessary heuristics into net/tipc. Other subsystems just passed NULL.
-After the net/tipc code was cleaned up from the locking (see commmit
-39a0295f901423e260a034ac7c3211ecaa9c2745 titled "tipc: Don't use iocb
-argument in socket layer") we no longer needed the extra argument on the
-struct proto_ops and struct proto callbacks.
-
-To backport non-tipc subsystems we then just need to modify the upstream
-code which declares these callbacks and add the extra argument again, but
-the same routine can be used from upstream code. The grammar we use below
-declares routines which can be pegged to struct proto_ops and struct proto
-callbacks that simply call the same upstream code, the extra argument is
-ignored. The argument can be ignored as it was only used within the
-net/tipc subsystem for locking purposes.
-*/
-
-@ proto_ops @
-identifier s, send_func, recv_func;
-@@
-
- struct proto_ops s = {
- 	.sendmsg = send_func,
- 	.recvmsg = recv_func,
-};
-
-@ mod_send depends on proto_ops @
-identifier proto_ops.send_func;
-fresh identifier backport_send = "backport_" ## send_func;
-@@
-
-send_func(...)
-{
-	...
-}
-
-+#if LINUX_VERSION_IS_LESS(4,1,0)
-+static int backport_send(struct kiocb *iocb, struct socket *sock, struct msghdr *msg, size_t len)
-+{
-+	return send_func(sock, msg, len);
-+}
-+#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
-@ mod_recv depends on proto_ops @
-identifier proto_ops.recv_func;
-fresh identifier backport_recv = "backport_" ## recv_func;
-@@
-
-recv_func(...)
-{
-	...
-}
-
-+#if LINUX_VERSION_IS_LESS(4,1,0)
-+static int backport_recv(struct kiocb *iocb, struct socket *sock,
-+			  struct msghdr *msg, size_t len, int flags)
-+{
-+	return recv_func(sock, msg, len, flags);
-+}
-+#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
-@ mod_proto_ops_tx depends on proto_ops && mod_send @
-identifier s, proto_ops.send_func, mod_send.backport_send;
-@@
-
- struct proto_ops s = {
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- 	.sendmsg = send_func,
-+#else
-+	.sendmsg = backport_send,
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-};
-
-@ mod_proto_ops_rx depends on proto_ops && mod_recv @
-identifier s, proto_ops.recv_func, mod_recv.backport_recv;
-@@
-
- struct proto_ops s = {
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- 	.recvmsg = recv_func,
-+#else
-+	.recvmsg = backport_recv,
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-};
-
-@ mod_sock_send_callers depends on proto_ops@
-identifier proto_ops.send_func;
-identifier sock, msg, len, sk;
-@@
-
-send_func(struct socket *sock, struct msghdr *msg, size_t len)
-{
-	...
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
-	return sk->sk_prot->sendmsg(sk, msg, len);
-+#else
-+	return sk->sk_prot->sendmsg(NULL, sk, msg, len);
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-}
-
-@ proto @
-identifier s, send_func, recv_func;
-@@
-
- struct proto s = {
- 	.sendmsg = send_func,
- 	.recvmsg = recv_func,
-};
-
-@ proto_mod_send depends on proto @
-identifier proto.send_func;
-fresh identifier backport_send = "backport_" ## send_func;
-@@
-
-send_func(...)
-{
-	...
-}
-
-+#if LINUX_VERSION_IS_LESS(4,1,0)
-+static int backport_send(struct kiocb *iocb, struct sock *sk,
-+			  struct msghdr *msg, size_t len)
-+{
-+	return send_func(sk, msg, len);
-+}
-+#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
-@ proto_mod_recv depends on proto @
-identifier proto.recv_func;
-fresh identifier backport_recv = "backport_" ## recv_func;
-@@
-
-recv_func(...)
-{
-	...
-}
-
-+#if LINUX_VERSION_IS_LESS(4,1,0)
-+static int backport_recv(struct kiocb *iocb, struct sock *sk,
-+			  struct msghdr *msg, size_t len,
-+			  int noblock, int flags, int *addr_len)
-+{
-+	return recv_func(sk, msg, len, noblock, flags, addr_len);
-+}
-+#endif /* LINUX_VERSION_IS_LESS(4,1,0) */
-
-@ mod_proto_tx depends on proto && proto_mod_send @
-identifier s, proto.send_func, proto_mod_send.backport_send;
-@@
-
- struct proto s = {
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- 	.sendmsg = send_func,
-+#else
-+	.sendmsg = backport_send,
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-};
-
-@ mod_proto_rx depends on proto && proto_mod_recv @
-identifier s, proto.recv_func, proto_mod_recv.backport_recv;
-@@
-
- struct proto s = {
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- 	.recvmsg = recv_func,
-+#else
-+	.recvmsg = backport_recv,
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-};
diff --git a/patches/0058-ptp_getsettime64/INFO b/patches/0058-ptp_getsettime64/INFO
deleted file mode 100644
index 9679d318..00000000
--- a/patches/0058-ptp_getsettime64/INFO
+++ /dev/null
@@ -1,11 +0,0 @@
-In kernel 4.1 struct ptp_clock_info changes function pointers gettime,
-settime to gettime64, settime64.
-
-commit 92f1719407b90475b3be0b7b9c983dec2ff8351e
-Author: Richard Cochran <[email protected]>
-Date:   Sun Mar 29 23:11:51 2015 +0200
-
-    ptp: introduce get/set time methods with explicit 64 bit seconds.
-
-git describe --contains 92f1719407b90475b3be0b7b9c983dec2ff8351e
-next-20150401~92^2~18^2~22
diff --git a/patches/0058-ptp_getsettime64/ptp_getsettime64.cocci b/patches/0058-ptp_getsettime64/ptp_getsettime64.cocci
deleted file mode 100644
index ff17ebde..00000000
--- a/patches/0058-ptp_getsettime64/ptp_getsettime64.cocci
+++ /dev/null
@@ -1,33 +0,0 @@
-// ----------------------------------------------------------------------------
-// handle gettime64 to gettime function assignments
-@r1@
-expression E1, E2;
-@@
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- E1.gettime64 = E2;
-+#else
-+E1.gettime = E2;
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-
-// ----------------------------------------------------------------------------
-// handle calls to gettime64 as calls to gettime
-@r2@
-expression E1, E2, E3;
-@@
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- E1.gettime64(E2, E3);
-+#else
-+E1.gettime(E2, E3);
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-
-// ----------------------------------------------------------------------------
-// handle settime64 to settime function assignments
-@r3@
-expression E1, E2;
-@@
-+#if LINUX_VERSION_IS_GEQ(4,1,0)
- E1.settime64 = E2;
-+#else
-+E1.settime = E2;
-+#endif /* LINUX_VERSION_IS_GEQ(4,1,0) */
-
-- 
2.30.2

--
To unsubscribe from this list: send the line "unsubscribe backports" in
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.