summaryrefslogtreecommitdiffstats
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 14:04:49 +0100
commit3437b2b83f3bdb99ae4ffc2fd1e1608d6e06fffe (patch)
tree12bea9faa08c616504de609c05649448a19a92df /drivers/video/pxa3xx-gcu.c
parentvideo: pxa3xx-gcu: pass around struct device * (diff)
downloadlinux-3437b2b83f3bdb99ae4ffc2fd1e1608d6e06fffe.tar.xz
linux-3437b2b83f3bdb99ae4ffc2fd1e1608d6e06fffe.zip
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 '')
-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,