diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c')
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c | 45 | 
1 files changed, 3 insertions, 42 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c index 27b5a3eec9d..2ef9448b1c2 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c @@ -5,7 +5,7 @@   *   * GPL LICENSE SUMMARY   * - * Copyright(c) 2008 - 2010 Intel Corporation. All rights reserved. + * Copyright(c) 2008 - 2011 Intel Corporation. All rights reserved.   *   * This program is free software; you can redistribute it and/or modify   * it under the terms of version 2 of the GNU General Public License as @@ -30,7 +30,7 @@   *   * BSD LICENSE   * - * Copyright(c) 2005 - 2010 Intel Corporation. All rights reserved. + * Copyright(c) 2005 - 2011 Intel Corporation. All rights reserved.   * All rights reserved.   *   * Redistribution and use in source and binary forms, with or without @@ -81,52 +81,13 @@   *  ******************************************************************************/ -/* - * The device's EEPROM semaphore prevents conflicts between driver and uCode - * when accessing the EEPROM; each access is a series of pulses to/from the - * EEPROM chip, not a single event, so even reads could conflict if they - * weren't arbitrated by the semaphore. - */ -int iwlcore_eeprom_acquire_semaphore(struct iwl_priv *priv) -{ -	u16 count; -	int ret; - -	for (count = 0; count < EEPROM_SEM_RETRY_LIMIT; count++) { -		/* Request semaphore */ -		iwl_set_bit(priv, CSR_HW_IF_CONFIG_REG, -			    CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM); - -		/* See if we got it */ -		ret = iwl_poll_bit(priv, CSR_HW_IF_CONFIG_REG, -				CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM, -				CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM, -				EEPROM_SEM_TIMEOUT); -		if (ret >= 0) { -			IWL_DEBUG_IO(priv, -				"Acquired semaphore after %d tries.\n", -				count+1); -			return ret; -		} -	} - -	return ret; -} - -void iwlcore_eeprom_release_semaphore(struct iwl_priv *priv) -{ -	iwl_clear_bit(priv, CSR_HW_IF_CONFIG_REG, -		CSR_HW_IF_CONFIG_REG_BIT_EEPROM_OWN_SEM); - -} -  int iwl_eeprom_check_version(struct iwl_priv *priv)  {  	u16 eeprom_ver;  	u16 calib_ver;  	eeprom_ver = iwl_eeprom_query16(priv, EEPROM_VERSION); -	calib_ver = priv->cfg->ops->lib->eeprom_ops.calib_version(priv); +	calib_ver = iwlagn_eeprom_calib_version(priv);  	if (eeprom_ver < priv->cfg->eeprom_ver ||  	    calib_ver < priv->cfg->eeprom_calib_ver)  |