Commit 426e2c6a authored by Maciej W. Rozycki's avatar Maciej W. Rozycki Committed by Jens Axboe
Browse files

pata_legacy: Properly document module parameters



Most pata_legacy module parameters lack MODULE_PARM_DESC documentation
and none is described in kernel-parameters.txt.  Also several comments
are inaccurate or wrong.

Add the missing documentation pieces then and reorder parameters into a
consistent block.  Remove inaccuracies as follows:

- `all' affects primary and secondary port ranges only rather than all,

- `probe_all' affects tertiary and further port ranges rather than all,

- `ht6560b' is for HT 6560B rather than HT 6560A.

Signed-off-by: default avatarMaciej W. Rozycki <macro@orcam.me.uk>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Link: https://lore.kernel.org/r/alpine.DEB.2.21.2103211909560.21463@angie.orcam.me.uk


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent fa4b42b2
Loading
Loading
Loading
Loading
+72 −0
Original line number Diff line number Diff line
@@ -3592,6 +3592,78 @@
			Currently this function knows 686a and 8231 chips.
			Format: [spp|ps2|epp|ecp|ecpepp]

	pata_legacy.all=	[HW,LIBATA]
			Format: <int>
			Set to non-zero to probe primary and secondary ISA
			port ranges on PCI systems where no PCI PATA device
			has been found at either range.  Disabled by default.

	pata_legacy.autospeed=	[HW,LIBATA]
			Format: <int>
			Set to non-zero if a chip is present that snoops speed
			changes.  Disabled by default.

	pata_legacy.ht6560a=	[HW,LIBATA]
			Format: <int>
			Set to 1, 2, or 3 for HT 6560A on the primary channel,
			the secondary channel, or both channels respectively.
			Disabled by default.

	pata_legacy.ht6560b=	[HW,LIBATA]
			Format: <int>
			Set to 1, 2, or 3 for HT 6560B on the primary channel,
			the secondary channel, or both channels respectively.
			Disabled by default.

	pata_legacy.iordy_mask=	[HW,LIBATA]
			Format: <int>
			IORDY enable mask.  Set individual bits to allow IORDY
			for the respective channel.  Bit 0 is for the first
			legacy channel handled by this driver, bit 1 is for
			the second channel, and so on.  The sequence will often
			correspond to the primary legacy channel, the secondary
			legacy channel, and so on, but the handling of a PCI
			bus and the use of other driver options may interfere
			with the sequence.  By default IORDY is allowed across
			all channels.

	pata_legacy.opti82c46x=	[HW,LIBATA]
			Format: <int>
			Set to 1, 2, or 3 for Opti 82c611A on the primary
			channel, the secondary channel, or both channels
			respectively.  Disabled by default.

	pata_legacy.opti82c611a=	[HW,LIBATA]
			Format: <int>
			Set to 1, 2, or 3 for Opti 82c465MV on the primary
			channel, the secondary channel, or both channels
			respectively.  Disabled by default.

	pata_legacy.pio_mask=	[HW,LIBATA]
			Format: <int>
			PIO mode mask for autospeed devices.  Set individual
			bits to allow the use of the respective PIO modes.
			Bit 0 is for mode 0, bit 1 is for mode 1, and so on.
			All modes allowed by default.

	pata_legacy.probe_all=	[HW,LIBATA]
			Format: <int>
			Set to non-zero to probe tertiary and further ISA
			port ranges on PCI systems.  Disabled by default.

	pata_legacy.qdi=	[HW,LIBATA]
			Format: <int>
			Set to non-zero to probe QDI controllers.  By default
			set to 1 if CONFIG_PATA_QDI_MODULE, 0 otherwise.

	pata_legacy.winbond=	[HW,LIBATA]
			Format: <int>
			Set to non-zero to probe Winbond controllers.  Use
			the standard I/O port (0x130) if 1, otherwise the
			value given is the I/O port to use (typically 0x1b0).
			By default set to 1 if CONFIG_PATA_WINBOND_VLB_MODULE,
			0 otherwise.

	pause_on_oops=
			Halt all CPUs after the first oops has been printed for
			the specified number of seconds.  This is to be used if
+56 −36
Original line number Diff line number Diff line
@@ -63,7 +63,62 @@

static int all;
module_param(all, int, 0444);
MODULE_PARM_DESC(all, "Grab all legacy port devices, even if PCI(0=off, 1=on)");
MODULE_PARM_DESC(all,
		 "Set to probe unclaimed pri/sec ISA port ranges even if PCI");

static int probe_all;
module_param(probe_all, int, 0);
MODULE_PARM_DESC(probe_all,
		 "Set to probe tertiary+ ISA port ranges even if PCI");

static int autospeed;
module_param(autospeed, int, 0);
MODULE_PARM_DESC(autospeed, "Chip present that snoops speed changes");

static int pio_mask = ATA_PIO4;
module_param(pio_mask, int, 0);
MODULE_PARM_DESC(pio_mask, "PIO range for autospeed devices");

static int iordy_mask = 0xFFFFFFFF;
module_param(iordy_mask, int, 0);
MODULE_PARM_DESC(iordy_mask, "Use IORDY if available");

static int ht6560a;
module_param(ht6560a, int, 0);
MODULE_PARM_DESC(ht6560a, "HT 6560A on primary 1, second 2, both 3");

static int ht6560b;
module_param(ht6560b, int, 0);
MODULE_PARM_DESC(ht6560b, "HT 6560B on primary 1, secondary 2, both 3");

static int opti82c611a;
module_param(opti82c611a, int, 0);
MODULE_PARM_DESC(opti82c611a,
		 "Opti 82c611A on primary 1, secondary 2, both 3");

static int opti82c46x;
module_param(opti82c46x, int, 0);
MODULE_PARM_DESC(opti82c46x,
		 "Opti 82c465MV on primary 1, secondary 2, both 3");

#ifdef CONFIG_PATA_QDI_MODULE
static int qdi = 1;
#else
static int qdi;
#endif
module_param(qdi, int, 0);
MODULE_PARM_DESC(qdi, "Set to probe QDI controllers");

#ifdef CONFIG_PATA_WINBOND_VLB_MODULE
static int winbond = 1;
#else
static int winbond;
#endif
module_param(winbond, int, 0);
MODULE_PARM_DESC(winbond,
		 "Set to probe Winbond controllers, "
		 "give I/O port if non standard");


enum controller {
	BIOS = 0,
@@ -117,30 +172,6 @@ static struct ata_host *legacy_host[NR_HOST];
static int nr_legacy_host;


static int probe_all;		/* Set to check all ISA port ranges */
static int ht6560a;		/* HT 6560A on primary 1, second 2, both 3 */
static int ht6560b;		/* HT 6560A on primary 1, second 2, both 3 */
static int opti82c611a;		/* Opti82c611A on primary 1, sec 2, both 3 */
static int opti82c46x;		/* Opti 82c465MV present(pri/sec autodetect) */
static int autospeed;		/* Chip present which snoops speed changes */
static int pio_mask = ATA_PIO4;	/* PIO range for autospeed devices */
static int iordy_mask = 0xFFFFFFFF;	/* Use iordy if available */

/* Set to probe QDI controllers */
#ifdef CONFIG_PATA_QDI_MODULE
static int qdi = 1;
#else
static int qdi;
#endif

#ifdef CONFIG_PATA_WINBOND_VLB_MODULE
static int winbond = 1;		/* Set to probe Winbond controllers,
					give I/O port if non standard */
#else
static int winbond;		/* Set to probe Winbond controllers,
					give I/O port if non standard */
#endif

/**
 *	legacy_probe_add	-	Add interface to probe list
 *	@port: Controller port
@@ -1250,16 +1281,5 @@ MODULE_VERSION(DRV_VERSION);
MODULE_ALIAS("pata_qdi");
MODULE_ALIAS("pata_winbond");

module_param(probe_all, int, 0);
module_param(autospeed, int, 0);
module_param(ht6560a, int, 0);
module_param(ht6560b, int, 0);
module_param(opti82c611a, int, 0);
module_param(opti82c46x, int, 0);
module_param(qdi, int, 0);
module_param(winbond, int, 0);
module_param(pio_mask, int, 0);
module_param(iordy_mask, int, 0);

module_init(legacy_init);
module_exit(legacy_exit);