/* Clear the OWNER_MSK, to establish driver (instead of uCode running on embedded controller) as EEPROM reader; each read 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 some ownership mechanism. Here, the driver simply claims ownership, which should be safe when this function is called (i.e. before loading uCode!).  */
static int iwl3945_eeprom_acquire_semaphore(struct iwl_priv *priv)
/* Clear the OWNER_MSK, to establish driver (instead of uCode running on embedded controller) as EEPROM reader; each read 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 some ownership mechanism. Here, the driver simply claims ownership, which should be safe when this function is called (i.e. before loading uCode!).  */
static int iwl3945_eeprom_acquire_semaphore(struct iwl_priv *priv)
{
	_iwl_clear_bit(priv, CSR_EEPROM_GP, CSR_EEPROM_GP_IF_OWNER_MSK);
	return 0;
}