It was described by Arend as: > This series is intended for 4.17 and includes following: > > * rework bus layer attach code. > * remove duplicate variable declaration. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
		
			
				
	
	
		
			131 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			131 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From 0542503c4c164c65cd1567b0f2b3f887af6c81eb Mon Sep 17 00:00:00 2001
 | 
						|
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
 | 
						|
Date: Tue, 20 Feb 2018 00:14:22 +0100
 | 
						|
Subject: [PATCH] brcmfmac: move brcmf_attach() function in core.c
 | 
						|
 | 
						|
Moving the function in preparation of subsequent patch.
 | 
						|
 | 
						|
Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
 | 
						|
Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
 | 
						|
Reviewed-by: Franky Lin <franky.lin@broadcom.com>
 | 
						|
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
 | 
						|
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
 | 
						|
---
 | 
						|
 .../wireless/broadcom/brcm80211/brcmfmac/core.c    | 98 +++++++++++-----------
 | 
						|
 1 file changed, 49 insertions(+), 49 deletions(-)
 | 
						|
 | 
						|
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
 | 
						|
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
 | 
						|
@@ -992,55 +992,6 @@ static int brcmf_inet6addr_changed(struc
 | 
						|
 }
 | 
						|
 #endif
 | 
						|
 
 | 
						|
-int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
 | 
						|
-{
 | 
						|
-	struct brcmf_pub *drvr = NULL;
 | 
						|
-	int ret = 0;
 | 
						|
-	int i;
 | 
						|
-
 | 
						|
-	brcmf_dbg(TRACE, "Enter\n");
 | 
						|
-
 | 
						|
-	/* Allocate primary brcmf_info */
 | 
						|
-	drvr = kzalloc(sizeof(struct brcmf_pub), GFP_ATOMIC);
 | 
						|
-	if (!drvr)
 | 
						|
-		return -ENOMEM;
 | 
						|
-
 | 
						|
-	for (i = 0; i < ARRAY_SIZE(drvr->if2bss); i++)
 | 
						|
-		drvr->if2bss[i] = BRCMF_BSSIDX_INVALID;
 | 
						|
-
 | 
						|
-	mutex_init(&drvr->proto_block);
 | 
						|
-
 | 
						|
-	/* Link to bus module */
 | 
						|
-	drvr->hdrlen = 0;
 | 
						|
-	drvr->bus_if = dev_get_drvdata(dev);
 | 
						|
-	drvr->bus_if->drvr = drvr;
 | 
						|
-	drvr->settings = settings;
 | 
						|
-
 | 
						|
-	/* attach debug facilities */
 | 
						|
-	brcmf_debug_attach(drvr);
 | 
						|
-
 | 
						|
-	/* Attach and link in the protocol */
 | 
						|
-	ret = brcmf_proto_attach(drvr);
 | 
						|
-	if (ret != 0) {
 | 
						|
-		brcmf_err("brcmf_prot_attach failed\n");
 | 
						|
-		goto fail;
 | 
						|
-	}
 | 
						|
-
 | 
						|
-	/* Attach to events important for core code */
 | 
						|
-	brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
 | 
						|
-			    brcmf_psm_watchdog_notify);
 | 
						|
-
 | 
						|
-	/* attach firmware event handler */
 | 
						|
-	brcmf_fweh_attach(drvr);
 | 
						|
-
 | 
						|
-	return ret;
 | 
						|
-
 | 
						|
-fail:
 | 
						|
-	brcmf_detach(dev);
 | 
						|
-
 | 
						|
-	return ret;
 | 
						|
-}
 | 
						|
-
 | 
						|
 static int brcmf_revinfo_read(struct seq_file *s, void *data)
 | 
						|
 {
 | 
						|
 	struct brcmf_bus *bus_if = dev_get_drvdata(s->private);
 | 
						|
@@ -1170,6 +1121,55 @@ fail:
 | 
						|
 
 | 
						|
 	return ret;
 | 
						|
 }
 | 
						|
+
 | 
						|
+int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
 | 
						|
+{
 | 
						|
+	struct brcmf_pub *drvr = NULL;
 | 
						|
+	int ret = 0;
 | 
						|
+	int i;
 | 
						|
+
 | 
						|
+	brcmf_dbg(TRACE, "Enter\n");
 | 
						|
+
 | 
						|
+	/* Allocate primary brcmf_info */
 | 
						|
+	drvr = kzalloc(sizeof(*drvr), GFP_ATOMIC);
 | 
						|
+	if (!drvr)
 | 
						|
+		return -ENOMEM;
 | 
						|
+
 | 
						|
+	for (i = 0; i < ARRAY_SIZE(drvr->if2bss); i++)
 | 
						|
+		drvr->if2bss[i] = BRCMF_BSSIDX_INVALID;
 | 
						|
+
 | 
						|
+	mutex_init(&drvr->proto_block);
 | 
						|
+
 | 
						|
+	/* Link to bus module */
 | 
						|
+	drvr->hdrlen = 0;
 | 
						|
+	drvr->bus_if = dev_get_drvdata(dev);
 | 
						|
+	drvr->bus_if->drvr = drvr;
 | 
						|
+	drvr->settings = settings;
 | 
						|
+
 | 
						|
+	/* attach debug facilities */
 | 
						|
+	brcmf_debug_attach(drvr);
 | 
						|
+
 | 
						|
+	/* Attach and link in the protocol */
 | 
						|
+	ret = brcmf_proto_attach(drvr);
 | 
						|
+	if (ret != 0) {
 | 
						|
+		brcmf_err("brcmf_prot_attach failed\n");
 | 
						|
+		goto fail;
 | 
						|
+	}
 | 
						|
+
 | 
						|
+	/* Attach to events important for core code */
 | 
						|
+	brcmf_fweh_register(drvr, BRCMF_E_PSM_WATCHDOG,
 | 
						|
+			    brcmf_psm_watchdog_notify);
 | 
						|
+
 | 
						|
+	/* attach firmware event handler */
 | 
						|
+	brcmf_fweh_attach(drvr);
 | 
						|
+
 | 
						|
+	return ret;
 | 
						|
+
 | 
						|
+fail:
 | 
						|
+	brcmf_detach(dev);
 | 
						|
+
 | 
						|
+	return ret;
 | 
						|
+}
 | 
						|
 
 | 
						|
 void brcmf_bus_add_txhdrlen(struct device *dev, uint len)
 | 
						|
 {
 |