Re: [PATCH 3/4] Constify struct kset_uevent_ops for 2.6.32-git-053fe57acv2

From: David Rientjes
Date: Mon Dec 28 2009 - 15:47:10 EST


On Sat, 26 Dec 2009, Emese Revfy wrote:

> >> diff --git a/mm/slub.c b/mm/slub.c
> >> index 4996fc7..fb63aca 100644
> >> --- a/mm/slub.c
> >> +++ b/mm/slub.c
> >> @@ -4522,7 +4522,7 @@ static int uevent_filter(struct kset *kset, struct kobject *kobj)
> >> return 0;
> >> }
> >>
> >> -static struct kset_uevent_ops slab_uevent_ops = {
> >> +static const struct kset_uevent_ops slab_uevent_ops = {
> >> .filter = uevent_filter,
> >> };
> >
> > CC mm/slub.o
> > mm/slub.c: In function 'slab_sysfs_init':
> > mm/slub.c:4679: warning: passing argument 2 of 'kset_create_and_add'
> > discards qualifiers from pointer target type
> > include/linux/kobject.h:164: note: expected 'struct kset_uevent_ops *'
> > but argument is of type 'const struct kset_uevent_ops *'
> >
> > Hmm?
> >
>
> I double checked both the declaration and definitions of the affected
> function/structure and they are consistently const here.
> Can you tell me what patch/tree combination you encountered this warning with?
> Thanks, Emese
>

The warning emitted by gcc is pretty explicit; the second formal of
kset_create_and_add() takes a 'struct kset_uevent_ops *' type while you're
now passing 'const struct kset_uevent_ops *' as the result of your change.
That said, kset_create() could probably be modified with the const
qualifier, but that's outside the scope of your patchset and would have to
be proposed seperately.
--
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/