Subject: Re: linux-next: Tree for August 14 (sysfs/acpi errors)

From: Kay Sievers <[email-masked]>
Date: Sat, 16 Aug 2008 04:36:59 +0200

On Fri, 2008-08-15 at 08:58 -0700, Randy Dunlap wrote:
> On Fri, 15 Aug 2008 13:27:00 +0200 Kay Sievers wrote:
> 
> > On Thu, Aug 14, 2008 at 17:38, Randy Dunlap <[email-masked]> wrote:
> > > calling  param_sysfs_init+0x0/0x1e7
> > > ------------[ cut here ]------------
> > > WARNING: at fs/sysfs/dir.c:463 sysfs_add_one+0x35/0x3d()
> > > sysfs: duplicate filename 'acpi' can not be created
> > 
> > Hi Randy,
> > care to add a printk to the module sysfs setup, and post dmesg again?
> > 
> > --- a/kernel/params.c
> > +++ b/kernel/params.c
> > @@ -603,6 +603,8 @@ static void __init param_sysfs_builtin(void)
> >  		}
> >  		name_len = dot - kp->name;
> > 
> > +		printk("XXX adding modparam:'%s' %i (%p)\n", kp->name, i, kp);
> > +
> >   		/* new kbuild_modname? */
> >  		if (strlen(modname) != name_len
> >  		    || strncmp(modname, kp->name, name_len) != 0) {
> > 
> > I might show the order of registering the /sys/modules/ directory, and
> > if there is possibly another "acpi" section, which tries to add
> > parameter names.

> Extract is:
> 
> XXX adding modparam:'acpi.power_nocheck' 34 (ffffffff806a4cf0)
...
> XXX adding modparam:'acpi.acpica_version' 45 (ffffffff806a4ea8)

Two different "modules" use the same prefix, which does not work with
the current logic, they need to live next to each other in the sequence
of options.

This adds a new option:
  http://git.kernel.org/?p=linux/kernel/git/sfr/linux-next.git;a=commitdiff;h=1382827e93799ec07790849e361267993cfe549e
which specifies MODULE_PARAM_PREFIX="acpi." in:
  drivers/acpi/power.c
In the same way as:
  drivers/acpi/system.c

Seems, two different modules should not declare parameters in different
locations, and use the same MODULE_PARAM_PREFIX.

Thanks,
Kay