Hallo,
ich schreibe gerade meinen ersten Linux-Treiber und brauche etwas
Expertenrat. (Ja, das Buch "Linux Device Drivers" kenn ich.)
In meiner __init Funktion initialisiere ich eine Variable, auf die ich
später auch in einer send() Funktion zugreifen muss.
Ist es nun elegant diese Variable als globale Variable in das Kernel
Module zu schreiben, oder gibt es da etwas in "struct platform_driver"
o.ä., wo die Variable besser aufgehoben ist?
1 | #include <linux/init.h>
|
2 | #include <linux/kernel.h>
|
3 |
|
4 | int foo;
|
5 |
|
6 | static int send(){...}
|
7 |
|
8 |
|
9 | static SIMPLE_DEV_PM_OPS(myDrv_pm, myDrv_suspend, myDrv_resume);
|
10 | static struct platform_driver myDrv = {
|
11 | .driver = {
|
12 | .name = "myDriver",
|
13 | .pm = &myDrv_pm,
|
14 | },
|
15 | };
|
16 |
|
17 |
|
18 | static int __init init_myDrv(void)
|
19 | { ...
|
20 | foo = bar();
|
21 | }
|
22 |
|
23 | module_init(init_myDrv);
|
Danke