diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-26 15:50:34 -0500 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-02-26 15:50:34 -0500 |
commit | c53ea18dc29a1ac075119f651d6ac4386a549a34 (patch) | |
tree | cdee13285dec95667f994af67e8852afec5b3c99 /drivers/ide | |
parent | cbd34d00af2960097ebd46a31dabc8bb9f16ea4e (diff) |
ide: skip probing port if "hdx=noprobe" was used for both devices on it
* Skip probing port if "hdx=noprobe" parameter was used for both devices on it.
* Obsolete "idex=noprobe" parameter - it only works for ide_generic, cmd640
and PCI hosts in Compatibility mode (on alpha/x86/ia64/m32r/mips/ppc32).
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/ide-probe.c | 3 | ||||
-rw-r--r-- | drivers/ide/ide.c | 2 | ||||
-rw-r--r-- | drivers/ide/pci/cmd640.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 4a2cb2868226..194ecb0049eb 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c | |||
@@ -756,7 +756,8 @@ static int ide_probe_port(ide_hwif_t *hwif) | |||
756 | 756 | ||
757 | BUG_ON(hwif->present); | 757 | BUG_ON(hwif->present); |
758 | 758 | ||
759 | if (hwif->noprobe) | 759 | if (hwif->noprobe || |
760 | (hwif->drives[0].noprobe && hwif->drives[1].noprobe)) | ||
760 | return -EACCES; | 761 | return -EACCES; |
761 | 762 | ||
762 | /* | 763 | /* |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 784d60e376ee..300536697622 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -1444,7 +1444,7 @@ static int __init ide_setup(char *s) | |||
1444 | 1444 | ||
1445 | case -1: /* "noprobe" */ | 1445 | case -1: /* "noprobe" */ |
1446 | hwif->noprobe = 1; | 1446 | hwif->noprobe = 1; |
1447 | goto done; | 1447 | goto obsolete_option; |
1448 | 1448 | ||
1449 | case 1: /* base */ | 1449 | case 1: /* base */ |
1450 | vals[1] = vals[0] + 0x206; /* default ctl */ | 1450 | vals[1] = vals[0] + 0x206; /* default ctl */ |
diff --git a/drivers/ide/pci/cmd640.c b/drivers/ide/pci/cmd640.c index bd24dad3cfc6..ec667982809c 100644 --- a/drivers/ide/pci/cmd640.c +++ b/drivers/ide/pci/cmd640.c | |||
@@ -787,7 +787,8 @@ static int __init cmd640x_init(void) | |||
787 | /* | 787 | /* |
788 | * Try to enable the secondary interface, if not already enabled | 788 | * Try to enable the secondary interface, if not already enabled |
789 | */ | 789 | */ |
790 | if (cmd_hwif1->noprobe) { | 790 | if (cmd_hwif1->noprobe || |
791 | (cmd_hwif1->drives[0].noprobe && cmd_hwif1->drives[1].noprobe)) { | ||
791 | port2 = "not probed"; | 792 | port2 = "not probed"; |
792 | } else { | 793 | } else { |
793 | b = get_cmd640_reg(CNTRL); | 794 | b = get_cmd640_reg(CNTRL); |