Hello-
I am trying to create a simple module that will just print messages
when the module is loaded and when its closed. My problem is when I
insert the module using insmod irq.o I get the message:
Using irq.o
insmod: kernel-module version mismatch
irq.o was compiled for kernel version 2.4.24
while this kernel is version 2.4.26-ts9.
Then when I force it using insmod -f irq.o I get the message:
$ insmod -f irq.o
Using irq.o
insmod: Warning: kernel-module version mismatch
irq.o was compiled for kernel version 2.4.24
while this kernel is version 2.4.26-ts9Initializing Module!
Warning: loading irq will taint the kernel: forced load
See http://www.tux.org/lkml/#export-tainted for information about
tainted modu
les
Then when I remove the module I get:
$ rmmod irq.o
Closing Module!
I get both "Initializing Module!" and " Closing Module!" ouputs. The
questions I have are why do I have to force the inserting of the
module and why do I get the tainted kernel error when I thought that
using MODULE_LICENSE("GPL"); takes care of that?
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/interrupt.h>
#include <linux/sched.h>
#include <linux/tqueue.h>
#include <linux/errno.h>
#include <linux/version.h>
#include <linux/signal.h>
#include <asm/io.h>
#define DRIVER_AUTHOR "Ryan Weidemann"
#define DRIVER_DESC "A test driver"
#define DEVICE_NAME "Timer3"
#define MODULE_NAME "timer3: "
/*void irq_handler(int irq, void *dev_id, struct pt_regs *regs){
printk("\nIn the Interrupt Handler!\n");
}*/
int init_module(void){
printk("Initializing Module!\n");
//initialize_hardware();
return 0;
}
void cleanup_module(void){
printk(KERN_ALERT "Closing Module!\n");
//uninitialize_hardware();
}
MODULE_AUTHOR(DRIVER_AUTHOR);
MODULE_DESCRIPTION(DRIVER_DESC);
MODULE_SUPPORTED_DEVICE("testdevice");
MODULE_LICENSE("GPL");
Thanks for you help,
Ryan
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|