Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1270191

[PATCH 11/19] staging/wilc1000: pass io_type to wilc_netdev_init

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From Arnd Bergmann <arnd@arndb.de>
Newsgroups linux.kernel
Subject [PATCH 11/19] staging/wilc1000: pass io_type to wilc_netdev_init
Date Mon, 16 Nov 2015 15:10:02 +0100
Message-ID <qvsDM-8kq-23@gated-at.bofh.it> (permalink)
References <qvsDL-8kq-3@gated-at.bofh.it>
X-Original-To Greg Kroah-Hartman <gregkh@linuxfoundation.org>
X-Mailer git-send-email 2.1.0.rc2
X-Provags-ID V03:K0:TPMcWjRfJAbgI6HIlS0PmsJDKUTvXctEtVyYT29d1UfEHTMi0xF 22nGBlZcQ2293XWF5IQf6HLU5s16cXhxmgkNhDabIa66h2WCaiZ+Vy6Wps/eFMf20DUgu8y 70qPutC7cVJeJWjTc5BgqqF53KUvZLuOjazCRr9zKO4gjHAAJbyrgtPVyQjJapNYUpLrq1L 3GsUKdtecTz6mbCOsYJUQ==
X-Ui-Out-Filterresults notjunk:1;V01:K0:ciKs1L8GwyA=:eOKeeiP59A+9o5UUEjW5s6 M7nK2twCsQ48t/wZGFkSfVP7QlbH4+atGpm0bOd8C7AWfkGkPin5N0o1WMOM9oPUZHNWfAb7w yXO00yFOLMZUFVIKRQ5NzuEVIVmZPNovEWdDhtt1Jn8xyBVxYN80rvkr1FjpxMw7Op9kVfeYo piWtFb4gBd1h6OAoEpS6FsIpUoR9G9XBJWoafoFZqMT7uP3vL7XS8Q49meNHzoRl9EJs/ar6K uk97jUyVefXQHDfJYBn5NGFRIYxpBnakOjDmkDP2/tGGpXBSzUO8DA7H9rEnwkE7BfBpFhDCv xqV6Gch24XH1Hkv+iLthnWndywdLb8GcktB28cioqAgUyH+S7KjAKiHw3Q5XLrTXKVUvSYKhC ++ODc22g3Xy6AWPJHoDOEd5nLRtU3VdXllFnLmpgyI+QLbjaFFukKMU3n1ETVPRdW6vON2qJG 6coUm1W71c9UbVopamim/Z2I+u7geFa/8heGXMSUfBYcidY7/D98MqrdtTwPBFG8yPdQcxyvS mmyOtpQsuPZGRLOe3/79J8YwXofVi13sWCceAQXQZCKg6YP9bT6VC6663NJQ7UwZGboLeht7w fr5WUMX9MI2pNk/5DZPPO3ZEKeZnn/f1xl11A3HOeQv1mGXzCdVCfAc//6hbkvWMOnnwkGTk7 2gJP1LeeTpDHETYT97wZtOYGrNa6Tcm0nEARgIVXOQsk49pmYqHlAgHf6xtwEJu1uiHk=
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 141
Organization linux.* mail to news gateway
X-Original-Cc Johnny Kim <johnny.kim@atmel.com>, Austin Shin <austin.shin@atmel.com>, Chris Park <chris.park@atmel.com>, Tony Cho <tony.cho@atmel.com>, Glen Lee <glen.lee@atmel.com>, Leo Kim <leo.kim@atmel.com>, linux-wireless@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>
X-Original-Date Mon, 16 Nov 2015 15:05:02 +0100
X-Original-Message-ID <1447682710-2908925-12-git-send-email-arnd@arndb.de>
X-Original-References <1447682710-2908925-1-git-send-email-arnd@arndb.de>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1270191

Show key headers only | View raw


In order to avoid some of the #ifdefs, this passes the io_type
and device pointer as an argument to wilc_netdev_init.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/staging/wilc1000/linux_wlan.c         | 18 ++++--------------
 drivers/staging/wilc1000/linux_wlan_sdio.c    |  4 ++--
 drivers/staging/wilc1000/linux_wlan_spi.c     |  4 ++--
 drivers/staging/wilc1000/wilc_wfi_netdevice.h |  2 +-
 4 files changed, 9 insertions(+), 19 deletions(-)

diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c
index faad01f6f2d1..b1707147aa7d 100644
--- a/drivers/staging/wilc1000/linux_wlan.c
+++ b/drivers/staging/wilc1000/linux_wlan.c
@@ -25,11 +25,7 @@
 
 #include <linux/semaphore.h>
 
-#ifdef WILC_SDIO
 #include "linux_wlan_sdio.h"
-#else
-#include "linux_wlan_spi.h"
-#endif
 
 static int dev_state_ev_handler(struct notifier_block *this, unsigned long event, void *ptr);
 
@@ -884,11 +880,6 @@ int wilc1000_wlan_init(struct net_device *dev, perInterface_wlan_t *p_nic)
 
 		wlan_init_locks(dev);
 
-#ifdef WILC_SDIO
-		wl->io_type = HIF_SDIO;
-#else
-		wl->io_type = HIF_SPI;
-#endif
 		ret = wilc_wlan_init(dev);
 		if (ret < 0) {
 			PRINT_ER("Initializing WILC_Wlan FAILED\n");
@@ -1426,7 +1417,7 @@ void wilc_netdev_cleanup(struct wilc *wilc)
 #endif
 }
 
-int wilc_netdev_init(struct wilc **wilc)
+int wilc_netdev_init(struct wilc **wilc, struct device *dev, int io_type)
 {
 	int i;
 	perInterface_wlan_t *nic;
@@ -1439,7 +1430,7 @@ int wilc_netdev_init(struct wilc **wilc)
 		return -ENOMEM;
 
 	*wilc = wilc_dev;
-
+	wilc_dev->io_type = io_type;
 	register_inetaddr_notifier(&g_dev_notifier);
 
 	for (i = 0; i < NUM_CONCURRENT_IFC; i++) {
@@ -1468,9 +1459,8 @@ int wilc_netdev_init(struct wilc **wilc)
 			struct wireless_dev *wdev;
 			wdev = wilc_create_wiphy(ndev);
 
-			#ifdef WILC_SDIO
-			SET_NETDEV_DEV(ndev, &wilc_sdio_func->dev);
-			#endif
+			if (dev)
+				SET_NETDEV_DEV(ndev, dev);
 
 			if (!wdev) {
 				PRINT_ER("Can't register WILC Wiphy\n");
diff --git a/drivers/staging/wilc1000/linux_wlan_sdio.c b/drivers/staging/wilc1000/linux_wlan_sdio.c
index 8df69b2aff2d..d2843b949a1b 100644
--- a/drivers/staging/wilc1000/linux_wlan_sdio.c
+++ b/drivers/staging/wilc1000/linux_wlan_sdio.c
@@ -1,4 +1,5 @@
 #include "wilc_wfi_netdevice.h"
+#include "linux_wlan_sdio.h"
 
 #include <linux/mmc/sdio_func.h>
 #include <linux/mmc/card.h>
@@ -113,7 +114,7 @@ static int linux_sdio_probe(struct sdio_func *func, const struct sdio_device_id
 
 	PRINT_D(INIT_DBG, "Initializing netdev\n");
 	wilc_sdio_func = func;
-	if (wilc_netdev_init(&wilc)) {
+	if (wilc_netdev_init(&wilc, &func->dev, HIF_SDIO)) {
 		PRINT_ER("Couldn't initialize netdev\n");
 		return -1;
 	}
@@ -215,7 +216,6 @@ int wilc_sdio_set_default_speed(void)
 	return linux_sdio_set_speed(sdio_default_speed);
 }
 
-
 static int __init init_wilc_sdio_driver(void)
 {
 	return sdio_register_driver(&wilc_bus);
diff --git a/drivers/staging/wilc1000/linux_wlan_spi.c b/drivers/staging/wilc1000/linux_wlan_spi.c
index 29dd9d4e5ff0..a459c502a8a8 100644
--- a/drivers/staging/wilc1000/linux_wlan_spi.c
+++ b/drivers/staging/wilc1000/linux_wlan_spi.c
@@ -9,9 +9,9 @@
 #include <linux/device.h>
 #include <linux/spi/spi.h>
 
+#include "linux_wlan_spi.h"
 #include "wilc_wfi_netdevice.h"
 #include "linux_wlan_common.h"
-#include "linux_wlan_spi.h"
 #include "wilc_wlan_if.h"
 
 #define USE_SPI_DMA     0       /* johnny add */
@@ -404,7 +404,7 @@ static int __init init_wilc_spi_driver(void)
 
 	wilc_debugfs_init();
 
-	ret = wilc_netdev_init(&wilc);
+	ret = wilc_netdev_init(&wilc, NULL, HIF_SPI);
 	if (ret) {
 		wilc_debugfs_remove();
 		return ret;
diff --git a/drivers/staging/wilc1000/wilc_wfi_netdevice.h b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
index a099f2877b6e..eae9ce175351 100644
--- a/drivers/staging/wilc1000/wilc_wfi_netdevice.h
+++ b/drivers/staging/wilc1000/wilc_wfi_netdevice.h
@@ -213,7 +213,7 @@ void linux_wlan_rx_complete(void);
 void linux_wlan_dbg(u8 *buff);
 int linux_wlan_lock_timeout(void *vp, u32 timeout);
 void wilc_netdev_cleanup(struct wilc *wilc);
-int wilc_netdev_init(struct wilc **wilc);
+int wilc_netdev_init(struct wilc **wilc, struct device *, int io_type);
 void wilc1000_wlan_deinit(struct net_device *dev);
 void WILC_WFI_mgmt_rx(struct wilc *wilc, u8 *buff, u32 size);
 u16 wilc_set_machw_change_vir_if(struct net_device *dev, bool value);
-- 
2.1.0.rc2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

[PATCH 11/19] staging/wilc1000: pass io_type to wilc_netdev_init Arnd Bergmann <arnd@arndb.de> - 2015-11-16 15:10 +0100

csiph-web