staging: mrst: Return ERR_PTR() from fb_create hook
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 14 Dec 2011 22:11:40 +0000 (00:11 +0200)
committerMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Tue, 3 Jul 2012 09:28:54 +0000 (12:28 +0300)
In case of an error, the caller expects ERR_PTR() to be
used instead of returning NULL.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Pauli Nieminen <pauli.nieminen@linux.intel.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
drivers/staging/mrst/drv/psb_fb.c

index 875c73a..f190232 100644 (file)
@@ -248,7 +248,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
                DRM_ERROR("Cannot get meminfo for handle 0x%x\n",
                          (IMG_UINT32)hKernelMemInfo);
 
-               return NULL;
+               return ERR_PTR(ret);
        }
 
        DRM_DEBUG("Got Kernel MemInfo for handle %p\n", hKernelMemInfo);
@@ -256,7 +256,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
        /* JB: TODO not drop, make smarter */
        size = psKernelMemInfo->ui32AllocSize;
        if (size < r->height * r->pitch)
-               return NULL;
+               return ERR_PTR(-ENOSPC);
 
        /* JB: TODO not drop, refcount buffer */
        /* return psb_framebuffer_create(dev, r, bo); */
@@ -264,7 +264,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
        fb = psb_framebuffer_create(dev, r, (void *)psKernelMemInfo);
        if (!fb) {
                DRM_ERROR("failed to allocate fb.\n");
-               return NULL;
+               return ERR_PTR(-ENOMEM);
        }
 
        psbfb = to_psb_fb(fb);
@@ -279,7 +279,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
                if (ret) {
                        DRM_ERROR("map meminfo for 0x%x failed\n",
                                  (IMG_UINT32)hKernelMemInfo);
-                       return NULL;
+                       return ERR_PTR(ret);
                }
                psbfb->offset = (offset << PAGE_SHIFT);
        } else {
@@ -287,7 +287,7 @@ static struct drm_framebuffer *psb_user_framebuffer_create
        }
        info = framebuffer_alloc(0, &dev->pdev->dev);
        if (!info)
-               return NULL;
+               return ERR_PTR(-ENOMEM);
 
        strcpy(info->fix.id, "psbfb");