Commit 7ced4801 authored by Daniel Vetter's avatar Daniel Vetter

drm/gm12u320: Don't use drm_device->dev_private

Upcasting using a container_of macro is more typesafe, faster and
easier for the compiler to optimize.
Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
Reviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
Cc: Hans de Goede <hdegoede@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200415074034.175360-23-daniel.vetter@ffwll.ch
parent 9213142d
...@@ -98,6 +98,8 @@ struct gm12u320_device { ...@@ -98,6 +98,8 @@ struct gm12u320_device {
} fb_update; } fb_update;
}; };
#define to_gm12u320(__dev) container_of(__dev, struct gm12u320_device, dev)
static const char cmd_data[CMD_SIZE] = { static const char cmd_data[CMD_SIZE] = {
0x55, 0x53, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00, 0x55, 0x53, 0x42, 0x43, 0x00, 0x00, 0x00, 0x00,
0x68, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff, 0x68, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x10, 0xff,
...@@ -408,7 +410,7 @@ static void gm12u320_fb_update_work(struct work_struct *work) ...@@ -408,7 +410,7 @@ static void gm12u320_fb_update_work(struct work_struct *work)
static void gm12u320_fb_mark_dirty(struct drm_framebuffer *fb, static void gm12u320_fb_mark_dirty(struct drm_framebuffer *fb,
struct drm_rect *dirty) struct drm_rect *dirty)
{ {
struct gm12u320_device *gm12u320 = fb->dev->dev_private; struct gm12u320_device *gm12u320 = to_gm12u320(fb->dev);
struct drm_framebuffer *old_fb = NULL; struct drm_framebuffer *old_fb = NULL;
bool wakeup = false; bool wakeup = false;
...@@ -558,7 +560,7 @@ static void gm12u320_pipe_enable(struct drm_simple_display_pipe *pipe, ...@@ -558,7 +560,7 @@ static void gm12u320_pipe_enable(struct drm_simple_display_pipe *pipe,
struct drm_plane_state *plane_state) struct drm_plane_state *plane_state)
{ {
struct drm_rect rect = { 0, 0, GM12U320_USER_WIDTH, GM12U320_HEIGHT }; struct drm_rect rect = { 0, 0, GM12U320_USER_WIDTH, GM12U320_HEIGHT };
struct gm12u320_device *gm12u320 = pipe->crtc.dev->dev_private; struct gm12u320_device *gm12u320 = to_gm12u320(pipe->crtc.dev);
gm12u320->fb_update.draw_status_timeout = FIRST_FRAME_TIMEOUT; gm12u320->fb_update.draw_status_timeout = FIRST_FRAME_TIMEOUT;
gm12u320_fb_mark_dirty(plane_state->fb, &rect); gm12u320_fb_mark_dirty(plane_state->fb, &rect);
...@@ -566,7 +568,7 @@ static void gm12u320_pipe_enable(struct drm_simple_display_pipe *pipe, ...@@ -566,7 +568,7 @@ static void gm12u320_pipe_enable(struct drm_simple_display_pipe *pipe,
static void gm12u320_pipe_disable(struct drm_simple_display_pipe *pipe) static void gm12u320_pipe_disable(struct drm_simple_display_pipe *pipe)
{ {
struct gm12u320_device *gm12u320 = pipe->crtc.dev->dev_private; struct gm12u320_device *gm12u320 = to_gm12u320(pipe->crtc.dev);
gm12u320_stop_fb_update(gm12u320); gm12u320_stop_fb_update(gm12u320);
} }
...@@ -641,7 +643,6 @@ static int gm12u320_usb_probe(struct usb_interface *interface, ...@@ -641,7 +643,6 @@ static int gm12u320_usb_probe(struct usb_interface *interface,
mutex_init(&gm12u320->fb_update.lock); mutex_init(&gm12u320->fb_update.lock);
dev = &gm12u320->dev; dev = &gm12u320->dev;
dev->dev_private = gm12u320;
ret = drmm_mode_config_init(dev); ret = drmm_mode_config_init(dev);
if (ret) if (ret)
...@@ -706,7 +707,7 @@ static __maybe_unused int gm12u320_suspend(struct usb_interface *interface, ...@@ -706,7 +707,7 @@ static __maybe_unused int gm12u320_suspend(struct usb_interface *interface,
static __maybe_unused int gm12u320_resume(struct usb_interface *interface) static __maybe_unused int gm12u320_resume(struct usb_interface *interface)
{ {
struct drm_device *dev = usb_get_intfdata(interface); struct drm_device *dev = usb_get_intfdata(interface);
struct gm12u320_device *gm12u320 = dev->dev_private; struct gm12u320_device *gm12u320 = to_gm12u320(dev);
gm12u320_set_ecomode(gm12u320); gm12u320_set_ecomode(gm12u320);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment