summaryrefslogtreecommitdiff
path: root/include/linux/init.h
AgeCommit message (Collapse)Author
2006-04-26Don't include linux/config.h from anywhere else in include/David Woodhouse
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
2006-04-09[PATCH] x86_64: Support memory hotadd without sparsememAndi Kleen
Memory hotadd doesn't need SPARSEMEM, but can be handled by just preallocating mem_maps. This only needs some untangling of ifdefs to enable the necessary code even without SPARSEMEM. Originally from Keith Mannthey, hacked by AK. Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-25[PATCH] add a proper prototype for setup_arch()Adrian Bunk
This patch adds a proper prototype for setup_arch() in init.h. This patch is based on a patch by Ben Dooks <ben-linux@fluff.org>. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-16[PATCH] x86_64: add __meminit for memory hotplugMatt Tolentino
Add __meminit to the __init lineup to ensure functions default to __init when memory hotplug is not enabled. Replace __devinit with __meminit on functions that were changed when the memory hotplug code was introduced. Signed-off-by: Matt Tolentino <matthew.e.tolentino@intel.com> Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-25[PATCH] x86_64: Change init sections for CPU hotplug supportAshok Raj
This patch adds __cpuinit and __cpuinitdata sections that need to exist past boot to support cpu hotplug. Caveat: This is done *only* for EM64T CPU Hotplug support, on request from Andi Kleen. Much of the generic hotplug code in kernel, and none of the other archs that support CPU hotplug today, i386, ia64, ppc64, s390 and parisc dont mark sections with __cpuinit, but only mark them as __devinit, and __devinitdata. If someone is motivated to change generic code, we need to make sure all existing hotplug code does not break, on other arch's that dont use __cpuinit, and __cpudevinit. Signed-off-by: Ashok Raj <ashok.raj@intel.com> Acked-by: Andi Kleen <ak@muc.de> Acked-by: Zwane Mwaikambo <zwane@arm.linux.org.uk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-01-04[PATCH] GP-REL data supportDavid Howells
The attached patch makes it possible to support gp-rel addressing for small variables. Since the FR-V cpu's have fixed-length instructions and plenty of general-purpose registers, one register is nominated as a base for the small data area. This makes it possible to use single-insn accesses to access global and static variables instead of having to use multiple instructions. This, however, causes problems with small variables used to pinpoint the beginning and end of sections. The compiler assumes it can use gp-rel addressing for these, but the linker then complains because the displacement is out of range. By declaring certain variables as arrays or by forcing them into named sections, the compiler is persuaded to access them as if they can be outside the displacement range. Declaring the variables as "const void" type also works. Signed-Off-By: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-06-29[PATCH] x86_64 .init.setup alignment fixAndrew Morton
We're now putting 24-byte structures into .init.setup via __setup. But x86_64's compiler is emitting a `.align 16' in there, so they end up on 32-byte boundaries and do_early_param()'s pointer arithmetic goes wrong. Fix that up by forcing the compiler to align these structures to sizeof(long). Cc: Andi Kleen <ak@muc.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-06-26[PATCH] ARM COMMAND_LINE_SIZE build fixRussell King
Rework the declaration, sizing and memcpying of saved_command_line[] so that ARM doesn't need to implement unwelcome header file nestings. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-06-23[PATCH] Move saved_command_line to init/main.cAndrew Morton
From: Rusty Russell <rusty@rustcorp.com.au> Currently every arch declares its own char saved_command_line[]. Make sure every arch defines COMMAND_LINE_SIZE in asm/setup.h, and declare saved_command_line in linux/init.h (init/main.c contains the definition). Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2004-05-09[PATCH] sched: in_sched_functions() cleanupAndrew Morton
From: Rusty Russell <rusty@rustcorp.com.au> 1) Create an in_sched_functions() function in sched.c and make the archs use it. (Two archs have wchan #if 0'd out: left them alone). 2) Move __sched from linux/init.h to linux/sched.h and add comment. 3) Rename __scheduling_functions_start_here/end_here to __sched_text_start/end. Thanks to wli and Sam Ravnborg for clue donation.
2004-04-11[PATCH] Fix get_wchan() FIXME wrt. order of functionsAndrew Morton
From: William Lee Irwin III <wli@holomorphy.com> This addresses the issue with get_wchan() that the various functions acting as scheduling-related primitives are not, in fact, contiguous in the text segment. It creates an ELF section for scheduling primitives to be placed in, and places currently-detected (i.e. skipped during stack decoding) scheduling primitives and others like io_schedule() and down(), which are currently missed by get_wchan() code, into this section also. The net effects are more reliability of get_wchan()'s results and the new ability, made use of by this code, to arbitrarily place scheduling primitives in the source code without disturbing get_wchan()'s accuracy. Suggestions by Arnd Bergmann and Matthew Wilcox regarding reducing the invasiveness of the patch were incorporated during prior rounds of review. I've at least tried to sweep all arches in this patch.
2004-03-02Setup: introduce __obsolete_setup macro to denote truly obsoleteDmitry Torokhov
parameters. Whenever such parameter is specified kernel will complain that "Parameter %s is obsolete, ignored"
2003-11-18[PATCH] init.h needs to include compiler.hAndrew Morton
From: Jun Sun <jsun@mvista.com> It is needed for all those "__attribute_used__" etc to be valid. Also, it seems that when compiling a file ending in ".S", gcc-2.95.3 does not expand __GNUC__ at all. This causes the compiler version check to fail when building vsyscall.S. So add __ASSEMBLY__ wrappers in there.
2003-09-26[PATCH] GCC 3.3.x/3.4 compatiblity fix in include/linux/init.hBernardo Innocenti
GCC 3.4 miscompiles the kernel because it silently optimizes away data placed in the .init.setup section by the __setup() macro. __attribute__((unused)) does only avoid the warning, but doesn't mark the data as being used. Since GCC 3.3, __attribute__((used)) should be applied to such variables. The __attribute_used__ macro from linux/compiler.h already takes care of compiler differences for us. In this patch, I've gone a step further and proactively fixed that in all places.
2003-06-13[PATCH] lsm: Early init for security modules (1/4)Chris Wright
As discussed before, this allows for early initialization of security modules when compiled statically into the kernel. The standard do_initcalls is too late for complete coverage of all filesystems and threads, for example.
2003-03-06[PATCH] clean up all the console inits using an initcall variantAlan Cox
Dave Woodhouse did this a while ago and its been kicking around in my tree just fine. This gets rid of a lot of the init lists of functions still left in the kernel by having an __init type array built up for the consoles as well
2003-02-18[PATCH] spelling fix for compatable -> compatibleSteven Cole
This patch provides the following spelling fixes. compatable -> compatible compatability -> compatibility
2003-01-05[PATCH] Fix errors making Docbook documentationCraig Wilkie
This modifies the following files: - Documentation/Docbook/Makefile - Fix dependencies generating parportbook which caused tex to choke. Documentation/Docbook/kernel-api.tmpl - Remove references to source files which do not contain kernel-doc comments, which caused "errors" in the generated documentation. include/linux/init.h - fix a trivial function comment to correct the generated documentation. This patch partially addresses one of the issues on the Kernel Janitor TODO list - "someone who knows DocBook, or is willing to learn, should go through and clean up Documentation/DocBook to kill all the warnings that occur during "make pdfdocs" and generally make the documents look nicer, and render smaller PDFs."
2002-12-29[PATCH] Embed __this_module in module itself.Rusty Russell
Rather than have the module loader the module structure and resolve the symbols __this_module to it, make __this_module a real structure inside the module, using the linkonce trick we used for module names. This saves us an allocation (saving a page per module on archs which need the module structure close by), and means we don't have to fill in a few module fields.
2002-12-14[PATCH] Module Parameter Core PatchRusty Russell
This patch is a rewrite of the insmod and boot parameter handling, to unify them. The new format is fairly simple: built on top of __module_param_call there are several helpers, eg "module_param(foo, int, 000)". The final argument is the permissions bits, for exposing parameters in sysfs (if non-zero) at a later stage.
2002-12-02Add __exit_p() to match existing __devexit_p().William Lee Irwin III
This patch fixes de2104x net driver up by doing the following things: (1) add __exit_p() to <linux/init.h> (2) add the unused attributed to __exit routines for non-modules (3) use __exit_p() to refer to de_remove_one()
2002-12-01[PATCH] module names fixRusty Russell
By Kai Germaschewski: "Well, I have another solution, which doesn't need additional Makefile magic or anything. I just put the module name into each .o file where <linux/module.h> is included. Putting it into the section .gnu.linkonce.modname has the effect that even for multi-part modules, we only end up with one copy of the name. Caveat: I'm using the preprocessor macro KBUILD_MODNAME to know what to put into .gnu.linkonce.modname. The following used to happen: (drivers/isdn/eicon/Makefile) divas-objs := common.o Divas_mod.o ... eicon-objs := common.o eicon_mod.o ... Divas_mod.o is compiled with -DKBUILD_MODNAME=divas eicon_mod.o is compiled with -DKBUILD_MODNAME=eicon common.o is compiled with -DKBUILD_MODNAME=divas_eicon So in the case above, both divas.o and eicon.o would end up with a .gnu.linkonce.modname section containing "divas_eicon" My fix to this is to not define KBUILD_MODNAME when compiling an object whilch will be linked into more than one module - so common.o gets no .gnu.linkonce.modname section at all. Works fine here. Now, doing this I remove one of the reasons why we would need modules linked as '.ko' ;), but it seems much cleaner than generating a temporary file, using objcopy etc."
2002-11-10[PATCH] In-kernel Module LoaderRusty Russell
This is an implementation of the in-kernel module loader extending the try_inc_mod_count() primitive and making its use compulsory. This has the benifit of simplicity, and similarity to the existing scheme. To reduce the cost of the constant increments and decrements, reference counters are lockless and per-cpu. Eliminated (coming in following patches): o Modversions o Module parameters o kallsyms o EXPORT_SYMBOL_GPL and MODULE_LICENCE checks o DEVICE_TABLE support. New features: o Typesafe symbol_get/symbol_put o Single "insert this module" syscall interface allows trivial userspace. o Raceless loading and unloading You will need the trivial replacement module utilities from: http://ozlabs.org/~rusty/module-init-tools-0.6.tar.gz
2002-10-15[PATCH] Allow compilation with -ffunction-sectionsMatthew Wilcox
If you compile the kernel with -ffunction-sections, each function gets put in a section .text.function_name. This collides with our current use of .text.init. So here's a patch which converts x86 to use .init.text instead. I've tested it on x86 and it still frees 120k of ram, so it seems to work. Other architectures will need to change their vmlinux.lds appropriately, and may need other changes (arm, m68k seem to use .text.init verbatim).
2002-08-04Macro __devexit_p in linux/init.h needs to be conditions on bothJeff Garzik
MODULE and CONFIG_HOTPLUG cpp symbols. Merge 2.4's definition to make it so.
2002-06-05Fix generic device layer init sequence.David S. Miller
Generic BUS objects have to be registered before devices assosciated with them are probed. Therefore subsys_initcall is inappropriate for such setups. It does not work to use core_initcall for this because the generic device layer bits need to be setup first too. So we rename unused_initcall to postcore_initcall and use this new initcall level for generic BUS object init. This fixes bootup on Alpha, and Sparc64. X86 was working by what looks to be luck in link order.
2002-05-21[PATCH] suspend-to-{RAM,disk}Pavel Machek
Here's suspend-to-{RAM,disk} combined patch for 2.5.17. Suspend-to-disk is pretty stable and was tested in 2.4-ac. Suspend-to-RAM is little more experimental, but works for me, and is certainly better than disk-eating version currently in kernel. Major parts are: process stopper, S3 specific code, S4 specific code.
2002-03-15Fix up ACPI so that it seems to work in the new world order:Linus Torvalds
make driverfs initialize early, so that ACPI can come alive in a world where you can register devices.
2002-02-11[PATCH] discarded section problemRichard Henderson
What should be happening with the references to the discarded .text.exit section? I see a __devexit_p mentioned in Documentation/pci.txt, but it hasn't been implemented except for down inside ieee1394. In any case, I need something like the following in order to build with pre-release binutils 2.12. If this sort of thing is acceptible I can prepare a more comprehensive patch.
2002-02-05v2.5.2.3 -> v2.5.2.4Linus Torvalds
- Patrick Mochel: initcall levels - Patrick Mochel: devicefs updates, add PCI devices into the hierarchy - Denis Oliver Kropp: neomagic fb driver - David Miller: sparc64 and network updates - Kai Mäkisara: scsi tape update - Al Viro: more inode trimming, VFS cleanup - Greg KH: USB update - proper urb allocations - Eric Raymond: kdev_t updates for fb devices
2002-02-05v2.5.2.1.1 -> v2.5.2.2Linus Torvalds
- Al Viro: fix new_inode() allocation - undo initcall update - cciss driver update
2002-02-05v2.5.2.1 -> v2.5.2.1.1Linus Torvalds
- David Howells: abtract out "current->need_resched" as "need_resched()" - Frank Davis: ide-tape update for bio - various: header file fixups - Jens Axboe: fix up bio/ide/highmem issues - Kai Germaschewski: ISDN update - Tim Waugh: parport update - Patrik Mochel: initcall update - Greg KH: USB and Compaq PCI hotplug updates
2002-02-04v2.4.7 -> v2.4.7.1Linus Torvalds
- Anton Altaparmakov: NTFS error checking - Johannes Erdfelt: USB updates - OGAWA Hirofumi: FAT update - Alan Cox: driver + s390 update merge - Richard Henderson: fix alpha sigsuspend error return value - Marcelo Tosatti: per-zone VM shortage - Daniel Phillips: generic use-once optimization instead of drop-behind - Bjorn Wesen: Cris architecture update - Anton Altaparmakov: support for Windows Dynamic Disks - James Washer: LDT loading SMP bug fix
2002-02-04v2.4.4.3 -> v2.4.4.4Linus Torvalds
- Russell King: ARM updates - Al Viro: more init cleanups - Cort Dougan: more PPC updates - David Miller: cleanups, pci mmap updates - Neil Brown: raid resync by sector - Alan Cox: more merging with -ac - Johannes Erdfelt: USB updates - Kai Germaschewski: ISDN updates - Tobias Ringstrom: dmfe.c network driver update - Trond Myklebust: NFS client updates and cleanups
2002-02-04v2.4.2.1 -> v2.4.2.2Linus Torvalds
- Jens Axboe: fix loop device deadlocks - Greg KH: USB updates - Alan Cox: continued merging - Tim Waugh: parport and documentation updates - Cort Dougan: PowerPC merge - Jeff Garzik: network driver updates - Justin Gibbs: new and much improved aic7xxx driver 6.1.5
2002-02-04Import changesetLinus Torvalds