Re: via82xx cmd line parsing is evil [was Re: Sound on newer arima notebook...]
From: Takashi Iwai
Date: Thu Apr 01 2004 - 03:42:25 EST
At Thu, 1 Apr 2004 10:29:05 +0200,
Pavel Machek wrote:
>
> Hi!
>
> > > via82xx command line parsing code is *evil*. It has completely
> > > different parameters as a module / in kernel, and in-kernel parameters
> > > shift according to the joystick support! (which is config_time option). Ouch.
> >
> > yep, i know it - it annoys me too...
> >
> > > Is there some easy way to convert MODULE_PARM with an array to some
> > > more modern interface?
> >
> > there is a patch pending in my tree to allow empty boot options, such
> > as
> > snd-via82xx=,,,,,2
> > but it doesn't improve so much.
> >
> > perhaps the better way would be like
> >
> > snd-via82xx=enable:1,ac97_quirk:4
> >
> > ??
> >
> > in this way, it's hard to keep the compatibility with old boot
> > parameters, but i don't think no one will complain if they see it
> > nicer.
>
> Its so broken that we do not want compatibility, I believe. Having to
> use snd-via82xx=,,,,,2 normally, but add one "," if joystick is
> configured in is evil.
>
> snd-via82xx=enable:1 syntax is ugly, too, and we have better syntax
> already. via82xx.enable=1 via82xx.ac97_quirk=2 should be possible with
> new param handling code.
oh that's good to know.
> I'm just not sure how it is supposed to work
> with arrays:
>
> static char *psmouse_proto;
> static unsigned int psmouse_max_proto = -1U;
> module_param_named(proto, psmouse_proto, charp, 0);
> MODULE_PARM_DESC(proto, "Highest protocol extension to probe (bare,
> imps, exps). Useful for KVM switches.");
>
> ...automatically produces "proto" param for module and "psmouse.proto"
> param for kernel.
>
> Something similar should be the way to go.
ok, i'll take a look at it.
thanks!
Takashi
-
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/