if (ec->data_addr.register_bit_width == 0) { addr = &ec->data_addr; } else if (ec->command_addr.register_bit_width == 0) { addr = &ec->command_addr; 
if (ec->common.data_addr.register_bit_width == 0) { addr = &ec->common.data_addr; } else if (ec->common.command_addr.register_bit_width == 0) { addr = &ec->common.command_addr; 
acpi_ec_io_ports (	struct acpi_resource	*resource,	void			*context){	struct acpi_ec		*ec = (struct acpi_ec *) context;	struct acpi_generic_address *addr;	if (resource->id != ACPI_RSTYPE_IO) {		return AE_OK;	}	/*	 * The first address region returned is the data port, and	 * the second address region returned is the status/command	 * port.	 */	if (ec->data_addr.register_bit_width == 0) {		addr = &ec->data_addr;	} else if (ec->command_addr.register_bit_width == 0) {		addr = &ec->command_addr;	} else {		return AE_CTRL_TERMINATE;	}	addr->address_space_id = ACPI_ADR_SPACE_SYSTEM_IO;	addr->register_bit_width = 8;	addr->register_bit_offset = 0;	addr->address = resource->data.io.min_base_address;	return AE_OK;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/45bea1555f5bf0cd5871b208b4b02d188f106861/ec.c/buggy/drivers/acpi/ec.c