/* The ACPI spec is not quite clear when the drive identify buffer should be obtained. Calling IDENTIFY DEVICE during shutdown is not the best of ideas as the drive might already being put to sleep. And obviously we can't call it during resume. So we get the information during startup; but this means that any changes during run-time will be lost after resume.  */
void ide_acpi_init_port(ide_hwif_t *hwif)
/* The ACPI spec is not quite clear when the drive identify buffer should be obtained. Calling IDENTIFY DEVICE during shutdown is not the best of ideas as the drive might already being put to sleep. And obviously we can't call it during resume. So we get the information during startup; but this means that any changes during run-time will be lost after resume.  */
void ide_acpi_init_port(ide_hwif_t *hwif)
{
	hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL);
	if (!hwif->acpidata)
		return;
	hwif->acpidata->obj_handle = ide_acpi_hwif_get_handle(hwif);
	if (!hwif->acpidata->obj_handle) {
		DEBPRINT("no ACPI object for %s found\n", hwif->name);
		kfree(hwif->acpidata);
		hwif->acpidata = NULL;
	}
}