summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch')
-rw-r--r--media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch108
1 files changed, 108 insertions, 0 deletions
diff --git a/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch
new file mode 100644
index 000000000000..d01479c286bc
--- /dev/null
+++ b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch
@@ -0,0 +1,108 @@
+ - get rid of warning when linux/device.h doesnt exist
+ - touch up the Makefile to let the ebuild handle the module details
+ - fix support with io remap stuff in newer kernels
+ - dont include headers that dont exist in 2.4.x kernels
+ - use module_param() for 2.6.x and MODULE_PARM() for all others
+ - dont declare all_devices as static since it is exported
+
+--- svgalib/kernel/svgalib_helper/Makefile
++++ svgalib/kernel/svgalib_helper/Makefile
+@@ -25,7 +25,7 @@
+ endif
+
+
+-CLASS_SIMPLE := $(shell grep class_simple_create $(KDIR)/include/linux/device.h)
++CLASS_SIMPLE := $(shell grep class_simple_create $(KDIR)/include/linux/device.h 2>/dev/null)
+
+ ifneq ($(CLASS_SIMPLE),)
+ CLASS_CFLAGS = -DCLASS_SIMPLE=1
+--- svgalib/kernel/svgalib_helper/Makefile.alt
++++ svgalib/kernel/svgalib_helper/Makefile.alt
+@@ -37,7 +37,7 @@
+ CFLAGS += -DSVGALIB_HELPER_MAJOR=$(SVGALIB_HELPER_MAJOR)
+
+ ifeq (1,$(findstring 1,$(MODVER)))
+- CFLAGS += -DMODVERSIONS -include $(INCLUDEDIR)/linux/modversions.h
++ CFLAGS += -DMODVERSIONS -DCONFIG_MODVERSIONS=1
+ endif
+
+ TARGET = svgalib_helper
+@@ -50,7 +50,8 @@
+ endif
+ endif
+
+-all: .depend $(OBJS)
++modules: $(OBJS)
++all: .depend modules
+
+ $(TARGET).o: $(SRC:.c=.o)
+ $(LD) -r $^ -o $@
+@@ -61,8 +62,8 @@
+ install: device modules_install
+
+ modules_install: $(OBJS)
+- mkdir -p /lib/modules/$(VER)/kernel/misc
+- install -m 0644 -c $(OBJS) /lib/modules/$(VER)/kernel/misc
++ mkdir -p $(TOPDIR)/lib/modules/$(VER)/kernel/misc
++ install -m 0644 -c $(OBJS) $(TOPDIR)/lib/modules/$(VER)/kernel/misc
+
+ device:
+ rm -f /dev/svgalib_helper* /dev/svga_helper* /dev/svga /dev/svga?
+--- svgalib/kernel/svgalib_helper/kernel26compat.h
++++ svgalib/kernel/svgalib_helper/kernel26compat.h
+@@ -10,7 +10,7 @@
+ # define PCI_GET_CLASS pci_find_class
+ # define PCI_GET_DEVICE pci_find_device
+
+-# if defined (PG_chainlock)
++# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3)
+ # define my_io_remap_page_range(vma, start, ofs, len, prot) \
+ io_remap_page_range(vma,start,ofs,len,prot)
+ # else
+--- svgalib/kernel/svgalib_helper/main.c
++++ svgalib/kernel/svgalib_helper/main.c
+@@ -19,13 +19,18 @@
+ #include <linux/pci.h>
+ #include <linux/devfs_fs_kernel.h>
+ #include <linux/mm.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
+ #include <linux/thread_info.h>
++#endif
+ #include <linux/smp.h>
+ #include <linux/smp_lock.h>
+
+ #include <linux/sched.h>
+ #include <linux/wait.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
+ #include <linux/syscalls.h>
++#endif
+
+ #define __KERNEL_SYSCALLS__
+ #include <linux/unistd.h>
+@@ -55,7 +55,7 @@
+ #include "displaystart.h"
+
+ int debug=0;
+-static int all_devices=0;
++int all_devices=0;
+ int num_devices=0;
+
+ static char *sdev_id="svgalib_helper";
+@@ -770,10 +770,15 @@
+
+ }
+
++#ifdef KERNEL_2_6
++module_param(debug, int, 0);
++module_param(all_devices, int, 0);
++#else
+ MODULE_PARM(debug, "i");
+-MODULE_PARM_DESC(debug, "Debug output level.");
+-
+ MODULE_PARM(all_devices, "i");
++#endif
++
++MODULE_PARM_DESC(debug, "Debug output level.");
+ MODULE_PARM_DESC(all_devices, "Give access to all PCI devices, regardless of class.");
+