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.mic...@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
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.mic...@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);