mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-04 16:25:34 +00:00
staging: wilc1000: separate hif_sdio and hif_spi into different module
hif_sdio and hif_spi objects are compiled all the time even though one of SPI or SDIO is selected. This patch separates hif_sdio and hif_spi into different modules using ifdef define. After rework SPI and SDIO modules with only one hif interface, the define WILC_SDIO will be removed. This is first path of this series. Signed-off-by: Glen Lee <glen.lee@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
540c3e88ba
commit
cdb99231c4
2 changed files with 20 additions and 22 deletions
|
@ -21,8 +21,8 @@ ccflags-$(CONFIG_WILC1000_DYNAMICALLY_ALLOCATE_MEMROY) += -DWILC_NORMAL_ALLOC
|
|||
wilc1000-objs := wilc_wfi_cfgoperations.o linux_wlan.o linux_mon.o \
|
||||
wilc_msgqueue.o \
|
||||
coreconfigurator.o host_interface.o \
|
||||
wilc_sdio.o wilc_spi.o wilc_wlan_cfg.o wilc_debugfs.o \
|
||||
wilc_wlan_cfg.o wilc_debugfs.o \
|
||||
wilc_wlan.o
|
||||
|
||||
wilc1000-$(CONFIG_WILC1000_SDIO) += linux_wlan_sdio.o
|
||||
wilc1000-$(CONFIG_WILC1000_SPI) += linux_wlan_spi.o
|
||||
wilc1000-$(CONFIG_WILC1000_SDIO) += linux_wlan_sdio.o wilc_sdio.o
|
||||
wilc1000-$(CONFIG_WILC1000_SPI) += linux_wlan_spi.o wilc_spi.o
|
||||
|
|
|
@ -2,8 +2,11 @@
|
|||
#include "wilc_wfi_netdevice.h"
|
||||
#include "wilc_wlan_cfg.h"
|
||||
|
||||
#ifdef WILC_SDIO
|
||||
extern struct wilc_hif_func hif_sdio;
|
||||
#else
|
||||
extern struct wilc_hif_func hif_spi;
|
||||
#endif
|
||||
u32 wilc_get_chipid(u8 update);
|
||||
|
||||
typedef struct {
|
||||
|
@ -1659,26 +1662,21 @@ int wilc_wlan_init(struct net_device *dev, wilc_wlan_inp_t *inp)
|
|||
memcpy((void *)&g_wlan.io_func, (void *)&inp->io_func,
|
||||
sizeof(wilc_wlan_io_func_t));
|
||||
|
||||
if ((inp->io_func.io_type & 0x1) == HIF_SDIO) {
|
||||
if (!hif_sdio.hif_init(inp, wilc_debug)) {
|
||||
ret = -EIO;
|
||||
goto _fail_;
|
||||
}
|
||||
memcpy((void *)&g_wlan.hif_func, &hif_sdio,
|
||||
sizeof(struct wilc_hif_func));
|
||||
} else {
|
||||
if ((inp->io_func.io_type & 0x1) == HIF_SPI) {
|
||||
if (!hif_spi.hif_init(inp, wilc_debug)) {
|
||||
ret = -EIO;
|
||||
goto _fail_;
|
||||
}
|
||||
memcpy((void *)&g_wlan.hif_func, &hif_spi,
|
||||
sizeof(struct wilc_hif_func));
|
||||
} else {
|
||||
ret = -EIO;
|
||||
goto _fail_;
|
||||
}
|
||||
#ifdef WILC_SDIO
|
||||
if (!hif_sdio.hif_init(inp, wilc_debug)) {
|
||||
ret = -EIO;
|
||||
goto _fail_;
|
||||
}
|
||||
memcpy((void *)&g_wlan.hif_func, &hif_sdio,
|
||||
sizeof(struct wilc_hif_func));
|
||||
#else
|
||||
if (!hif_spi.hif_init(inp, wilc_debug)) {
|
||||
ret = -EIO;
|
||||
goto _fail_;
|
||||
}
|
||||
memcpy((void *)&g_wlan.hif_func, &hif_spi,
|
||||
sizeof(struct wilc_hif_func));
|
||||
#endif
|
||||
|
||||
if (!wilc_wlan_cfg_init(wilc_debug)) {
|
||||
ret = -ENOBUFS;
|
||||
|
|
Loading…
Add table
Reference in a new issue