Re: [PATCH] add consts where appropriate in sound/pci/hda/*

From: Denys Vlasenko
Date: Mon Sep 17 2007 - 17:54:12 EST


On Monday 17 September 2007 11:01, Takashi Iwai wrote:
> > There is a lot of data structures in that code,
> > and most of them seems to be read-only.
> >
> > I added const modifiers to most of such places:
> >
> > text data bss dec hex filename
> > 106315 179564 36 285915 45cdb snd-hda-intel.o
> > 283051 2624 36 285711 45c0f snd-hda-intel_patched.o
> >
> > Patch is attached.
> >
> > It moves "static struct hda_codec_preset *hda_preset_tables[]"
> > from hda_patch.h to hda_codec.c, and then adds
> > #include "hda_patch.h"
> > in a few .c files so that definitions of e.g.
> > const struct hda_codec_preset snd_hda_preset_analog[]
> > are checked to match declarations in hda_patch.h
> >
> > The rest of the patch (bulk of it) adds "const"
> > in many places.
> >
> > Patch is compile tested. Please apply.
> >
> > Signed-off-by: Denys Vlasenko <vda.linux@xxxxxxxxxxxxxx>
>
> Sorry for the late reply.
>
> First, thanks for your patch. Although I have also a similar patch
> pending on my tree, but it wasn't applied, because I'd like to mark
> these functions/data rather as __devinit*. And, sadly, init and const
> don't like with each other.

Unless we will go to the pains of implementing __devrodata,
which doesn't sound encouraging.

> So, my plan is to apply __devinit but
> without const.

Yes, I see. const as it stands is not very useful in kernel anyway
(only a small code reduction sometimes).
ro or rw, the data is still taking space.

Well, maybe someday ld will be sooo clever that it will actually
merge rodata which is identical, but so far it is not implemented.
--
vda
-
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/