[Pkg-fglrx-devel] Bug#611779: fglrx-modules-dkms Linux 2.6.38 support

Miguel Colon debian.micove at gmail.com
Wed Feb 2 05:27:37 UTC 2011


Package: fglrx-modules-dkms
Version: 1:11-1-1.1
Severity: wishlist
Tags: patch

Hello:

The following commits breaks 2.6.38 kernel support:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff

The error message from the log is:
  LD      /var/lib/dkms/fglrx/11-1/build/built-in.o
  CC [M]  /var/lib/dkms/fglrx/11-1/build/firegl_public.o
/var/lib/dkms/fglrx/11-1/build/firegl_public.c: In function
‘fglrx_pci_suspend’:
/var/lib/dkms/fglrx/11-1/build/firegl_public.c:853: error: implicit declaration
of function ‘acquire_console_sem’
/var/lib/dkms/fglrx/11-1/build/firegl_public.c:875: error: implicit declaration
of function ‘release_console_sem’
make[1]: *** [/var/lib/dkms/fglrx/11-1/build/firegl_public.o] Error 1
make: *** [_module_/var/lib/dkms/fglrx/11-1/build] Error 2

A possible solution is included in the following DEP-3 compliant patch (also
attached):
http://paste.debian.net/106284

As a disclaimer this patch will enable support for 2.6.38-rc3 and up but -rc1
and -rc2 won't be supported. Should not be a big issue since a debian package
for this kernel is not yet available and only users that compile the kernel
themselves are affected. If there are any errors on the patch feel free to
modify it. Thanks for the great work!

Here is a quote of the patch:
Description: Add Linux 2.6.38 support
 The following commit renamed acquire_console_sem to console_lock and
 release_console_sem to console_unlock on the Linux kernel:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff
Author: Miguel Colon <debian.micove at gmail.com>
Forwarded: no
Last-Update: 2011-02-01

--- fglrx-driver-11-1.orig/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ fglrx-driver-11-1/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -850,7 +850,12 @@ static int fglrx_pci_suspend(struct pci_
      * happen much less frequent then without this workaround.
      */
     if (state == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
         acquire_console_sem();
+#endif
+

     if (firegl_cail_powerdown(privdev, state))
         ret = -EIO;
@@ -872,7 +877,11 @@ static int fglrx_pci_suspend(struct pci_
     }

     if (state == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
         release_console_sem();
+#endif

     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, ret, NULL);

@@ -896,7 +905,11 @@ static int fglrx_pci_resume(struct pci_d
     if (PMSG_EVENT(pdev->dev.power.power_state) == 0) return 0;

     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
         acquire_console_sem();
+#endif

 #ifdef FIREGL_USWC_SUPPORT
     // Restore the PAT after resuming from S3 or S4.
@@ -921,7 +934,11 @@ static int fglrx_pci_resume(struct pci_d
     firegl_cail_powerup(privdev);

     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
         release_console_sem();
+#endif

     PMSG_EVENT(pdev->dev.power.power_state) = 0;
     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, 0, NULL);



-- System Information:
Debian Release: 6.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-rc2-custom-original (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages fglrx-modules-dkms depends on:
ii  dkms                          2.1.1.2-5  Dynamic Kernel Module Support Fram

fglrx-modules-dkms recommends no packages.

Versions of packages fglrx-modules-dkms suggests:
ii  fglrx-driver                  1:11-1-1.1 non-free ATI/AMD RadeonHD display 

-- no debconf information
-------------- next part --------------
Description: Add Linux 2.6.38 support
 The following commit renamed acquire_console_sem to console_lock and
 release_console_sem to console_unlock on the Linux kernel:
 http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ac751efa6a0d70f2c9daef5c7e3a92270f5c2dff
Author: Miguel Colon <debian.micove at gmail.com>
Forwarded: no
Last-Update: 2011-02-01

--- fglrx-driver-11-1.orig/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ fglrx-driver-11-1/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -850,7 +850,12 @@ static int fglrx_pci_suspend(struct pci_
      * happen much less frequent then without this workaround.
      */
     if (state == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
         acquire_console_sem();
+#endif
+
 
     if (firegl_cail_powerdown(privdev, state))
         ret = -EIO;
@@ -872,7 +877,11 @@ static int fglrx_pci_suspend(struct pci_
     }
 
     if (state == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
         release_console_sem();
+#endif
 
     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, ret, NULL);  
     
@@ -896,7 +905,11 @@ static int fglrx_pci_resume(struct pci_d
     if (PMSG_EVENT(pdev->dev.power.power_state) == 0) return 0;
 
     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_lock();
+#else
         acquire_console_sem();
+#endif
 
 #ifdef FIREGL_USWC_SUPPORT
     // Restore the PAT after resuming from S3 or S4.
@@ -921,7 +934,11 @@ static int fglrx_pci_resume(struct pci_d
     firegl_cail_powerup(privdev);
 
     if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38)
+        console_unlock();
+#else
         release_console_sem();
+#endif
 
     PMSG_EVENT(pdev->dev.power.power_state) = 0;
     KCL_DEBUG_TRACEOUT(FN_FIREGL_ACPI, 0, NULL);  


More information about the Pkg-fglrx-devel mailing list