Upcasting using a container_of macro is more typesafe, faster and
easier for the compiler to optimize.

Acked-by: Eric Anholt <e...@anholt.net>
Acked-by: Sam Ravnborg <s...@ravnborg.org>
Signed-off-by: Daniel Vetter <daniel.vet...@intel.com>
Cc: Dave Airlie <airl...@redhat.com>
Cc: Gerd Hoffmann <kra...@redhat.com>
Cc: Daniel Vetter <daniel.vet...@ffwll.ch>
Cc: "Noralf Trønnes" <nor...@tronnes.org>
Cc: Sam Ravnborg <s...@ravnborg.org>
Cc: Eric Anholt <e...@anholt.net>
Cc: Thomas Zimmermann <tzimmerm...@suse.de>
Cc: virtualization@lists.linux-foundation.org
---
 drivers/gpu/drm/cirrus/cirrus.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/cirrus/cirrus.c b/drivers/gpu/drm/cirrus/cirrus.c
index 4b65637147ba..744a8e337e41 100644
--- a/drivers/gpu/drm/cirrus/cirrus.c
+++ b/drivers/gpu/drm/cirrus/cirrus.c
@@ -59,6 +59,8 @@ struct cirrus_device {
        void __iomem                   *mmio;
 };
 
+#define to_cirrus(_dev) container_of(_dev, struct cirrus_device, dev)
+
 /* ------------------------------------------------------------------ */
 /*
  * The meat of this driver. The core passes us a mode and we have to program
@@ -311,7 +313,7 @@ static int cirrus_mode_set(struct cirrus_device *cirrus,
 static int cirrus_fb_blit_rect(struct drm_framebuffer *fb,
                               struct drm_rect *rect)
 {
-       struct cirrus_device *cirrus = fb->dev->dev_private;
+       struct cirrus_device *cirrus = to_cirrus(fb->dev);
        void *vmap;
        int idx, ret;
 
@@ -436,7 +438,7 @@ static void cirrus_pipe_enable(struct 
drm_simple_display_pipe *pipe,
                               struct drm_crtc_state *crtc_state,
                               struct drm_plane_state *plane_state)
 {
-       struct cirrus_device *cirrus = pipe->crtc.dev->dev_private;
+       struct cirrus_device *cirrus = to_cirrus(pipe->crtc.dev);
 
        cirrus_mode_set(cirrus, &crtc_state->mode, plane_state->fb);
        cirrus_fb_blit_fullscreen(plane_state->fb);
@@ -445,7 +447,7 @@ static void cirrus_pipe_enable(struct 
drm_simple_display_pipe *pipe,
 static void cirrus_pipe_update(struct drm_simple_display_pipe *pipe,
                               struct drm_plane_state *old_state)
 {
-       struct cirrus_device *cirrus = pipe->crtc.dev->dev_private;
+       struct cirrus_device *cirrus = to_cirrus(pipe->crtc.dev);
        struct drm_plane_state *state = pipe->plane.state;
        struct drm_crtc *crtc = &pipe->crtc;
        struct drm_rect rect;
@@ -573,7 +575,6 @@ static int cirrus_pci_probe(struct pci_dev *pdev,
                return PTR_ERR(cirrus);
 
        dev = &cirrus->dev;
-       dev->dev_private = cirrus;
 
        cirrus->vram = devm_ioremap(&pdev->dev, pci_resource_start(pdev, 0),
                                    pci_resource_len(pdev, 0));
-- 
2.25.1

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to