From: Len Brown Date: Thu, 7 Feb 2008 08:38:22 +0000 (-0500) Subject: Merge branches 'release' and 'fluff' into release X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=a733a5da97b238e3e3167d3d0aee8fe1e8d04e97;p=linux-beck.git Merge branches 'release' and 'fluff' into release Conflicts: drivers/acpi/scan.c include/linux/acpi.h Signed-off-by: Len Brown --- a733a5da97b238e3e3167d3d0aee8fe1e8d04e97 diff --cc drivers/acpi/scan.c index c7b0aa52dd23,c7b0aa52dd23,78a82b3c7b60..3fac011f9cf9 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@@@ -1034,45 -1034,45 -1021,12 +1034,45 @@@@ static void acpi_device_set_id(struct a strcpy(device->pnp.unique_id, uid); device->flags.unique_id = 1; } - if (cid_list) { - device->pnp.cid_list = kmalloc(cid_list->size, GFP_KERNEL); - if (device->pnp.cid_list) - memcpy(device->pnp.cid_list, cid_list, cid_list->size); - else + if (cid_list || cid_add) { + struct acpi_compatible_id_list *list; + int size = 0; + int count = 0; + + if (cid_list) { + size = cid_list->size; + } else if (cid_add) { + size = sizeof(struct acpi_compatible_id_list); + cid_list = ACPI_ALLOCATE_ZEROED((acpi_size) size); + if (!cid_list) { + printk(KERN_ERR "Memory allocation error\n"); + kfree(buffer.pointer); + return; + } else { + cid_list->count = 0; + cid_list->size = size; + } + } + if (cid_add) + size += sizeof(struct acpi_compatible_id); + list = kmalloc(size, GFP_KERNEL); + + if (list) { + if (cid_list) { + memcpy(list, cid_list, cid_list->size); + count = cid_list->count; + } + if (cid_add) { + strncpy(list->id[count].value, cid_add, + ACPI_MAX_CID_LENGTH); + count++; + device->flags.compatible_ids = 1; + } + list->size = size; + list->count = count; + device->pnp.cid_list = list; + } else -- printk(KERN_ERR "Memory allocation error\n"); ++ printk(KERN_ERR PREFIX "Memory allocation error\n"); } kfree(buffer.pointer); diff --cc include/linux/acpi.h index 25fb4dcc0e6b,25fb4dcc0e6b,ff68f13a9377..ddbe7efe590e --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@@@ -115,10 -115,10 -113,6 +113,8 @@@@ int acpi_unmap_lsapic(int cpu) int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base); int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); +void acpi_irq_stats_init(void); -- +extern u32 acpi_irq_handled; -- extern int acpi_mp_config; extern struct acpi_mcfg_allocation *pci_mmcfg_config; extern int pci_mmcfg_config_num;