[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[PATCH] mousepad driver



Hello Olya.

 On Fri, 01 Apr 2005 00:46:32 +0300
 you wrote:

[ Тут прополз буквоед... ]
 OB> Замеченные баги: при загрузке insmod выдаёт предупреждение, что моё
 OB> ядро будет заражено кодом с не-GPL лицензией. Не уверена, это баг в
 OB> моём модуле или в ядре. Как побороть -- не знаю.

MODULE_LICENSE("GPL") и всё вылечится.

[ Тут прополз буквоед... ]

Патч для 2.6 (маленько ругается при сборке, но работает):

diff -Nru mpad.orig/Makefile mpad/Makefile
--- mpad.orig/Makefile	2005-04-01 11:26:17.050350912 +0800
+++ mpad/Makefile	2005-04-01 11:37:10.837514740 +0800
@@ -1,6 +1,31 @@
+KVER	   := $(shell uname -r | cut -c -3)
+ifneq ($(KVER),2.6)
 CC=gcc
 MODCFLAGS := -Wall -I/usr/src/linux/include -DMODULE -D__KERNEL__ -DLINUX
 
 mpad.o:        mpad.c
 #/usr/src/linux/include/linux/version.h
 	$(CC) $(MODCFLAGS) -c mpad.c
+
+else
+
+ifneq ($(KERNELRELEASE),)
+obj-m := mpad.o
+
+else
+KDIR        := /lib/modules/$(shell uname -r)/build
+PWD         := $(shell pwd)
+
+all:
+	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
+
+install:
+	$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules_install
+endif
+
+endif
+
+clean:
+	-rm -f *.o *.ko .*.cmd *.mod.c *~
+	-rm -rf .tmp_versions
+
diff -Nru mpad.orig/mpad.c mpad/mpad.c
--- mpad.orig/mpad.c	2005-04-01 11:26:01.544066836 +0800
+++ mpad/mpad.c	2005-04-01 11:28:18.147521651 +0800
@@ -2,6 +2,12 @@
  * generic linux mousepad driver
  */
 
+#include <linux/version.h>
+
+#ifdef MODVERSIONS
+#include <linux/modversions.h>
+#endif
+
 #include <linux/module.h> 
 #include <linux/proc_fs.h>
 
@@ -44,7 +50,10 @@
 
 module_init(mpad_init);
 module_exit(mpad_exit);
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
 EXPORT_NO_SYMBOLS;
+#endif
 
 MODULE_AUTHOR("Olya <bolya@ukrpost.net>");
 MODULE_DESCRIPTION("Generic driver for mouse pad");
-- 
Время разгонять камни... (Celeron 300A)

Reply to: