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