spin_unlock_irqrestore(&ec->lock, flags); 
acpi_ec_leave_burst_mode(ec); up(&ec->sem); 
acpi_ec_write (	struct acpi_ec		*ec,	u8			address,	u8			data){	int			result = 0;	acpi_status		status = AE_OK;	unsigned long		flags = 0;	u32			glk = 0;	ACPI_FUNCTION_TRACE("acpi_ec_write");	if (!ec)		return_VALUE(-EINVAL);	if (ec->global_lock) {		status = acpi_acquire_global_lock(ACPI_EC_UDELAY_GLK, &glk);		if (ACPI_FAILURE(status))			return_VALUE(-ENODEV);	}	spin_lock_irqsave(&ec->lock, flags);	acpi_hw_low_level_write(8, ACPI_EC_COMMAND_WRITE, &ec->command_addr);	result = acpi_ec_wait(ec, ACPI_EC_EVENT_IBE);	if (result)		goto end;	acpi_hw_low_level_write(8, address, &ec->data_addr);	result = acpi_ec_wait(ec, ACPI_EC_EVENT_IBE);	if (result)		goto end;	acpi_hw_low_level_write(8, data, &ec->data_addr);	result = acpi_ec_wait(ec, ACPI_EC_EVENT_IBE);	if (result)		goto end;	ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Wrote [%02x] to address [%02x]\n",		data, address));end:	spin_unlock_irqrestore(&ec->lock, flags);	if (ec->global_lock)		acpi_release_global_lock(glk);	return_VALUE(result);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/451566f45a2e6cd10ba56e7220a9dd84ba3ef550/ec.c/clean/drivers/acpi/ec.c