X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fcifs-2.6.git;a=blobdiff_plain;f=drivers%2Facpi%2Fscan.c;h=e6ce262b5d449673932c6c49fa1f41bbc8cb8436;hp=c7b0aa52dd230205f25ae2e3c74f469d6ef7c8d1;hb=5c9fcb5deef4d3a49798d76c48b726d2e3c7df72;hpb=8976b6fd7a0060f72e20d5cec833c03d50874cd1 diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c index c7b0aa52dd23..e6ce262b5d44 100644 --- a/drivers/acpi/scan.c +++ b/drivers/acpi/scan.c @@ -39,27 +39,33 @@ static int create_modalias(struct acpi_device *acpi_dev, char *modalias, int size) { int len; + int count; - if (!acpi_dev->flags.hardware_id) + if (!acpi_dev->flags.hardware_id && !acpi_dev->flags.compatible_ids) return -ENODEV; - len = snprintf(modalias, size, "acpi:%s:", - acpi_dev->pnp.hardware_id); - if (len < 0 || len >= size) - return -EINVAL; + len = snprintf(modalias, size, "acpi:"); size -= len; + if (acpi_dev->flags.hardware_id) { + count = snprintf(&modalias[len], size, "%s:", + acpi_dev->pnp.hardware_id); + if (count < 0 || count >= size) + return -EINVAL; + len += count; + size -= count; + } + if (acpi_dev->flags.compatible_ids) { struct acpi_compatible_id_list *cid_list; int i; - int count; cid_list = acpi_dev->pnp.cid_list; for (i = 0; i < cid_list->count; i++) { count = snprintf(&modalias[len], size, "%s:", cid_list->id[i].value); if (count < 0 || count >= size) { - printk(KERN_ERR "acpi: %s cid[%i] exceeds event buffer size", + printk(KERN_ERR PREFIX "%s cid[%i] exceeds event buffer size", acpi_dev->pnp.device_name, i); break; } @@ -453,7 +459,7 @@ static int acpi_device_register(struct acpi_device *device, device->dev.release = &acpi_device_release; result = device_add(&device->dev); if(result) { - printk("Error adding device %s", device->dev.bus_id); + printk(KERN_ERR PREFIX "Error adding device %s", device->dev.bus_id); goto end; } @@ -609,7 +615,8 @@ acpi_bus_get_ejd(acpi_handle handle, acpi_handle *ejd) status = acpi_evaluate_object(handle, "_EJD", NULL, &buffer); if (ACPI_SUCCESS(status)) { obj = buffer.pointer; - status = acpi_get_handle(NULL, obj->string.pointer, ejd); + status = acpi_get_handle(ACPI_ROOT_OBJECT, obj->string.pointer, + ejd); kfree(buffer.pointer); } return status; @@ -966,7 +973,7 @@ static void acpi_device_set_id(struct acpi_device *device, case ACPI_BUS_TYPE_DEVICE: status = acpi_get_object_info(handle, &buffer); if (ACPI_FAILURE(status)) { - printk("%s: Error reading device info\n", __FUNCTION__); + printk(KERN_ERR PREFIX "%s: Error reading device info\n", __func__); return; } @@ -1072,7 +1079,7 @@ static void acpi_device_set_id(struct acpi_device *device, 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); @@ -1096,7 +1103,7 @@ static int acpi_device_set_context(struct acpi_device *device, int type) acpi_bus_data_handler, device); if (ACPI_FAILURE(status)) { - printk("Error attaching device data\n"); + printk(KERN_ERR PREFIX "Error attaching device data\n"); result = -ENODEV; } }