diff -Naur common/lib/modules/fglrx/build_mod/firegl_public.c common/lib/modules/fglrx/build_mod/firegl_public.c --- common/lib/modules/fglrx/build_mod/firegl_public.c 2007-07-29 13:36:37.000000000 +0200 +++ common/lib/modules/fglrx/build_mod/firegl_public.c 2007-07-29 14:24:11.000000000 +0200 @@ -452,7 +452,7 @@ } static unsigned int -firegl_interrupt_poll_wrap(struct file *user_file, poll_table *pt) +firegl_interrupt_poll_wrap(struct file *user_file, struct poll_table_struct *pt) { if(firegl_interrupt_poll(user_file, (__ke_poll_table*)pt)) { @@ -1491,7 +1491,8 @@ int ATI_API_CALL firegl_put_user_ptr(void *src, u32 *dst) { void *temp = src; - return put_user(temp, dst); + void *dst_temp = dst; + return put_user(temp, dst_temp); } int ATI_API_CALL firegl_put_user_u16(u16 src, u16 *dst) @@ -1883,7 +1884,7 @@ __ke_pci_dev_t* ATI_API_CALL __ke_pci_find_device (unsigned int vendor, unsigned int dev, __ke_pci_dev_t* from) { - return (__ke_pci_dev_t*)pci_find_device( vendor, dev, (struct pci_dev *)(void *)from ); + return (__ke_pci_dev_t*) pci_get_device(vendor, dev, (struct pci_dev *)(void *) from); } void* ATI_API_CALL __ke_malloc(__ke_size_t size) @@ -2813,9 +2814,9 @@ #else static void ATI_API_CALL (*irq_handler_func)(int, void*, void*); /* function pointer variable */ -static irqreturn_t ke_irq_handler_wrap(int irq, void *arg1, struct pt_regs *regs) +static irqreturn_t ke_irq_handler_wrap(int irq, void *arg1) { - irq_handler_func(irq, arg1, regs); + irq_handler_func(irq, arg1, NULL); return IRQ_HANDLED; } @@ -2826,7 +2827,7 @@ irq_handler_func = handler; return request_irq(irq, ke_irq_handler_wrap, - SA_SHIRQ, dev_name, dev_id); + IRQF_SHARED, dev_name, dev_id); } void ATI_API_CALL __ke_free_irq(unsigned int irq, void *dev_id) @@ -2848,9 +2849,7 @@ void ATI_API_CALL __ke_unregister_ioctl32_conversion(unsigned int cmd) { -#ifdef FIREGL_IOCTL_COMPAT - return 0; -#else +#ifndef FIREGL_IOCTL_COMPAT unregister_ioctl32_conversion(cmd); #endif } @@ -4353,7 +4352,7 @@ void ATI_API_CALL KCL_CallFuncOnOtherCpus(firegl_void_routine_t func_to_call) { #ifdef CONFIG_SMP - smp_call_function( firegl_smp_func_parameter_wrap, (void*)func_to_call, 0, 1 ); + smp_call_function( (void (*)(void *info)) func_to_call, NULL, 0, 1 ); #endif } @@ -5303,7 +5302,7 @@ /** \brief Type definition of the structure describing Slab Cache object */ typedef struct tag_kasSlabCache_t { - kmem_cache_t* cache; /* OS slab cache object */ + struct kmem_cache* cache; /* OS slab cache object */ spinlock_t lock; /* OS spinlock object protecting the cache */ unsigned int routine_type; /* Type of routine the cache might be accessed from */ char name[14]; /* Cache object name (kernel 2.4 restricts its length to 19 chars) */ @@ -5344,7 +5343,7 @@ slabcache_obj->routine_type = access_type; spin_lock_init(&(slabcache_obj->lock)); - sprintf(slabcache_obj->name, "kas(%08X)", (unsigned int)slabcache_obj); + sprintf(slabcache_obj->name, "kas(%08X)", (unsigned int)(long unsigned int)slabcache_obj); DBG_TRACE("creating slab object '%s'", slabcache_obj->name);