Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c7e5a22 authored by Noralf Trønnes's avatar Noralf Trønnes Committed by Liviu Dudau
Browse files

drm/arm/hdlcd: Use drm_mode_config_helper_suspend/resume()



Replace driver's code with the generic helpers that do the same thing
including the NULL check.

Cc: Liviu Dudau <liviu.dudau@arm.com>
Cc: Brian Starkey <brian.starkey@arm.com>
Signed-off-by: default avatarNoralf Trønnes <noralf@tronnes.org>
Signed-off-by: default avatarLiviu Dudau <liviu.dudau@arm.com>
parent 3fce4618
Loading
Loading
Loading
Loading
+3 −22
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
#include <drm/drm_fb_cma_helper.h>
#include <drm/drm_gem_cma_helper.h>
#include <drm/drm_gem_framebuffer_helper.h>
#include <drm/drm_modeset_helper.h>
#include <drm/drm_of.h>

#include "hdlcd_drv.h"
@@ -427,35 +428,15 @@ MODULE_DEVICE_TABLE(of, hdlcd_of_match);
static int __maybe_unused hdlcd_pm_suspend(struct device *dev)
{
	struct drm_device *drm = dev_get_drvdata(dev);
	struct hdlcd_drm_private *hdlcd = drm ? drm->dev_private : NULL;

	if (!hdlcd)
		return 0;

	drm_kms_helper_poll_disable(drm);
	drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 1);

	hdlcd->state = drm_atomic_helper_suspend(drm);
	if (IS_ERR(hdlcd->state)) {
		drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0);
		drm_kms_helper_poll_enable(drm);
		return PTR_ERR(hdlcd->state);
	}

	return 0;
	return drm_mode_config_helper_suspend(drm);
}

static int __maybe_unused hdlcd_pm_resume(struct device *dev)
{
	struct drm_device *drm = dev_get_drvdata(dev);
	struct hdlcd_drm_private *hdlcd = drm ? drm->dev_private : NULL;

	if (!hdlcd)
		return 0;

	drm_atomic_helper_resume(drm, hdlcd->state);
	drm_fbdev_cma_set_suspend_unlocked(hdlcd->fbdev, 0);
	drm_kms_helper_poll_enable(drm);
	drm_mode_config_helper_resume(drm);

	return 0;
}
+0 −1
Original line number Diff line number Diff line
@@ -12,7 +12,6 @@ struct hdlcd_drm_private {
	struct drm_fbdev_cma		*fbdev;
	struct drm_crtc			crtc;
	struct drm_plane		*plane;
	struct drm_atomic_state		*state;
#ifdef CONFIG_DEBUG_FS
	atomic_t buffer_underrun_count;
	atomic_t bus_error_count;