summaryrefslogtreecommitdiff
path: root/linux-core/drm_modes.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2007-04-05 13:34:50 +1000
committerDave Airlie <airlied@linux.ie>2007-04-05 13:34:50 +1000
commit5bffbd6e275efffbb649c20c528a11412ccf99cd (patch)
treef13ee4a2a6027d463ea2d11573b8de693cedffc1 /linux-core/drm_modes.c
parent52f9028c84baea81230dc673b756552e8e90aecd (diff)
initial userspace interface to get modes
Diffstat (limited to 'linux-core/drm_modes.c')
-rw-r--r--linux-core/drm_modes.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/linux-core/drm_modes.c b/linux-core/drm_modes.c
index 2347a669..940fc981 100644
--- a/linux-core/drm_modes.c
+++ b/linux-core/drm_modes.c
@@ -115,15 +115,18 @@ void drm_mode_set_crtcinfo(struct drm_display_mode *p, int adjust_flags)
EXPORT_SYMBOL(drm_mode_set_crtcinfo);
-struct drm_display_mode *drm_mode_duplicate(struct drm_display_mode *mode)
+struct drm_display_mode *drm_mode_duplicate(struct drm_device *dev, struct drm_display_mode *mode)
{
struct drm_display_mode *nmode;
+ int new_id;
- nmode = kzalloc(sizeof(struct drm_display_mode), GFP_KERNEL);
+ nmode = drm_crtc_mode_create(dev);
if (!nmode)
return NULL;
+ new_id = nmode->mode_id;
*nmode = *mode;
+ nmode->mode_id = new_id;
INIT_LIST_HEAD(&nmode->head);
return nmode;
}