if (hpetp->hp_hpet == hdp->hd_address) { 
if (hpetp->hp_hpet_phys == hdp->hd_phys_address) { printk(KERN_DEBUG "%s: 0x%lx is busy\n", __FUNCTION__, hdp->hd_phys_address); iounmap(hdp->hd_address); 
static acpi_status hpet_resources(struct acpi_resource *res, void *data){	struct hpet_data *hdp;	acpi_status status;	struct acpi_resource_address64 addr;	struct hpets *hpetp;	hdp = data;	status = acpi_resource_to_address64(res, &addr);	if (ACPI_SUCCESS(status)) {		unsigned long size;		size = addr.max_address_range - addr.min_address_range + 1;		hdp->hd_phys_address = addr.min_address_range;		hdp->hd_address = ioremap(addr.min_address_range, size);		for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)			if (hpetp->hp_hpet == hdp->hd_address)				return -EBUSY;	} else if (res->id == ACPI_RSTYPE_FIXED_MEM32) {		struct acpi_resource_fixed_mem32 *fixmem32;		fixmem32 = &res->data.fixed_memory32;		if (!fixmem32)			return -EINVAL;		hdp->hd_phys_address = fixmem32->range_base_address;		hdp->hd_address = ioremap(fixmem32->range_base_address,						HPET_RANGE_SIZE);		for (hpetp = hpets; hpetp; hpetp = hpetp->hp_next)			if (hpetp->hp_hpet == hdp->hd_address) {				return -EBUSY;			}	} else if (res->id == ACPI_RSTYPE_EXT_IRQ) {		struct acpi_resource_ext_irq *irqp;		int i;		irqp = &res->data.extended_irq;		if (irqp->number_of_interrupts > 0) {			hdp->hd_nirqs = irqp->number_of_interrupts;			for (i = 0; i < hdp->hd_nirqs; i++) {				int rc =				    acpi_register_gsi(irqp->interrupts[i],						      irqp->edge_level,						      irqp->active_high_low);				if (rc < 0)					return AE_ERROR;				hdp->hd_irq[i] = rc;			}		}	}	return AE_OK;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b6ab126211e2ab17eecbd063b99742a6b04b228e/hpet.c/buggy/drivers/char/hpet.c