diff options
| author | Dominik Brodowski <linux@dominikbrodowski.net> | 2009-10-24 15:53:36 +0200 | 
|---|---|---|
| committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2009-11-09 08:30:02 +0100 | 
| commit | 2caff14713d53abba273e6095495788e2720f756 (patch) | |
| tree | d22eeea544d7a746a8c107322602d0da77450dff /drivers/net/wireless/hostap/hostap_cs.c | |
| parent | 624dd66957e53e15cf40e937b50597c4d41f0e99 (diff) | |
| download | olio-linux-3.10-2caff14713d53abba273e6095495788e2720f756.tar.xz olio-linux-3.10-2caff14713d53abba273e6095495788e2720f756.zip  | |
pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (wireless)
Convert PCMCIA drivers to use the dynamic debug infrastructure, instead of
requiring manual settings of PCMCIA_DEBUG.
Also, remove all usages of the CS_CHECK macro and replace them with proper
Linux style calling and return value checking. The extra error reporting may
be dropped, as the PCMCIA core already complains about any (non-driver-author)
errors.
CC: linux-wireless@vger.kernel.org
CC: netdev@vger.kernel.org
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/net/wireless/hostap/hostap_cs.c')
| -rw-r--r-- | drivers/net/wireless/hostap/hostap_cs.c | 23 | 
1 files changed, 8 insertions, 15 deletions
diff --git a/drivers/net/wireless/hostap/hostap_cs.c b/drivers/net/wireless/hostap/hostap_cs.c index 31b60dd87bf..ca3ab849ac0 100644 --- a/drivers/net/wireless/hostap/hostap_cs.c +++ b/drivers/net/wireless/hostap/hostap_cs.c @@ -510,10 +510,6 @@ static void prism2_detach(struct pcmcia_device *link)  } -#define CS_CHECK(fn, ret) \ -do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) - -  /* run after a CARD_INSERTION event is received to configure the PCMCIA   * socket and make the device available to the system */ @@ -605,7 +601,6 @@ static int prism2_config(struct pcmcia_device *link)  	struct hostap_interface *iface;  	local_info_t *local;  	int ret = 1; -	int last_fn, last_ret;  	struct hostap_cs_priv *hw_priv;  	PDEBUG(DEBUG_FLOW, "prism2_config()\n"); @@ -617,13 +612,12 @@ static int prism2_config(struct pcmcia_device *link)  	}  	/* Look for an appropriate configuration table entry in the CIS */ -	last_ret = pcmcia_loop_config(link, prism2_config_check, NULL); -	if (last_ret) { +	ret = pcmcia_loop_config(link, prism2_config_check, NULL); +	if (ret) {  		if (!ignore_cis_vcc)  			printk(KERN_ERR "GetNextTuple(): No matching "  			       "CIS configuration.  Maybe you need the "  			       "ignore_cis_vcc=1 parameter.\n"); -		cs_error(link, RequestIO, last_ret);  		goto failed;  	} @@ -652,8 +646,9 @@ static int prism2_config(struct pcmcia_device *link)  		link->irq.IRQInfo1 = IRQ_LEVEL_ID;  		link->irq.Handler = prism2_interrupt;  		link->irq.Instance = dev; -		CS_CHECK(RequestIRQ, -			 pcmcia_request_irq(link, &link->irq)); +		ret = pcmcia_request_irq(link, &link->irq); +		if (ret) +			goto failed;  	}  	/* @@ -661,8 +656,9 @@ static int prism2_config(struct pcmcia_device *link)  	 * the I/O windows and the interrupt mapping, and putting the  	 * card and host interface into "Memory and IO" mode.  	 */ -	CS_CHECK(RequestConfiguration, -		 pcmcia_request_configuration(link, &link->conf)); +	ret = pcmcia_request_configuration(link, &link->conf); +	if (ret) +		goto failed;  	dev->irq = link->irq.AssignedIRQ;  	dev->base_addr = link->io.BasePort1; @@ -695,9 +691,6 @@ static int prism2_config(struct pcmcia_device *link)  	}  	return ret; - cs_failed: -	cs_error(link, last_fn, last_ret); -   failed:  	kfree(hw_priv);  	prism2_release((u_long)link);  |