AVM A1 fritz-fcclassic & Kernel 2.6.24

Burmann

Mitglied
Mitglied seit
16 Feb 2005
Beiträge
372
Punkte für Reaktionen
0
Punkte
0
Ich wollte eben mal fcclassic.ko sebst compilieren und stosse da bei Kernel 2.6.24 auf Probleme :mad: (bei Kernel 2.6.18 lief noch alles ohne Fehler)

Der Fehler "main.c:25:26: error: linux/config.h: Datei oder Verzeichnis nicht gefunden"
bedeutet, dass "#include <linux/config.h>" zu "#include <linux/autoconf.h>" geändert werden muss

Der Fehler "driver.h:100: error: conflicting types for ‘driver_init’" kann man durch anhängen von '_avm' beseitigen (bei allen Vorkommen in allen Dateien)

Den Fehler "driver.c:359: error: ‘SA_INTERRUPT’ undeclared (first use in this function)" kann man durch setzen der Definition
#define SA_INTERRUPT IRQF_DISABLED
#define SA_SAMPLE_RANDOM IRQF_SAMPLE_RANDOM
#define SA_SHIRQ IRQF_SHARED
#define SA_PROBEIRQ IRQF_PROBE_SHARED
#define SA_PERCPU IRQF_PERCPU

#define SA_TRIGGER_LOW IRQF_TRIGGER_LOW
#define SA_TRIGGER_HIGH IRQF_TRIGGER_HIGH
#define SA_TRIGGER_FALLING IRQF_TRIGGER_FALLING
#define SA_TRIGGER_RISING IRQF_TRIGGER_RISING
#define SA_TRIGGER_MASK IRQF_TRIGGER_MASK

beseitigen

Was mir sorgen macht ist die Warnung
"fritz-fcclassic/src/driver.c:363: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type"

Weis jemand was die Änderung der IRQ-behandlung bedeutet?

In 2.6.18 ist die Funtion (include/linux/interrupt.h) als
extern int request_irq(unsigned int, irqreturn_t (*handler)(int, void *, struct pt_regs *), unsigned long, const char *, void *);

definiert und in 2.6.24 als
extern int __must_check request_irq(unsigned int, irq_handler_t handler, unsigned long, const char *, void *);
 
Kostenlos!

Statistik des Forums

Themen
249,052
Beiträge
2,309,528
Mitglieder
378,849
Neuestes Mitglied
Callendaar