Re: kobject: Fix kobject_rename and !CONFIG_SYSFS

From: Greg KH
Date: Tue May 13 2008 - 12:46:32 EST


On Tue, May 13, 2008 at 04:25:01PM +0200, Benjamin Thery wrote:
> Eric W. Biederman wrote:
>> Greg KH <greg@xxxxxxxxx> writes:
>>> Eric, Randy Dunlap has found that this patch breaks the build when
>>> CONFIG_SYSFS is not enabled. Can you please fix it up before I send it
>>> to Linus?
>>>
>>> The exact error is:
>>> In file included from
>>> /local/linsrc/next-20080509/include/linux/kobject.h:21,
>>> from
>>> /local/linsrc/next-20080509/include/linux/module.h:16,
>>> from
>>> /local/linsrc/next-20080509/include/linux/crypto.h:21,
>>> from
>>> /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets_64.c:7,
>>> from
>>> /local/linsrc/next-20080509/arch/x86/kernel/asm-offsets.c:4:
>>> /local/linsrc/next-20080509/include/linux/sysfs.h: In function
>>> 'sysfs_rename_dir':
>>> /local/linsrc/next-20080509/include/linux/sysfs.h:142: error: implicit
>>> declaration of function 'kobject_set_name'
>> I will take a look in the morning and see if I can see what is wrong.
>> Which tree was this error against? I thought I tested this case,
>> and I'm wondering if there might be another patch that is hiding
>> kobject_set_name.
>
> Argh, headers "cross-dependencies":
>
> * linux/kobject.h includes linux/sysfs.h before defining
> kobject_set_name()
>
> * linux/sysfs.h needs to include linux/kobject.h to find
> kobject_set_name() definition (for inlined sysfs_rename_dir() when
> CONFIG_SYSFS=n)
>
>
> sysfs_rename_dir() is only called by kobject.c, kobject_rename().
> I guess this kind of patch is not acceptable to fix the depency?

Ick, no. I'd rather add a kobject_set_name() function prototype to
sysfs.h in this case, that should remove the error, right?

thanks,

greg k-h
--
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/