Browse Source

fix the gpio_dev driver: remove existing forward port patches, use unlocked_ioctl on all platforms and fix the arguments to the ioctl handler (based on patch from #9198)

SVN-Revision: 27322
Felix Fietkau 14 years ago
parent
commit
a41f80bca1

+ 3 - 3
target/linux/generic/files/drivers/char/gpio_dev.c

@@ -32,6 +32,7 @@
 #include <linux/device.h>
 #include <linux/platform_device.h>
 #include <linux/gpio_dev.h>
+#include <linux/fs.h>
 
 #define DRVNAME		"gpiodev"
 #define DEVNAME		"gpio"
@@ -42,8 +43,7 @@ static struct class *gpiodev_class;
 
 /* third argument of user space ioctl ('arg' here) contains the <pin> */
 static int
-gpio_ioctl(struct inode * inode, struct file * file, unsigned int cmd,
-	   unsigned long arg)
+gpio_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 {
 	int retval = 0;
 
@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct file * file)
 }
 
 struct file_operations gpio_fops = {
-	ioctl:		gpio_ioctl,
+	unlocked_ioctl:	gpio_ioctl,
 	open:		gpio_open,
 	release:	gpio_close
 };

+ 0 - 11
target/linux/generic/patches-2.6.36/411-gpio_ioctl.patch

@@ -1,11 +0,0 @@
---- a/drivers/char/gpio_dev.c
-+++ b/drivers/char/gpio_dev.c
-@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct 
- }
- 
- struct file_operations gpio_fops = {
--	ioctl:		gpio_ioctl,
-+	unlocked_ioctl:	gpio_ioctl,
- 	open:		gpio_open,
- 	release:	gpio_close
- };

+ 0 - 11
target/linux/generic/patches-2.6.37/834-gpio_ioctl.patch

@@ -1,11 +0,0 @@
---- a/drivers/char/gpio_dev.c
-+++ b/drivers/char/gpio_dev.c
-@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct
- }
- 
- struct file_operations gpio_fops = {
--	ioctl:		gpio_ioctl,
-+	unlocked_ioctl:	gpio_ioctl,
- 	open:		gpio_open,
- 	release:	gpio_close
- };

+ 0 - 11
target/linux/generic/patches-2.6.38/834-gpio_ioctl.patch

@@ -1,11 +0,0 @@
---- a/drivers/char/gpio_dev.c
-+++ b/drivers/char/gpio_dev.c
-@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct
- }
- 
- struct file_operations gpio_fops = {
--	ioctl:		gpio_ioctl,
-+	unlocked_ioctl:	gpio_ioctl,
- 	open:		gpio_open,
- 	release:	gpio_close
- };

+ 0 - 11
target/linux/generic/patches-2.6.39/834-gpio_ioctl.patch

@@ -1,11 +0,0 @@
---- a/drivers/char/gpio_dev.c
-+++ b/drivers/char/gpio_dev.c
-@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct
- }
- 
- struct file_operations gpio_fops = {
--	ioctl:		gpio_ioctl,
-+	unlocked_ioctl:	gpio_ioctl,
- 	open:		gpio_open,
- 	release:	gpio_close
- };

+ 0 - 11
target/linux/generic/patches-3.0/834-gpio_ioctl.patch

@@ -1,11 +0,0 @@
---- a/drivers/char/gpio_dev.c
-+++ b/drivers/char/gpio_dev.c
-@@ -114,7 +114,7 @@ gpio_close(struct inode * inode, struct
- }
- 
- struct file_operations gpio_fops = {
--	ioctl:		gpio_ioctl,
-+	unlocked_ioctl:	gpio_ioctl,
- 	open:		gpio_open,
- 	release:	gpio_close
- };