Added the Makefile and Kconfig  for compiling the wilc module.
Renaming the module as 'wilc', so modified the Kconfig and Makefile
accordingly.
Modified wilc_sdio.c file to avoid the use of wilc1000 in macro name.

Signed-off-by: Ajay Singh <ajay.kat...@microchip.com>
---
 drivers/net/wireless/microchip/Kconfig       | 14 ++++++++++
 drivers/net/wireless/microchip/Makefile      |  1 +
 drivers/net/wireless/microchip/wilc/Kconfig  | 42 ++++++++++++++++++++++++++++
 drivers/net/wireless/microchip/wilc/Makefile | 15 ++++++++++
 drivers/staging/wilc1000/wilc_sdio.c         |  4 +--
 5 files changed, 74 insertions(+), 2 deletions(-)
 create mode 100644 drivers/net/wireless/microchip/Kconfig
 create mode 100644 drivers/net/wireless/microchip/Makefile
 create mode 100644 drivers/net/wireless/microchip/wilc/Kconfig
 create mode 100644 drivers/net/wireless/microchip/wilc/Makefile

diff --git a/drivers/net/wireless/microchip/Kconfig 
b/drivers/net/wireless/microchip/Kconfig
new file mode 100644
index 0000000..4429b3d
--- /dev/null
+++ b/drivers/net/wireless/microchip/Kconfig
@@ -0,0 +1,14 @@
+config WLAN_VENDOR_MICROCHIP
+       bool "Microchip devices"
+       default y
+       ---help---
+         If you have a wireless card belonging to this class, say Y.
+
+         Note that the answer to this question doesn't directly affect the
+         kernel: saying N will just cause the configurator to skip all the
+         questions about these cards. If you say Y, you will be asked for
+         your specific card in the following questions.
+
+if WLAN_VENDOR_MICROCHIP
+source "drivers/net/wireless/microchip/wilc/Kconfig"
+endif # WLAN_VENDOR_MICROCHIP
diff --git a/drivers/net/wireless/microchip/Makefile 
b/drivers/net/wireless/microchip/Makefile
new file mode 100644
index 0000000..6c15d8f
--- /dev/null
+++ b/drivers/net/wireless/microchip/Makefile
@@ -0,0 +1 @@
+obj-$(CONFIG_WILC)     += wilc/
diff --git a/drivers/net/wireless/microchip/wilc/Kconfig 
b/drivers/net/wireless/microchip/wilc/Kconfig
new file mode 100644
index 0000000..5268165
--- /dev/null
+++ b/drivers/net/wireless/microchip/wilc/Kconfig
@@ -0,0 +1,42 @@
+config WILC
+       tristate
+       ---help---
+         This module only support IEEE 802.11n WiFi.
+
+config WILC_SDIO
+       tristate "Microchip WILC SDIO (WiFi only)"
+       depends on CFG80211 && INET && MMC
+       select WILC
+       ---help---
+         This module adds support for the SDIO interface of adapters using
+         WILC chipset. The Microchip WILC SDIO is a full speed interface.
+         It meets SDIO card specification version 2.0. The interface supports
+         the 1-bit/4-bit SD transfer mode at the clock range of 0-50 MHz.
+         The host can use this interface to read and write from any register
+         within the chip as well as configure the WILC for data DMA.
+         To use this interface, pin9 (SDIO_SPI_CFG) must be grounded. Select
+         this if your platform is using the SDIO bus.
+
+config WILC_SPI
+       tristate "Microchip WILC SPI (WiFi only)"
+       depends on CFG80211 && INET && SPI
+       select WILC
+       ---help---
+         This module adds support for the SPI interface of adapters using
+         WILC chipset. The Microchip WILC has a Serial Peripheral
+         Interface (SPI) that operates as a SPI slave. This SPI interface can
+         be used for control and for serial I/O of 802.11 data. The SPI is a
+         full-duplex slave synchronous serial interface that is available
+         immediately following reset when pin 9 (SDIO_SPI_CFG) is tied to
+         VDDIO. Select this if your platform is using the SPI bus.
+
+config WILC_HW_OOB_INTR
+       bool "WILC out of band interrupt"
+       depends on WILC_SDIO
+       default n
+       ---help---
+         This option enables out-of-band interrupt support for the WILC
+         chipset. This OOB interrupt is intended to provide a faster interrupt
+         mechanism for SDIO host controllers that don't support SDIO interrupt.
+         Select this option If the SDIO host controller in your platform
+         doesn't support SDIO time devision interrupt.
diff --git a/drivers/net/wireless/microchip/wilc/Makefile 
b/drivers/net/wireless/microchip/wilc/Makefile
new file mode 100644
index 0000000..a98a4af
--- /dev/null
+++ b/drivers/net/wireless/microchip/wilc/Makefile
@@ -0,0 +1,15 @@
+# SPDX-License-Identifier: GPL-2.0
+obj-$(CONFIG_WILC) += wilc.o
+
+ccflags-y += -DFIRMWARE_1002=\"atmel/wilc1002_firmware.bin\" \
+               -DFIRMWARE_1003=\"atmel/wilc1003_firmware.bin\"
+
+wilc-objs := wilc_wfi_cfgoperations.o linux_wlan.o linux_mon.o \
+                       coreconfigurator.o host_interface.o \
+                       wilc_wlan_cfg.o wilc_wlan.o
+
+obj-$(CONFIG_WILC_SDIO) += wilc-sdio.o
+wilc-sdio-objs += wilc_sdio.o
+
+obj-$(CONFIG_WILC_SPI) += wilc-spi.o
+wilc-spi-objs += wilc_spi.o
diff --git a/drivers/staging/wilc1000/wilc_sdio.c 
b/drivers/staging/wilc1000/wilc_sdio.c
index b2080d8..4df1da1 100644
--- a/drivers/staging/wilc1000/wilc_sdio.c
+++ b/drivers/staging/wilc1000/wilc_sdio.c
@@ -9,7 +9,7 @@
 
 #include "wilc_wfi_netdevice.h"
 
-#define SDIO_MODALIAS "wilc1000_sdio"
+#define SDIO_MODALIAS "wilc_sdio"
 
 #define SDIO_VENDOR_ID_WILC 0x0296
 #define SDIO_DEVICE_ID_WILC 0x5347
@@ -110,7 +110,7 @@ static int linux_sdio_probe(struct sdio_func *func,
        int ret;
        struct gpio_desc *gpio = NULL;
 
-       if (IS_ENABLED(CONFIG_WILC1000_HW_OOB_INTR)) {
+       if (IS_ENABLED(CONFIG_WILC_HW_OOB_INTR)) {
                gpio = gpiod_get(&func->dev, "irq", GPIOD_IN);
                if (IS_ERR(gpio)) {
                        /* get the GPIO descriptor from hardcode GPIO number */
-- 
2.7.4

Reply via email to