From c53ea18dc29a1ac075119f651d6ac4386a549a34 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Tue, 26 Feb 2008 21:50:34 +0100 Subject: 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 --- drivers/ide/ide-probe.c | 3 ++- drivers/ide/ide.c | 2 +- drivers/ide/pci/cmd640.c | 3 ++- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'drivers/ide') diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 4a2cb286822..194ecb0049e 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) BUG_ON(hwif->present); - if (hwif->noprobe) + if (hwif->noprobe || + (hwif->drives[0].noprobe && hwif->drives[1].noprobe)) return -EACCES; /* diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 784d60e376e..30053669762 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c @@ -1444,7 +1444,7 @@ static int __init ide_setup(char *s) case -1: /* "noprobe" */ hwif->noprobe = 1; - goto done; + goto obsolete_option; case 1: /* base */ vals[1] = vals[0] + 0x206; /* default ctl */ diff --git a/drivers/ide/pci/cmd640.c b/drivers/ide/pci/cmd640.c index bd24dad3cfc..ec667982809 100644 --- a/drivers/ide/pci/cmd640.c +++ b/drivers/ide/pci/cmd640.c @@ -787,7 +787,8 @@ static int __init cmd640x_init(void) /* * Try to enable the secondary interface, if not already enabled */ - if (cmd_hwif1->noprobe) { + if (cmd_hwif1->noprobe || + (cmd_hwif1->drives[0].noprobe && cmd_hwif1->drives[1].noprobe)) { port2 = "not probed"; } else { b = get_cmd640_reg(CNTRL); -- cgit v1.2.3