]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/gpu/drm/ast/ast_fb.c
Merge branch 'for-3.9/upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
[karo-tx-linux.git] / drivers / gpu / drm / ast / ast_fb.c
index 81763cad9940bcd5335943dcbe341e51219c8df2..34931fe7d2c527ccc8ac6b7db926e1504c2aac70 100644 (file)
@@ -146,9 +146,10 @@ static int astfb_create_object(struct ast_fbdev *afbdev,
        return ret;
 }
 
-static int astfb_create(struct ast_fbdev *afbdev,
+static int astfb_create(struct drm_fb_helper *helper,
                        struct drm_fb_helper_surface_size *sizes)
 {
+       struct ast_fbdev *afbdev = (struct ast_fbdev *)helper;
        struct drm_device *dev = afbdev->helper.dev;
        struct drm_mode_fb_cmd2 mode_cmd;
        struct drm_framebuffer *fb;
@@ -249,26 +250,10 @@ static void ast_fb_gamma_get(struct drm_crtc *crtc, u16 *red, u16 *green,
        *blue = ast_crtc->lut_b[regno] << 8;
 }
 
-static int ast_find_or_create_single(struct drm_fb_helper *helper,
-                                         struct drm_fb_helper_surface_size *sizes)
-{
-       struct ast_fbdev *afbdev = (struct ast_fbdev *)helper;
-       int new_fb = 0;
-       int ret;
-
-       if (!helper->fb) {
-               ret = astfb_create(afbdev, sizes);
-               if (ret)
-                       return ret;
-               new_fb = 1;
-       }
-       return new_fb;
-}
-
 static struct drm_fb_helper_funcs ast_fb_helper_funcs = {
        .gamma_set = ast_fb_gamma_set,
        .gamma_get = ast_fb_gamma_get,
-       .fb_probe = ast_find_or_create_single,
+       .fb_probe = astfb_create,
 };
 
 static void ast_fbdev_destroy(struct drm_device *dev,