summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-libs/svgalib/ChangeLog7
-rw-r--r--media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch58
2 files changed, 41 insertions, 24 deletions
diff --git a/media-libs/svgalib/ChangeLog b/media-libs/svgalib/ChangeLog
index 2aefff09a649..fba4da13f4f8 100644
--- a/media-libs/svgalib/ChangeLog
+++ b/media-libs/svgalib/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for media-libs/svgalib
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/svgalib/ChangeLog,v 1.82 2008/10/20 00:00:20 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/svgalib/ChangeLog,v 1.83 2008/10/28 20:09:27 pauldv Exp $
+
+ 28 Oct 2008; Paul de Vrieze <pauldv@gentoo.org>
+ files/svgalib-1.9.25-linux2.6.patch:
+ Make svgalib work on 2.6.27. Fixes bug #242342, and thanks to Ed Catmur
+ <ed@catmur.co.uk> in there for providing a patch.
20 Oct 2008; Mike Frysinger <vapier@gentoo.org>
files/svgalib-1.9.25-build.patch:
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
index f3b61e1e8e1d..20ab1fe1ed16 100644
--- a/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch
+++ b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch
@@ -1,11 +1,11 @@
- - 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
- - dont include <linux/config.h> as the build system does it for us
- - in lrmi, map old flag names to new names for versions >= 2.6.26
+ - 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
+ - dont include <linux/config.h> as the build system does it for us
+ - in lrmi, map old flag names to new names for versions >= 2.6.26
--- svgalib/kernel/svgalib_helper/Makefile
+++ svgalib/kernel/svgalib_helper/Makefile
@@ -83,7 +83,7 @@
}
#endif
-@@ -105,7 +109,8 @@
+@@ -99,7 +105,8 @@
class_device_create(svgalib_helper_class, \
MKDEV(SVGALIB_HELPER_MAJOR, _minor), \
&sh_pci_devs[_minor]->dev->dev, _name);
@@ -93,13 +93,13 @@
# define SLH_SYSFS_ADD_CONTROL \
class_device_create(svgalib_helper_class, NULL, \
MKDEV(SVGALIB_HELPER_MAJOR, 0), \
-@@ -115,7 +120,18 @@
+@@ -109,7 +116,30 @@
class_device_create(svgalib_helper_class, NULL, \
MKDEV(SVGALIB_HELPER_MAJOR, _minor), \
&sh_pci_devs[_minor]->dev->dev, _name);
-#endif /* 2.6.15 */
+/* 2.6.26 changed class_device_create to device_create */
-+#else
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27)
+# define SLH_SYSFS_ADD_CONTROL \
+ device_create(svgalib_helper_class, NULL, \
+ MKDEV(SVGALIB_HELPER_MAJOR, 0), \
@@ -109,11 +109,23 @@
+ device_create(svgalib_helper_class, &sh_pci_devs[_minor]->dev->dev, \
+ MKDEV(SVGALIB_HELPER_MAJOR, _minor), \
+ _name);
++/* 2.6.27 changed device_create to device_create_drvdata */
++#else
++# define SLH_SYSFS_ADD_CONTROL \
++ device_create_drvdata(svgalib_helper_class, NULL, \
++ MKDEV(SVGALIB_HELPER_MAJOR, 0), \
++ "%s%d", "svga", 0);
++
++# define SLH_SYSFS_ADD_DEVICE(_name, _minor) \
++ device_create_drvdata(svgalib_helper_class, \
++ &sh_pci_devs[_minor]->dev->dev, \
++ MKDEV(SVGALIB_HELPER_MAJOR, _minor), \
++ "%s%d", _name, _minor);
+#endif
# define SLH_SYSFS_REMOVE_DEVICE(i) \
class_destroy(svgalib_helper_class);
-@@ -167,3 +167,7 @@
+@@ -161,3 +191,7 @@
#ifndef PCI_VENDOR_ID_RENDITION
#define PCI_VENDOR_ID_RENDITION 0x1163
#endif
@@ -129,7 +141,7 @@
#if defined (CONFIG_MODVERSIONS) && !defined (MODVERSIONS)
# define MODVERSIONS
#endif
-@@ -19,15 +19,22 @@
+@@ -17,15 +15,22 @@
#include <linux/ioport.h>
#include <linux/interrupt.h>
#include <linux/pci.h>
@@ -152,7 +164,7 @@
#define __KERNEL_SYSCALLS__
#include <linux/unistd.h>
-@@ -55,7 +55,7 @@
+@@ -50,7 +55,7 @@
#include "displaystart.h"
int debug=0;
@@ -161,7 +173,7 @@
int num_devices=0;
static char *sdev_id="svgalib_helper";
-@@ -103,7 +103,11 @@
+@@ -98,7 +103,11 @@
static volatile int vsync=0;
static wait_queue_head_t vsync_wait;
@@ -174,7 +186,7 @@
{
struct sh_pci_device *dev = (struct sh_pci_device *)dev_id;
-@@ -360,7 +364,7 @@
+@@ -355,7 +364,7 @@
vsync=1;
i=0;
while(irqs[i]!=-1)
@@ -183,7 +195,7 @@
vga_enable_vsync((void *)sdev_id);
wait_event_interruptible(vsync_wait, !vsync);
i=0;
-@@ -448,7 +452,7 @@
+@@ -443,7 +452,7 @@
int i=sh_pci_devs[minor]->dev->irq;
sh_pci_devs[minor]->opencount++;
if(sh_pci_devs[minor]->opencount==1 && i!=0 && i!=-1 && i!=255)
@@ -192,7 +204,7 @@
}
#ifndef KERNEL_2_6
-@@ -770,10 +770,15 @@
+@@ -763,10 +772,15 @@
}
@@ -208,11 +220,11 @@
+
+MODULE_PARM_DESC(debug, "Debug output level.");
MODULE_PARM_DESC(all_devices, "Give access to all PCI devices, regardless of class.");
-
+
--- svgalib/src/lrmi.6.c
+++ svgalib/src/lrmi.6.c
-@@ -169,6 +169,13 @@ LRMI_free_real(void *m)
+@@ -169,6 +169,13 @@
}
}
@@ -228,7 +240,7 @@
#define DEFAULT_STACK_SIZE 0x1000
--- svgalib/src/lrmi.9.c
+++ svgalib/src/lrmi.9.c
-@@ -206,6 +206,13 @@ LRMI_free_real(void *m)
+@@ -206,6 +206,13 @@
#if defined(__linux__)
@@ -244,7 +256,7 @@
#define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL)
--- svgalib/lrmi-0.6m/lrmi.c
+++ svgalib/lrmi-0.6m/lrmi.c
-@@ -170,6 +170,14 @@ LRMI_free_real(void *m)
+@@ -170,6 +170,14 @@
}
@@ -261,7 +273,7 @@
#define RETURN_TO_32_INT 255
--- svgalib/lrmi-0.9/lrmi.c
+++ svgalib/lrmi-0.9/lrmi.c
-@@ -203,6 +203,13 @@ LRMI_free_real(void *m)
+@@ -203,6 +203,13 @@
#if defined(__linux__)