diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-24 18:22:41 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-03-24 18:22:41 -0400 |
commit | 8b803bd184e3f6892284d4b50801b9ec85cd9b96 (patch) | |
tree | c7727ccfeba7e187aeca3ccdc8049269d368e564 /drivers/ide/ide-acpi.c | |
parent | 7ed5b157d9dff55bf477b4c8b4708d5d45476677 (diff) |
ide: sanitize ACPI initialization
* ide_acpi_init() -> ide_acpi_init_port()
* ide_acpi_blacklist() -> ide_acpi_init()
* Call ide_acpi_init() only once (do it during IDE core
initialization) and cleanup the function accordingly.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-acpi.c')
-rw-r--r-- | drivers/ide/ide-acpi.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/ide/ide-acpi.c b/drivers/ide/ide-acpi.c index 8d6d31fcbfba..ba5932d7b1bb 100644 --- a/drivers/ide/ide-acpi.c +++ b/drivers/ide/ide-acpi.c | |||
@@ -89,12 +89,8 @@ static const struct dmi_system_id ide_acpi_dmi_table[] = { | |||
89 | { } /* terminate list */ | 89 | { } /* terminate list */ |
90 | }; | 90 | }; |
91 | 91 | ||
92 | static int ide_acpi_blacklist(void) | 92 | int ide_acpi_init(void) |
93 | { | 93 | { |
94 | static int done; | ||
95 | if (done) | ||
96 | return 0; | ||
97 | done = 1; | ||
98 | dmi_check_system(ide_acpi_dmi_table); | 94 | dmi_check_system(ide_acpi_dmi_table); |
99 | return 0; | 95 | return 0; |
100 | } | 96 | } |
@@ -624,7 +620,7 @@ void ide_acpi_set_state(ide_hwif_t *hwif, int on) | |||
624 | } | 620 | } |
625 | 621 | ||
626 | /** | 622 | /** |
627 | * ide_acpi_init - initialize the ACPI link for an IDE interface | 623 | * ide_acpi_init_port - initialize the ACPI link for an IDE interface |
628 | * @hwif: target IDE interface (channel) | 624 | * @hwif: target IDE interface (channel) |
629 | * | 625 | * |
630 | * The ACPI spec is not quite clear when the drive identify buffer | 626 | * The ACPI spec is not quite clear when the drive identify buffer |
@@ -634,10 +630,8 @@ void ide_acpi_set_state(ide_hwif_t *hwif, int on) | |||
634 | * So we get the information during startup; but this means that | 630 | * So we get the information during startup; but this means that |
635 | * any changes during run-time will be lost after resume. | 631 | * any changes during run-time will be lost after resume. |
636 | */ | 632 | */ |
637 | void ide_acpi_init(ide_hwif_t *hwif) | 633 | void ide_acpi_init_port(ide_hwif_t *hwif) |
638 | { | 634 | { |
639 | ide_acpi_blacklist(); | ||
640 | |||
641 | hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL); | 635 | hwif->acpidata = kzalloc(sizeof(struct ide_acpi_hwif_link), GFP_KERNEL); |
642 | if (!hwif->acpidata) | 636 | if (!hwif->acpidata) |
643 | return; | 637 | return; |