summaryrefslogtreecommitdiff
path: root/shared-core/via_map.c
diff options
context:
space:
mode:
authorRobert Noland <rnoland@2hip.net>2009-02-25 17:59:26 -0600
committerRobert Noland <rnoland@2hip.net>2009-02-27 18:16:17 -0600
commit957b10695b619d6ed2f1098b00502395d9a3c149 (patch)
tree73ece8ec6f01018ea9fc920ee04992ec5e0fee2b /shared-core/via_map.c
parent7ce8d4c1fec618ac2578ea0ddb8915b1b41ab9cb (diff)
Move vblank_init to driver load time.
Diffstat (limited to 'shared-core/via_map.c')
-rw-r--r--shared-core/via_map.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/shared-core/via_map.c b/shared-core/via_map.c
index 54934367..5dee6a70 100644
--- a/shared-core/via_map.c
+++ b/shared-core/via_map.c
@@ -121,9 +121,19 @@ int via_driver_load(struct drm_device *dev, unsigned long chipset)
ret = drm_sman_init(&dev_priv->sman, 2, 12, 8);
if (ret) {
drm_free(dev_priv, sizeof(*dev_priv), DRM_MEM_DRIVER);
+ return ret;
}
#endif
- return ret;
+
+ ret = drm_vblank_init(dev, 1);
+ if (ret) {
+ drm_sman_takedown(&dev_priv->sman);
+ drm_free(dev_priv, sizeof(drm_via_private_t), DRM_MEM_DRIVER);
+ return ret;
+ }
+
+ return 0;
+
}
int via_driver_unload(struct drm_device *dev)