]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drm/i915: Use container_of() in the fbdev code
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 31 May 2013 17:07:05 +0000 (20:07 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 3 Jun 2013 11:45:41 +0000 (13:45 +0200)
Use container_of() instead of a cast to get struct intel_fbdev
from struct drm_fb_helper.

Also populate the fb_info->par correctly with the drm_fb_helper pointer
instead of the intel_fbdev pointer.

There's no actual functional change since the drm_fb_helper happens to
be the first member inside intel_fbdev.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_fb.c

index 6b7c3ca2c035e5514c2c333877966ff1cb3d3cfd..3f03e88d5fc516e993721eeed4ea7f6dcbe1991b 100644 (file)
@@ -60,8 +60,9 @@ static struct fb_ops intelfb_ops = {
 static int intelfb_create(struct drm_fb_helper *helper,
                          struct drm_fb_helper_surface_size *sizes)
 {
-       struct intel_fbdev *ifbdev = (struct intel_fbdev *)helper;
-       struct drm_device *dev = ifbdev->helper.dev;
+       struct intel_fbdev *ifbdev =
+               container_of(helper, struct intel_fbdev, helper);
+       struct drm_device *dev = helper->dev;
        struct drm_i915_private *dev_priv = dev->dev_private;
        struct fb_info *info;
        struct drm_framebuffer *fb;
@@ -108,7 +109,7 @@ static int intelfb_create(struct drm_fb_helper *helper,
                goto out_unpin;
        }
 
-       info->par = ifbdev;
+       info->par = helper;
 
        ret = intel_framebuffer_init(dev, &ifbdev->ifb, &mode_cmd, obj);
        if (ret)