The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* Re: [PATCH] parport_pc MODULE_PARM fix
  2004-12-06 18:02 [PATCH] parport_pc MODULE_PARM fix Jonathan McDowell
@ 2004-12-06 17:44 ` Randy.Dunlap
  2004-12-06 18:24   ` Jonathan McDowell
  0 siblings, 1 reply; 3+ messages in thread
From: Randy.Dunlap @ 2004-12-06 17:44 UTC (permalink / raw)
  To: Jonathan McDowell; +Cc: linux-parport, linux-kernel

Jonathan McDowell wrote:
> [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

I think that it should be:

module_param(init_mode, charp, 0);

and leave 'init_mode' as a char *, not a char array.

Can you test that change and resubmit the patch (if it works :) ?

Thanks,
-- 
~Randy

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] parport_pc MODULE_PARM fix
@ 2004-12-06 18:02 Jonathan McDowell
  2004-12-06 17:44 ` Randy.Dunlap
  0 siblings, 1 reply; 3+ messages in thread
From: Jonathan McDowell @ 2004-12-06 18:02 UTC (permalink / raw)
  To: linux-parport; +Cc: linux-kernel

[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@jabber.earth.li
Where are we going?  And WHY ARE WE IN
                                            THIS HANDBASKET?!!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] parport_pc MODULE_PARM fix
  2004-12-06 17:44 ` Randy.Dunlap
@ 2004-12-06 18:24   ` Jonathan McDowell
  0 siblings, 0 replies; 3+ messages in thread
From: Jonathan McDowell @ 2004-12-06 18:24 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: linux-parport, linux-kernel

On Mon, Dec 06, 2004 at 09:44:03AM -0800, Randy.Dunlap wrote:
> Jonathan McDowell wrote:
> > ps2, epp, ecp or ecpepp)");
> >-MODULE_PARM(init_mode, "s");
> >+module_param_string(init_mode, init_mode, 7, 0);
> > #endif
> I think that it should be:
> 
> module_param(init_mode, charp, 0);
> 
> and leave 'init_mode' as a char *, not a char array.
> 
> Can you test that change and resubmit the patch (if it works :) ?

Even better; that does the trick too. Extremely trivial patch below.

Signed-Off-By: Jonathan McDowell <noodles@earth.li>

-----
--- drivers/parport/parport_pc.c.orig	2004-12-06 17:44:08.000000000 +0000
+++ drivers/parport/parport_pc.c	2004-12-06 18:18:43.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;
@@ -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(init_mode, charp, 0);
 #endif
 
 static int __init parse_parport_params(void)
-----

J.

-- 
/-\                             | 101 things you can't have too much
|@/  Debian GNU/Linux Developer |       of : 19 - A Good Thing.
\-                              |

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2004-12-06 18:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-12-06 18:02 [PATCH] parport_pc MODULE_PARM fix Jonathan McDowell
2004-12-06 17:44 ` Randy.Dunlap
2004-12-06 18:24   ` Jonathan McDowell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox