lkml.org 
[lkml]   [2001]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: initialisation code
Date
On Thu, 22 Mar 2001 14:59:31 +0530 (IST), 
Manoj Sontakke <manojs@sasken.com> wrote:
>On Wed, 21 Mar 2001, Keith Owens wrote:
>> Welcome to the wonderful world of magic initialisation.
>>
>> (1) Declare your initialisation function as int __init foo_init(void).
>> (2) Decide when your function needs to be called, e.g. after initialisers
>> for A, B, C but before initialisers for X, Y, Z.
>
>where do i find this ABC abs XYZ ?

You coded it, you know what kernel facilities must be initialised
before your program (ABC) and what kernel code cannot be initialised
until after your program (XYZ).

>What if I have to make it as an insertable/removable module?

static int __init foo_init(void) {
...
}

module_init(foo_init);

Automatically generates the correct code for a built in object and for
a module. See include/linux/init.h and almost any drivers/net/*.c,
plip.c is a good example.

>>
>> (3) Edit the Makefile to insert obj-$(CONFIG_FOO) after the objects
>> that contain initialisers A, B, C and before the objects for
>> initialisers X, Y, Z.
>
>Do I need to edit the .config file to add CONFIG_FOO=y ?

Do not edit .config, it is generated. Edit a [Cc]onfig.in file, read
Documentation/kbuild/config-language.txt and look at the [Cc]onfig.in
file in the directory where you are putting your source. Do not forget
to update Documentation/Configure.help.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:29    [W:0.101 / U:0.076 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site