Mailinglist Archive: opensuse-de (4797 mails)

< Previous Next >
Re: Kann eigene Module unter 2.4.0 nicht verwenden
  • From: Jochen Strohbeck <strohbeck@xxxxxxx>
  • Date: Fri, 25 May 2001 18:49:19 +0200
  • Message-id: <3B0E8D0F.753D0DA4@xxxxxxx>
Antje Bendrich wrote:

> > Jochen Strohbeck schrieb am 17.05.01 18:25:26:
> > nachdem ich jetzt einen ganzen Tag lang mit unterschiedlichen
> > Kernelversion experimentiert habe gibt es keine andere Erklärung für
> > mich: irgendwas hat sich an 2.4.x gegenüber 2.2.x geändert - und zwar
> > so, dass ich meine selbstgebastelten Kernelmodule nicht mehr ansprechen
> > kann.

> Hast Du auch die modutils erneuert? Ist beim Wechsel von 2.2.x auf
> 2.4.x notwendig.

Ist alles aktuell. Danke trotzdem. Habe die Ursache dann doch noch
gefunden. Bisher verwendete ich immer die nachfolgende Struktur über
die der Kernel auf die Funktionen eines Treibers zugreifen kann.

struct file_operations ivdl8sd_fops = {
ivdl8sd_lseek,
ivdl8sd_read,
ivdl8sd_write,
NULL,
NULL,
ivdl8sd_ioctl,
NULL,
ivdl8sd_open,
ivdl8sd_release,
};

Den Aufbau dieser Struktur habe ich A.Rubinis 'Linux Gerätetreiber'
entnommen. Ich habe mir jetzt von oReilly die aktuellsten
Beispielprogramme von Rubini heruntergeladen. Den Funktionszeigern
werden
dort jetzt Schlüsselworte vorangestellt, so dass meine Struktur analog
jetzt so aussieht:

struct file_operations ivdl8sd_fops = {
llseek: ivdl8sd_lseek,
read: ivdl8sd_read,
write: ivdl8sd_write,
NULL,
NULL,
ioctl: ivdl8sd_ioctl,
NULL,
open: ivdl8sd_open,
release: ivdl8sd_release,
};

Jetzt gehen meine Treiber auch unter 2.4.x.

Gruss & danke,

Jochen

< Previous Next >