Same problem under 2.6.38-2 Here's the patch that makes compilation and install work fine for me.
Regards, Stephane
diff -urN modules/acerhk/acerhk.c modules/acerhk-2.6.38-2/acerhk.c --- modules/acerhk/acerhk.c 2009-07-02 23:48:23.000000000 +0200 +++ modules/acerhk-2.6.38-2/acerhk.c 2011-04-17 18:54:35.000000000 +0200 @@ -36,7 +36,7 @@ */ #ifndef AUTOCONF_INCLUDED -#include <linux/config.h> +//#include <linux/config.h> #endif /* This driver is heavily dependent on the architecture, don't let @@ -2827,8 +2827,7 @@ /* {{{ file operations */ -static int acerhk_ioctl( struct inode *inode, struct file *file, - unsigned int cmd, unsigned long arg ) +static long acerhk_unlocked_ioctl(struct file *file,unsigned int cmd, unsigned long arg ) { int retval; switch( cmd ) { @@ -2938,7 +2937,7 @@ static struct file_operations acerhk_fops = { owner: THIS_MODULE, - ioctl: acerhk_ioctl, + unlocked_ioctl: acerhk_unlocked_ioctl, open: acerhk_open, #ifdef ACERDEBUG write: acerhk_write, diff -urN modules/acerhk/Makefile modules/acerhk-2.6.38-2/Makefile --- modules/acerhk/Makefile 2009-07-02 23:48:23.000000000 +0200 +++ modules/acerhk-2.6.38-2/Makefile 2011-04-17 18:50:28.000000000 +0200 @@ -3,7 +3,7 @@ #KERNELSRC=/usr/src/linux KERNELSRC?=/lib/modules/`uname -r`/build # Starting with 2.6.18, the kernel version is in utsrelease.h instead of version.h, accomodate both cases -KERNELVERSION=$(shell awk -F\" '/REL/ {print $$2}' $(shell grep -s -l REL $(KERNELSRC)/include/linux/version.h $(KERNELSRC)/include/linux/utsrelease.h)) +KERNELVERSION=$(shell awk -F\" '/REL/ {print $$2}' $(shell grep -s -l REL $(KERNELSRC)/include/linux/version.h $(KERNELSRC)/include/generated/utsrelease.h)) KERNELMAJOR=$(shell echo $(KERNELVERSION)|head -c3) # next line is for kernel 2.6, if you integrate the driver in the kernel tree