diff options
author | Adam Cheney <acheney@nvidia.com> | 2012-03-01 16:44:43 -0800 |
---|---|---|
committer | Simone Willett <swillett@nvidia.com> | 2012-03-08 14:45:36 -0800 |
commit | 0bb7a7beaa19a77046220b18bd5c76e45662743b (patch) | |
tree | 6a9831284e9c418d1f0bcd51b29dc80794f81d29 /drivers/video/tegra/dc/ext | |
parent | c44000ccf6797d062ebef7ec610b7189a1126018 (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.c | 18 | ||||
-rw-r--r-- | drivers/video/tegra/dc/ext/tegra_dc_ext_priv.h | 2 |
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; |