@@ -104,6 +104,7 @@ drivers/net/wireless/intel/
drivers/net/wireless/ralink/
drivers/net/wireless/zydas/
drivers/net/wireless/marvell/
+drivers/net/wireless/microchip/
drivers/net/wireless/intersil/
drivers/net/wireless/quantenna/
drivers/net/wireless/realtek/
new file mode 100644
@@ -0,0 +1,34 @@
+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 @@
+ #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
+@@ -7,6 +7,7 @@
+ #include <linux/clk.h>
+ #include <linux/spi/spi.h>
+ #include <linux/crc7.h>
++#include <linux/module.h>
+
+ #include "netdev.h"
+ #include "cfg80211.h"
new file mode 100644
@@ -0,0 +1,47 @@
+--- a/drivers/net/wireless/microchip/wilc1000/spi.c
++++ b/drivers/net/wireless/microchip/wilc1000/spi.c
+@@ -160,10 +160,14 @@ static int wilc_spi_tx(struct wilc *wilc
+ struct spi_transfer tr = {
+ .tx_buf = b,
+ .len = len,
++#if LINUX_VERSION_IS_GEQ(5,5,0)
+ .delay = {
+ .value = 0,
+ .unit = SPI_DELAY_UNIT_USECS
+ },
++#else
++ .delay_usecs = 0,
++#endif /* >= 5.5 */
+ };
+ char *r_buffer = kzalloc(len, GFP_KERNEL);
+
+@@ -204,10 +208,14 @@ static int wilc_spi_rx(struct wilc *wilc
+ struct spi_transfer tr = {
+ .rx_buf = rb,
+ .len = rlen,
++#if LINUX_VERSION_IS_GEQ(5,5,0)
+ .delay = {
+ .value = 0,
+ .unit = SPI_DELAY_UNIT_USECS
+ },
++#else
++ .delay_usecs = 0,
++#endif /* >= 5.5 */
+
+ };
+ char *t_buffer = kzalloc(rlen, GFP_KERNEL);
+@@ -249,10 +257,14 @@ static int wilc_spi_tx_rx(struct wilc *w
+ .tx_buf = wb,
+ .len = rlen,
+ .bits_per_word = 8,
++#if LINUX_VERSION_IS_GEQ(5,5,0)
+ .delay = {
+ .value = 0,
+ .unit = SPI_DELAY_UNIT_USECS
+ },
++#else
++ .delay_usecs = 0,
++#endif /* >= 5.5 */
+
+ };
+
This driver was newly added to mainline, also add it to backports. The driver needs minimal changes to compile against older kernel versions. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- copy-list | 1 + .../0013-fix-makefile-includes/wilc1000.patch | 34 ++++++++++++++ patches/0095-spi-delay/wilc1000.patch | 47 +++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 patches/0013-fix-makefile-includes/wilc1000.patch create mode 100644 patches/0095-spi-delay/wilc1000.patch