From: Len Brown Date: Tue, 6 Dec 2005 22:31:30 +0000 (-0500) Subject: Pull release into acpica branch X-Git-Tag: v2.6.16-rc2~1^2~8^2~18 X-Git-Url: http://git.cascardo.info/?p=cascardo%2Flinux.git;a=commitdiff_plain;h=3d5271f9883cba7b54762bc4fe027d4172f06db7 Pull release into acpica branch --- 3d5271f9883cba7b54762bc4fe027d4172f06db7 diff --cc drivers/acpi/glue.c index 00aeb4801d7a,aa993715d644..fcb881db5b0b --- a/drivers/acpi/glue.c +++ b/drivers/acpi/glue.c @@@ -96,12 -96,12 +96,12 @@@ struct acpi_find_pci_root static acpi_status do_root_bridge_busnr_callback(struct acpi_resource *resource, void *data) { - int *busnr = (int *)data; + unsigned long *busnr = (unsigned long *)data; struct acpi_resource_address64 address; - if (resource->id != ACPI_RSTYPE_ADDRESS16 && - resource->id != ACPI_RSTYPE_ADDRESS32 && - resource->id != ACPI_RSTYPE_ADDRESS64) + if (resource->type != ACPI_RSTYPE_ADDRESS16 && + resource->type != ACPI_RSTYPE_ADDRESS32 && + resource->type != ACPI_RSTYPE_ADDRESS64) return AE_OK; acpi_resource_to_address64(resource, &address); diff --cc drivers/char/hpet.c index a5c3f9c0c909,3808d9572619..5172d4e1236c --- a/drivers/char/hpet.c +++ b/drivers/char/hpet.c @@@ -894,10 -931,30 +931,30 @@@ static acpi_status hpet_resources(struc 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; + if (hpet_is_known(hdp)) { + printk(KERN_DEBUG "%s: 0x%lx is busy\n", + __FUNCTION__, hdp->hd_phys_address); + iounmap(hdp->hd_address); + return -EBUSY; + } - } else if (res->id == ACPI_RSTYPE_FIXED_MEM32) { ++ } else if (res->type == 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); + + if (hpet_is_known(hdp)) { + printk(KERN_DEBUG "%s: 0x%lx is busy\n", + __FUNCTION__, hdp->hd_phys_address); + iounmap(hdp->hd_address); + return -EBUSY; + } - } else if (res->id == ACPI_RSTYPE_EXT_IRQ) { + } else if (res->type == ACPI_RSTYPE_EXT_IRQ) { struct acpi_resource_ext_irq *irqp; int i;