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>
This commit is contained in:
Bartlomiej Zolnierkiewicz 2008-02-26 21:50:34 +01:00
parent cbd34d00af
commit c53ea18dc2
4 changed files with 5 additions and 5 deletions

View file

@ -258,8 +258,6 @@ Summary of ide driver parameters for kernel command line
As for VLB, it is safest to not specify it. As for VLB, it is safest to not specify it.
Bigger values are safer than smaller ones. Bigger values are safer than smaller ones.
"idex=noprobe" : do not attempt to access/use this interface
"idex=base" : probe for an interface at the addr specified, "idex=base" : probe for an interface at the addr specified,
where "base" is usually 0x1f0 or 0x170 where "base" is usually 0x1f0 or 0x170
and "ctl" is assumed to be "base"+0x206 and "ctl" is assumed to be "base"+0x206

View file

@ -756,7 +756,8 @@ static int ide_probe_port(ide_hwif_t *hwif)
BUG_ON(hwif->present); BUG_ON(hwif->present);
if (hwif->noprobe) if (hwif->noprobe ||
(hwif->drives[0].noprobe && hwif->drives[1].noprobe))
return -EACCES; return -EACCES;
/* /*

View file

@ -1444,7 +1444,7 @@ static int __init ide_setup(char *s)
case -1: /* "noprobe" */ case -1: /* "noprobe" */
hwif->noprobe = 1; hwif->noprobe = 1;
goto done; goto obsolete_option;
case 1: /* base */ case 1: /* base */
vals[1] = vals[0] + 0x206; /* default ctl */ vals[1] = vals[0] + 0x206; /* default ctl */

View file

@ -787,7 +787,8 @@ static int __init cmd640x_init(void)
/* /*
* Try to enable the secondary interface, if not already enabled * 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"; port2 = "not probed";
} else { } else {
b = get_cmd640_reg(CNTRL); b = get_cmd640_reg(CNTRL);