Re: [PATCH 1/3] param: Adapt MN10300 to the new parameter handling regime

David Howells
2008-12-05T11:58:30Z

Rusty Russell <rusty@rustcorp.com.au> wrote:

> Maybe we should add a new param type to the general code so this can be
> done with core_param. See below. Not sure if it's a win tho (many archs want
> mem=num@pos, x86 wants mem=nopentium, etc).

I tried applying your patch, and then I added:

#include <linux/moduleparam.h>

and put this into my code in place of what I had:

static unsigned long mem_override;
core_param(mem, mem_override, mem, 0444);

I get the following error, however:

CC arch/mn10300/kernel/setup.o
arch/mn10300/kernel/setup.c:86: error: 'param_mem_keeps_reference' undeclared here (not in a function)

I think you're missing:

#define param_mem_keeps_reference 0

from the stuff you added.

With that, the core_param stuff does work for mem=... But I object to
mem_override not being __initdata. I also don't think the parameter should
appear in sysfs - that's just a waste of resources. It should, perhaps,
appear in /proc/cmdline, but for some reason it does not. I can live without
that, though, since its effect appears in /proc/meminfo.

Also, something else to consider: If CONFIG_MODULES=n and CONFIG_SYSFS=n,
should the contents of kernel/params.c be discarded along with the __init
sections?

David