Frank Mehnert wrote:
> The driver is always compiled for non-SMP systems, regardless if
> CONFIG_SMP of the kernel source is set or not. Reason: firegl-public.c
> asks for __SMP__ but not for CONFIG_SMP. __SMP__ is defined by make.sh
> but this script is not called when building the debian package with
> Linux 2.6 (see debian/rules)
Please try the attached patch which replaces __SMP__ with CONFIG_SMP (or
just edit firegl_public.c and replace it by hand).
Let me know if that works so I can add the patch to the next release.
--
Ciao, Flavio
--- firegl_public.c 29 Apr 2006 12:30:53 -0000 1.1
+++ firegl_public.c 29 Apr 2006 14:24:33 -0000
@@ -248,7 +248,7 @@ const unsigned long __ke_MODVERSIONS_Sta
const char BUILD_KERNEL_HAS_MODVERSIONS_CLEARED;
#endif
-#ifdef __SMP__
+#ifdef CONFIG_SMP
const unsigned long __ke_SMP_State = 1;
const char BUILD_KERNEL_HAS_SMP_SET;
#else
@@ -2249,7 +2249,7 @@ int ATI_API_CALL __ke_test_and_change_bi
/*****************************************************************************/
-#ifdef __SMP__
+#ifdef CONFIG_SMP
static atomic_t cpus_waiting;
static void deferred_flush(void* contextp)
@@ -2265,11 +2265,11 @@ static void deferred_flush(void* context
while (atomic_read(&cpus_waiting) > 0)
barrier();
}
-#endif /* __SMP__ */
+#endif /* CONFIG_SMP */
int ATI_API_CALL __ke_flush_cache(void)
{
-#ifdef __SMP__
+#ifdef CONFIG_SMP
#if LINUX_VERSION_CODE < 0x020501
atomic_set(&cpus_waiting, smp_num_cpus - 1);
#endif
@@ -2289,7 +2289,7 @@ int ATI_API_CALL __ke_flush_cache(void)
while (atomic_read(&cpus_waiting) > 0)
barrier();
-#else /* !__SMP__ */
+#else /* !CONFIG_SMP */
#if defined(__i386__) || defined(__x86_64__)
asm volatile ("wbinvd":::"memory");
#elif defined(__alpha__) || defined(__ia64__) || defined(__sparc__)
@@ -2297,7 +2297,7 @@ int ATI_API_CALL __ke_flush_cache(void)
#else
#error "Please define flush_cache for your architecture."
#endif
-#endif /* !__SMP__ */
+#endif /* !CONFIG_SMP */
return 0;
}