summaryrefslogtreecommitdiff
path: root/drivers/video/tegra/dc/ext
diff options
context:
space:
mode:
authorAdam Cheney <acheney@nvidia.com>2012-03-01 16:44:43 -0800
committerSimone Willett <swillett@nvidia.com>2012-03-08 14:45:36 -0800
commit0bb7a7beaa19a77046220b18bd5c76e45662743b (patch)
tree6a9831284e9c418d1f0bcd51b29dc80794f81d29 /drivers/video/tegra/dc/ext
parentc44000ccf6797d062ebef7ec610b7189a1126018 (diff)
video: tegra: implement DC capabilities ioctl
The returned capabilities bitfield is initially 0 (no caps). bug 942631 Change-Id: Ia7496981e525526147ecebe67b09dc877d3e0c17 Reviewed-on: http://git-master/r/87088 Tested-by: Adam Cheney <acheney@nvidia.com> Reviewed-by: Robert Morell <rmorell@nvidia.com>
Diffstat (limited to 'drivers/video/tegra/dc/ext')
-rw-r--r--drivers/video/tegra/dc/ext/control.c18
-rw-r--r--drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h2
2 files changed, 20 insertions, 0 deletions
diff --git a/drivers/video/tegra/dc/ext/control.c b/drivers/video/tegra/dc/ext/control.c
index f6fb3c0d9006..9caf3e11c16c 100644
--- a/drivers/video/tegra/dc/ext/control.c
+++ b/drivers/video/tegra/dc/ext/control.c
@@ -128,6 +128,12 @@ static int set_event_mask(struct tegra_dc_ext_control_user *user, u32 mask)
return 0;
}
+static int get_capabilities(struct tegra_dc_ext_control_capabilities *caps)
+{
+ caps->caps = TEGRA_DC_EXT_CAPABILITIES;
+ return 0;
+}
+
static long tegra_dc_ext_control_ioctl(struct file *filp, unsigned int cmd,
unsigned long arg)
{
@@ -176,6 +182,18 @@ static long tegra_dc_ext_control_ioctl(struct file *filp, unsigned int cmd,
}
case TEGRA_DC_EXT_CONTROL_SET_EVENT_MASK:
return set_event_mask(user, (u32) arg);
+ case TEGRA_DC_EXT_CONTROL_GET_CAPABILITIES:
+ {
+ struct tegra_dc_ext_control_capabilities args;
+ int ret;
+
+ ret = get_capabilities(&args);
+
+ if (copy_to_user(user_arg, &args, sizeof(args)))
+ return -EFAULT;
+
+ return ret;
+ }
default:
return -EINVAL;
}
diff --git a/drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h b/drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h
index 54a10b2c8682..abebd5970ecb 100644
--- a/drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h
+++ b/drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h
@@ -90,6 +90,8 @@ struct tegra_dc_ext_event_list {
struct list_head list;
};
+#define TEGRA_DC_EXT_CAPABILITIES 0
+
struct tegra_dc_ext_control_user {
struct tegra_dc_ext_control *control;