const __init

Geert Uytterhoeven
2001-05-20T19:53:28Z

Since a while include/linux/init.h contains the line

* Also note, that this data cannot be "const".

Why is this? Because const data will be put in a different section?

However, quite some code defines const __init variables (see list below).

So what should be done now?
1. Remove const from __initdata variables
2. Make __inidata work with const variables

FWIW, many sources still use __init for data, while it should be __initdata.

Gr{oetje,eeting}s,

Geert

Appendix: here's the list of affected source files:

arch/arm/kernel/setup.c
arch/m68k/amiga/config.c
arch/ppc/amiga/config.c
arch/ppc/kernel/residual.c
drivers/acorn/net/ether1.c
drivers/acorn/net/ether3.c
drivers/acorn/net/etherh.c
drivers/atm/ambassador.c
drivers/cdrom/cdu31a.c
drivers/char/dsp56k.c
drivers/char/pc110pad.c
drivers/char/qpmouse.c
drivers/char/softdog.c
drivers/ide/buddha.c
drivers/ide/rapide.c
drivers/net/ewrk3.c
drivers/net/hamradio/6pack.c
drivers/net/hamradio/bpqether.c
drivers/net/hamradio/mkiss.c
drivers/net/hamradio/scc.c
drivers/net/hamradio/yam.c
drivers/net/strip.c
drivers/net/tokenring/ibmtr.c
drivers/net/wan/lapbether.c
drivers/net/wan/z85230.c
drivers/pci/names.c
drivers/scsi/seagate.c
drivers/sound/sonicvibes.c
drivers/video/amifb.c
drivers/video/aty128fb.c
drivers/video/atyfb.c
drivers/video/mdacon.c
drivers/video/modedb.c
drivers/video/newport_con.c
drivers/video/promcon.c
drivers/video/riva/fbdev.c
drivers/video/sticon-bmode.c
drivers/video/sticon.c
drivers/video/tdfxfb.c
drivers/video/vgacon.c
drivers/zorro/names.c
net/ax25/af_ax25.c
net/ipv4/ipip.c
net/ipx/af_ipx.c
net/ipx/af_spx.c
net/lapb/lapb_iface.c
net/netrom/af_netrom.c
net/unix/af_unix.c

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds