diff options
| -rw-r--r-- | drivers/ide/ide-acpi.c | 18 | ||||
| -rw-r--r-- | drivers/ide/ide.c | 16 | ||||
| -rw-r--r-- | include/linux/ide.h | 3 |
3 files changed, 21 insertions, 16 deletions
diff --git a/drivers/ide/ide-acpi.c b/drivers/ide/ide-acpi.c index e4ad26e4fce7..9d3601fa5680 100644 --- a/drivers/ide/ide-acpi.c +++ b/drivers/ide/ide-acpi.c | |||
| @@ -60,9 +60,17 @@ struct ide_acpi_hwif_link { | |||
| 60 | #define DEBPRINT(fmt, args...) do {} while (0) | 60 | #define DEBPRINT(fmt, args...) do {} while (0) |
| 61 | #endif /* DEBUGGING */ | 61 | #endif /* DEBUGGING */ |
| 62 | 62 | ||
| 63 | extern int ide_noacpi; | 63 | int ide_noacpi; |
| 64 | extern int ide_noacpitfs; | 64 | module_param_named(noacpi, ide_noacpi, bool, 0); |
| 65 | extern int ide_noacpionboot; | 65 | MODULE_PARM_DESC(noacpi, "disable IDE ACPI support"); |
| 66 | |||
| 67 | int ide_acpigtf; | ||
| 68 | module_param_named(acpigtf, ide_acpigtf, bool, 0); | ||
| 69 | MODULE_PARM_DESC(acpigtf, "enable IDE ACPI _GTF support"); | ||
| 70 | |||
| 71 | int ide_acpionboot; | ||
| 72 | module_param_named(acpionboot, ide_acpionboot, bool, 0); | ||
| 73 | MODULE_PARM_DESC(acpionboot, "call IDE ACPI methods on boot"); | ||
| 66 | 74 | ||
| 67 | static bool ide_noacpi_psx; | 75 | static bool ide_noacpi_psx; |
| 68 | static int no_acpi_psx(const struct dmi_system_id *id) | 76 | static int no_acpi_psx(const struct dmi_system_id *id) |
| @@ -376,7 +384,7 @@ static int taskfile_load_raw(ide_drive_t *drive, | |||
| 376 | memcpy(&args.tf_array[7], >f->tfa, 7); | 384 | memcpy(&args.tf_array[7], >f->tfa, 7); |
| 377 | args.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE; | 385 | args.tf_flags = IDE_TFLAG_TF | IDE_TFLAG_DEVICE; |
| 378 | 386 | ||
| 379 | if (ide_noacpitfs) { | 387 | if (!ide_acpigtf) { |
| 380 | DEBPRINT("_GTF execution disabled\n"); | 388 | DEBPRINT("_GTF execution disabled\n"); |
| 381 | return err; | 389 | return err; |
| 382 | } | 390 | } |
| @@ -721,7 +729,7 @@ void ide_acpi_port_init_devices(ide_hwif_t *hwif) | |||
| 721 | drive->name, err); | 729 | drive->name, err); |
| 722 | } | 730 | } |
| 723 | 731 | ||
| 724 | if (ide_noacpionboot) { | 732 | if (!ide_acpionboot) { |
| 725 | DEBPRINT("ACPI methods disabled on boot\n"); | 733 | DEBPRINT("ACPI methods disabled on boot\n"); |
| 726 | return; | 734 | return; |
| 727 | } | 735 | } |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index a017eb242604..78e49e8461a2 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
| @@ -94,12 +94,6 @@ DEFINE_MUTEX(ide_cfg_mtx); | |||
| 94 | 94 | ||
| 95 | int noautodma = 0; | 95 | int noautodma = 0; |
| 96 | 96 | ||
| 97 | #ifdef CONFIG_BLK_DEV_IDEACPI | ||
| 98 | int ide_noacpi = 0; | ||
| 99 | int ide_noacpitfs = 1; | ||
| 100 | int ide_noacpionboot = 1; | ||
| 101 | #endif | ||
| 102 | |||
| 103 | ide_hwif_t ide_hwifs[MAX_HWIFS]; /* master data repository */ | 97 | ide_hwif_t ide_hwifs[MAX_HWIFS]; /* master data repository */ |
| 104 | 98 | ||
| 105 | static void ide_port_init_devices_data(ide_hwif_t *); | 99 | static void ide_port_init_devices_data(ide_hwif_t *); |
| @@ -880,17 +874,17 @@ static int __init ide_setup(char *s) | |||
| 880 | if (!strcmp(s, "ide=noacpi")) { | 874 | if (!strcmp(s, "ide=noacpi")) { |
| 881 | //printk(" : Disable IDE ACPI support.\n"); | 875 | //printk(" : Disable IDE ACPI support.\n"); |
| 882 | ide_noacpi = 1; | 876 | ide_noacpi = 1; |
| 883 | return 1; | 877 | goto obsolete_option; |
| 884 | } | 878 | } |
| 885 | if (!strcmp(s, "ide=acpigtf")) { | 879 | if (!strcmp(s, "ide=acpigtf")) { |
| 886 | //printk(" : Enable IDE ACPI _GTF support.\n"); | 880 | //printk(" : Enable IDE ACPI _GTF support.\n"); |
| 887 | ide_noacpitfs = 0; | 881 | ide_acpigtf = 1; |
| 888 | return 1; | 882 | goto obsolete_option; |
| 889 | } | 883 | } |
| 890 | if (!strcmp(s, "ide=acpionboot")) { | 884 | if (!strcmp(s, "ide=acpionboot")) { |
| 891 | //printk(" : Call IDE ACPI methods on boot.\n"); | 885 | //printk(" : Call IDE ACPI methods on boot.\n"); |
| 892 | ide_noacpionboot = 0; | 886 | ide_acpionboot = 1; |
| 893 | return 1; | 887 | goto obsolete_option; |
| 894 | } | 888 | } |
| 895 | #endif /* CONFIG_BLK_DEV_IDEACPI */ | 889 | #endif /* CONFIG_BLK_DEV_IDEACPI */ |
| 896 | 890 | ||
diff --git a/include/linux/ide.h b/include/linux/ide.h index 65dcbcfae162..a1f290d59fb4 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
| @@ -798,6 +798,9 @@ int generic_ide_ioctl(ide_drive_t *, struct file *, struct block_device *, unsig | |||
| 798 | #ifndef _IDE_C | 798 | #ifndef _IDE_C |
| 799 | extern ide_hwif_t ide_hwifs[]; /* master data repository */ | 799 | extern ide_hwif_t ide_hwifs[]; /* master data repository */ |
| 800 | #endif | 800 | #endif |
| 801 | extern int ide_noacpi; | ||
| 802 | extern int ide_acpigtf; | ||
| 803 | extern int ide_acpionboot; | ||
| 801 | extern int noautodma; | 804 | extern int noautodma; |
| 802 | 805 | ||
| 803 | extern int ide_vlb_clk; | 806 | extern int ide_vlb_clk; |
