Re: via82xx cmd line parsing is evil [was Re: Sound on newer arima notebook...]

From: Pavel Machek
Date: Thu Apr 01 2004 - 03:33:08 EST


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. 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.
Pavel
--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
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/