--- a/Embedded/src/GPIO/gpio.h +++ b/Embedded/src/GPIO/gpio.h @@ -121,8 +121,7 @@ int gpio_init(void); void gpio_close(void); int gpio_open(struct inode *inode, struct file *filp); int gpio_release(struct inode *inode, struct file *filp); -int gpio_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, - unsigned long arg); +long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg); // private driver functions int gpio_getpininfo(int Signal, char *pBuff); @@ -134,7 +133,7 @@ struct file_operations file_ops = .owner = THIS_MODULE, .open = gpio_open, .release = gpio_release, - .ioctl = gpio_ioctl, + .unlocked_ioctl = gpio_ioctl, }; #endif --- a/Embedded/src/GPIO/gpio_ref.c +++ b/Embedded/src/GPIO/gpio_ref.c @@ -251,8 +251,7 @@ int gpio_release(struct inode *inode, st 0 => success < 0 => error ******************************************************************************/ -int gpio_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, - unsigned long arg) +long gpio_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) { gpio_ioctl_t Info; u_int bitstr = 0;