ide: move ide_port_setup_devices() call to ide_device_add_all()
Add ide_cfg_mtx lock/unlock to ide_port_setup_devices() and then move ide_port_setup_devices() call from init_irq() to ide_device_add_all(). Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
This commit is contained in:
parent
43514ed1ee
commit
26042d058b
1 changed files with 4 additions and 2 deletions
|
@ -949,6 +949,7 @@ static void ide_port_setup_devices(ide_hwif_t *hwif)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
mutex_lock(&ide_cfg_mtx);
|
||||||
for (i = 0; i < MAX_DRIVES; i++) {
|
for (i = 0; i < MAX_DRIVES; i++) {
|
||||||
ide_drive_t *drive = &hwif->drives[i];
|
ide_drive_t *drive = &hwif->drives[i];
|
||||||
|
|
||||||
|
@ -963,6 +964,7 @@ static void ide_port_setup_devices(ide_hwif_t *hwif)
|
||||||
|
|
||||||
ide_add_drive_to_hwgroup(drive);
|
ide_add_drive_to_hwgroup(drive);
|
||||||
}
|
}
|
||||||
|
mutex_unlock(&ide_cfg_mtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1088,8 +1090,6 @@ static int init_irq (ide_hwif_t *hwif)
|
||||||
hwif->sharing_irq ? "shar" : "serializ", match->name);
|
hwif->sharing_irq ? "shar" : "serializ", match->name);
|
||||||
printk("\n");
|
printk("\n");
|
||||||
|
|
||||||
ide_port_setup_devices(hwif);
|
|
||||||
|
|
||||||
mutex_unlock(&ide_cfg_mtx);
|
mutex_unlock(&ide_cfg_mtx);
|
||||||
return 0;
|
return 0;
|
||||||
out_unlink:
|
out_unlink:
|
||||||
|
@ -1447,6 +1447,8 @@ int ide_device_add_all(u8 *idx, const struct ide_port_info *d)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ide_port_setup_devices(hwif);
|
||||||
|
|
||||||
ide_acpi_init(hwif);
|
ide_acpi_init(hwif);
|
||||||
ide_acpi_port_init_devices(hwif);
|
ide_acpi_port_init_devices(hwif);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue