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