This adds two fixes for compilation with kernel 5.4:
1. dev_open from include/linux/netdevice.h needs a second parameter
since kernel 5.0:
00f54e68924e ("net: core: dev: Add extack argument to dev_open()")
2. get_ds() macro definition has been dropped since kernel 5.1:
736706bee329 ("get rid of legacy 'get_ds()' function")
Since get_ds() has been just a macro before, replace it in
the driver instead of creating a version switch.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
--- /dev/null
+--- a/driver/wl_iw.c
++++ b/driver/wl_iw.c
+@@ -112,10 +112,14 @@
+ ifr.ifr_data = (caddr_t) &ioc;
+
+ /* Must be up for virtually all useful ioctls */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 0, 0)
++ dev_open(dev, NULL);
++#else
+ dev_open(dev);
++#endif
+
+ fs = get_fs();
+- set_fs(get_ds());
++ set_fs(KERNEL_DS);
+ ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
+ set_fs(fs);
+