Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Linux Forum Linux-Web.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Sticktrick

unregistriert

1

10.07.2009, 11:50

Linux Kernel class_create()

Hi, ich hab folgendes Problem...ich soll ein Linux-Kernel-Modul schreiben.
Dadrin soll ich dann eine Geräteklasse und ein Gerät mit class_create und device_create schreiben. Ich hab da auch schon was geschrieben, aber irgendwie will das nicht so, wie ich will...kann mir vielleicht einer unter die arme greifen?! habe da schon 4 stunden mit verbracht und nix hinbekommen...
Hier der Source-Code soweit


#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/cdev.h>
#include <linux/device.h>
#include <linux/fs.h>

#define bsMAJOR 240

static char *name;
module_param(name, charp, 0644);
struct mydevice {
struct device *parent;
struct device *this_device;
dev_t dev;
int pid;
int pgdir;
char name[20];
};



struct class *bs_class;
struct mydevice zdev;


static int bs_init_module(void)
{
printk( "<0> Module BS init\n" );
zdev.dev = MKDEV(bsMAJOR, 10);
bs_class = class_create (THIS_MODULE, "BS_DEVICE");
zdev.this_device = device_create(bs_class,NULL,zdev.dev,NULL,"Bla");
return 0;
}


static void bs_exit_module(void)

{
printk( "<0> Module BS exit\n" );
}

module_init(bs_init_module);
module_exit(bs_exit_module);

Thema bewerten