summary refs log tree commit diff
path: root/drivers/video/pxa3xx-gcu.c
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2014-03-05 17:12:48 +0100
committerTomi Valkeinen <tomi.valkeinen@ti.com>2014-03-07 15:04:49 +0200
commit3437b2b83f3bdb99ae4ffc2fd1e1608d6e06fffe (patch)
tree12bea9faa08c616504de609c05649448a19a92df /drivers/video/pxa3xx-gcu.c
parent9e4f9675be46d4aaa5832410f384b1b6e9c893a7 (diff)
downloadlinux-3437b2b83f3bdb99ae4ffc2fd1e1608d6e06fffe.tar.gz
video: pxa3xx-gcu: provide an empty .open call
This is necessary in order to make the core set file->private_data to
miscdev in use. We need that information later to dereference the
container of the device, so we can get access to our private struct from
other callbacks.

Signed-off-by: Daniel Mack <zonque@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/video/pxa3xx-gcu.c')
-rw-r--r--drivers/video/pxa3xx-gcu.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/video/pxa3xx-gcu.c b/drivers/video/pxa3xx-gcu.c
index f9961ba91430..73c29ecf080f 100644
--- a/drivers/video/pxa3xx-gcu.c
+++ b/drivers/video/pxa3xx-gcu.c
@@ -373,6 +373,15 @@ static inline struct pxa3xx_gcu_priv *to_pxa3xx_gcu_priv(struct file *file)
 	return container_of(dev, struct pxa3xx_gcu_priv, misc_dev);
 }
 
+/*
+ * provide an empty .open callback, so the core sets file->private_data
+ * for us.
+ */
+static int pxa3xx_gcu_open(struct inode *inode, struct file *file)
+{
+	return 0;
+}
+
 static ssize_t
 pxa3xx_gcu_write(struct file *file, const char *buff,
 		 size_t count, loff_t *offp)
@@ -571,6 +580,7 @@ pxa3xx_gcu_free_buffers(struct device *dev,
 
 static const struct file_operations pxa3xx_gcu_miscdev_fops = {
 	.owner =		THIS_MODULE,
+	.open =			pxa3xx_gcu_open,
 	.write =		pxa3xx_gcu_write,
 	.unlocked_ioctl =	pxa3xx_gcu_ioctl,
 	.mmap =			pxa3xx_gcu_mmap,