Original patch: --- /usr/src/modules/fglrx/firegl_public.c 2006-04-22 15:59:55.000000000 +0200 +++ firegl_public.c 2006-06-26 11:49:18.010773318 +0200 @@ -225,7 +225,12 @@ /* global module vars and constants - defined trough macros */ MODULE_AUTHOR("Fire GL - ATI Research GmbH, Germany"); MODULE_DESCRIPTION("ATI Fire GL"); -MODULE_PARM(firegl, "s"); +/* MODULE_PARM is obsolete */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) + MODULE_PARM(firegl, "s"); +#else + module_param(firegl, charp, 0400); +#endif #ifdef MODULE_LICENSE MODULE_LICENSE("Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY"); #endif I should add: +++ firegl_public.c 2006-06-26 11:49:18.010773318 +0200 +/* MODULE_PARM is obsolete */ +#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) + MODULE_PARM(firegl, "s"); +#else + module_param(firegl, charp, 0400); +#endif No, you should remove MODULE_PARM(firegl, "s"); and then add /* MODULE_PARM is obsolete */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,16) MODULE_PARM(firegl, "s"); #else module_param(firegl, charp, 0400); #endif the +++ firegl_public.c 2006-06-26 11:49:18.010773318 +0200 is for the patch program to know what file to patch.