Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c53ea18d authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz
Browse files

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: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
parent cbd34d00
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -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
+2 −1
Original line number Original line Diff line number Diff line
@@ -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;


	/*
	/*
+1 −1
Original line number Original line Diff line number Diff line
@@ -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 */
+2 −1
Original line number Original line Diff line number Diff line
@@ -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);