Signed-off-by: Maxime Ripard <[email protected]>
---
Cc: Javier Martinez Canillas <[email protected]>
---
 drivers/gpu/drm/sysfb/drm_sysfb_helper.h  |  4 ++--
 drivers/gpu/drm/sysfb/drm_sysfb_modeset.c | 20 +++++++++-----------
 2 files changed, 11 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/sysfb/drm_sysfb_helper.h 
b/drivers/gpu/drm/sysfb/drm_sysfb_helper.h
index 547f2327af5e..445eb5b5ca06 100644
--- a/drivers/gpu/drm/sysfb/drm_sysfb_helper.h
+++ b/drivers/gpu/drm/sysfb/drm_sysfb_helper.h
@@ -169,16 +169,16 @@ int drm_sysfb_crtc_helper_atomic_check(struct drm_crtc 
*crtc, struct drm_atomic_
 
 #define DRM_SYSFB_CRTC_HELPER_FUNCS \
        .mode_valid = drm_sysfb_crtc_helper_mode_valid, \
        .atomic_check = drm_sysfb_crtc_helper_atomic_check
 
-void drm_sysfb_crtc_reset(struct drm_crtc *crtc);
+struct drm_crtc_state *drm_sysfb_crtc_create_state(struct drm_crtc *crtc);
 struct drm_crtc_state *drm_sysfb_crtc_atomic_duplicate_state(struct drm_crtc 
*crtc);
 void drm_sysfb_crtc_atomic_destroy_state(struct drm_crtc *crtc, struct 
drm_crtc_state *crtc_state);
 
 #define DRM_SYSFB_CRTC_FUNCS \
-       .reset = drm_sysfb_crtc_reset, \
+       .atomic_create_state = drm_sysfb_crtc_create_state, \
        .set_config = drm_atomic_helper_set_config, \
        .page_flip = drm_atomic_helper_page_flip, \
        .atomic_duplicate_state = drm_sysfb_crtc_atomic_duplicate_state, \
        .atomic_destroy_state = drm_sysfb_crtc_atomic_destroy_state
 
diff --git a/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c 
b/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
index d2de29caf89e..ce11ac32fae4 100644
--- a/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
+++ b/drivers/gpu/drm/sysfb/drm_sysfb_modeset.c
@@ -513,27 +513,25 @@ int drm_sysfb_crtc_helper_atomic_check(struct drm_crtc 
*crtc, struct drm_atomic_
 
        return 0;
 }
 EXPORT_SYMBOL(drm_sysfb_crtc_helper_atomic_check);
 
-void drm_sysfb_crtc_reset(struct drm_crtc *crtc)
+struct drm_crtc_state *drm_sysfb_crtc_create_state(struct drm_crtc *crtc)
 {
        struct drm_sysfb_device *sysfb = to_drm_sysfb_device(crtc->dev);
        struct drm_sysfb_crtc_state *sysfb_crtc_state;
 
-       if (crtc->state)
-               
drm_sysfb_crtc_state_destroy(to_drm_sysfb_crtc_state(crtc->state));
-
        sysfb_crtc_state = kzalloc_obj(*sysfb_crtc_state);
-       if (sysfb_crtc_state) {
-               sysfb_crtc_state->format = sysfb->fb_format;
-               __drm_atomic_helper_crtc_reset(crtc, &sysfb_crtc_state->base);
-       } else {
-               __drm_atomic_helper_crtc_reset(crtc, NULL);
-       }
+       if (!sysfb_crtc_state)
+               return ERR_PTR(-ENOMEM);
+
+       sysfb_crtc_state->format = sysfb->fb_format;
+       __drm_atomic_helper_crtc_state_init(&sysfb_crtc_state->base, crtc);
+
+       return &sysfb_crtc_state->base;
 }
-EXPORT_SYMBOL(drm_sysfb_crtc_reset);
+EXPORT_SYMBOL(drm_sysfb_crtc_create_state);
 
 struct drm_crtc_state *drm_sysfb_crtc_atomic_duplicate_state(struct drm_crtc 
*crtc)
 {
        struct drm_device *dev = crtc->dev;
        struct drm_crtc_state *crtc_state = crtc->state;

-- 
2.55.0

Reply via email to