diff -Nru psb-kernel-source-4.42.0/debian/changelog psb-kernel-source-4.42.0/debian/changelog --- psb-kernel-source-4.42.0/debian/changelog 2010-11-25 23:20:51.000000000 +0000 +++ psb-kernel-source-4.42.0/debian/changelog 2011-02-24 08:11:01.000000000 +0000 @@ -1,3 +1,12 @@ +psb-kernel-source (4.42.0-0ubuntu2~1104um5) natty; urgency=low + + * Patch for kernel 2.6.38 by nicodds + * function agp_flush_chipset() removed from kernel code; + * functions (acquire|release)_console_sem() renamed to console_(lock|unlock)(); + * member fops->ioctl of structure drm_driver renamed to fops->unlocked_ioctl. + + -- Luca Forina Tue, 24 Feb 2011 14:20:06 +0200 + psb-kernel-source (4.42.0-0ubuntu2~1104um4) natty; urgency=low * acpi-video.dpatch diff -Nru psb-kernel-source-4.42.0/debian/patches/00list psb-kernel-source-4.42.0/debian/patches/00list --- psb-kernel-source-4.42.0/debian/patches/00list 2010-11-25 23:23:09.000000000 +0000 +++ psb-kernel-source-4.42.0/debian/patches/00list 2011-02-24 08:20:16.000000000 +0000 @@ -15,3 +15,4 @@ rt-kernel.dpatch 2.6.36-ioctl.dpatch acpi-video.dpatch +2.6.38.dpatch diff -Nru psb-kernel-source-4.42.0/debian/patches/2.6.38.dpatch psb-kernel-source-4.42.0/debian/patches/2.6.38.dpatch --- psb-kernel-source-4.42.0/debian/patches/2.6.38.dpatch 1970-01-01 00:00:00.000000000 +0000 +++ psb-kernel-source-4.42.0/debian/patches/2.6.38.dpatch 2011-02-24 08:19:45.000000000 +0000 @@ -0,0 +1,90 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 2.6.38.dpatch by +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' psb-kernel-source~/drm_agpsupport.c psb-kernel-source/drm_agpsupport.c +--- psb-kernel-source~/drm_agpsupport.c 2011-02-24 09:11:42.892073202 +0100 ++++ psb-kernel-source/drm_agpsupport.c 2011-02-24 09:14:45.656073202 +0100 +@@ -641,7 +641,7 @@ + } + EXPORT_SYMBOL(psb_drm_agp_init_ttm); + +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,38) + void psb_drm_agp_flush_chipset(struct drm_device *dev) + { + agp_flush_chipset(dev->agp->bridge); +diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' psb-kernel-source~/psb_fb.c psb-kernel-source/psb_fb.c +--- psb-kernel-source~/psb_fb.c 2011-02-24 09:11:42.940073202 +0100 ++++ psb-kernel-source/psb_fb.c 2011-02-24 09:19:34.500073202 +0100 +@@ -58,6 +58,22 @@ + int dpms_state; + }; + ++static void psb_console_lock() { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38) ++ console_lock(); ++#else ++ acquire_console_sem(); ++#endif ++} ++ ++static void psb_console_unlock() { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38) ++ console_unlock(); ++#else ++ release_console_sem(); ++#endif ++} ++ + static void psbfb_vm_info_deref(struct psbfb_vm_info **vi) + { + struct psbfb_vm_info *tmp = *vi; +@@ -874,9 +890,9 @@ + { + int ret; + +- acquire_console_sem(); ++ psb_console_lock(); + ret = psbfb_kms_off(dev, 0); +- release_console_sem(); ++ psb_console_unlock(); + + return ret; + } +@@ -953,9 +969,9 @@ + { + int ret; + +- acquire_console_sem(); ++ psb_console_lock(); + ret = psbfb_kms_on(dev, 0); +- release_console_sem(); ++ psb_console_unlock(); + #ifdef SII_1392_WA + if((SII_1392 != 1) || (drm_psb_no_fb==0)) + psb_drm_disable_unused_functions(dev); +@@ -967,16 +983,16 @@ + + void psbfb_suspend(struct drm_device *dev) + { +- acquire_console_sem(); ++ psb_console_lock(); + psbfb_kms_off(dev, 1); +- release_console_sem(); ++ psb_console_unlock(); + } + + void psbfb_resume(struct drm_device *dev) + { +- acquire_console_sem(); ++ psb_console_lock(); + psbfb_kms_on(dev, 1); +- release_console_sem(); ++ psb_console_unlock(); + #ifdef SII_1392_WA + if((SII_1392 != 1) || (drm_psb_no_fb==0)) + psb_drm_disable_unused_functions(dev);