[PATCH] parport_pc MODULE_PARM fix

From: Jonathan McDowell
Date: Mon Dec 06 2004 - 13:06:27 EST


[I hope sending this to just the linux-parport list is the right thing
to do; I'm assuming the maintainers read it and don't want individual
CCs as well.]

In the 2.6.10-rc releases parport_pc doesn't seem to want to take any
module parameters:

parport_pc: Ignoring new-style parameters in presence of obsolete ones
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected

I need to pass parameters to the module to make it detect my port fully
(the printer doesn't seem to want to print more than a page or so
without an irq in use). With the patch below, against 2.6.10-rc3 I can
do so and get:

parport0: PC-style at 0x378 (0x778), irq 7, dma 3 [PCSPP,TRISTATE,COMPAT,ECP,DMA]

------
--- drivers/parport/parport_pc.c.orig 2004-12-06 17:44:08.000000000 +0000
+++ drivers/parport/parport_pc.c 2004-12-06 17:49:59.000000000 +0000
@@ -3157,7 +3157,7 @@
#ifdef CONFIG_PCI
static int __init parport_init_mode_setup(char *str)
{
- printk(KERN_DEBUG "parport_pc.c: Specified parameter parport_init_mode=%s\n", str);
+ DPRINTK(KERN_DEBUG "parport_pc.c: Specified parameter parport_init_mode=%s\n", str);

if (!strcmp (str, "spp"))
parport_init_mode=1;
@@ -3176,7 +3176,7 @@
#ifdef MODULE
static const char *irq[PARPORT_PC_MAX_PORTS];
static const char *dma[PARPORT_PC_MAX_PORTS];
-static char *init_mode;
+static char init_mode[7];

MODULE_PARM_DESC(io, "Base I/O address (SPP regs)");
module_param_array(io, int, NULL, 0);
@@ -3193,7 +3193,7 @@
#endif
#ifdef CONFIG_PCI
MODULE_PARM_DESC(init_mode, "Initialise mode for VIA VT8231 port (spp, ps2, epp, ecp or ecpepp)");
-MODULE_PARM(init_mode, "s");
+module_param_string(init_mode, init_mode, 7, 0);
#endif

static int __init parse_parport_params(void)
------

J.

--
jid: noodles@xxxxxxxxxxxxxxx
Where are we going? And WHY ARE WE IN
THIS HANDBASKET?!!
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/