Commit 3b76287c authored by Bjorn Andersson's avatar Bjorn Andersson Committed by Dmitry Baryshkov
Browse files

drm/msm/dp: Drop unused dp_debug struct



The members of struct dp_debug are no longer used, so the only purpose
of this struct is as a type of the return value of dp_debug_get(), to
signal success/error.

Drop the struct in favor of signalling the result of initialization
using an int, then merge dp_debug_get() with dp_debug_init() to avoid
the unnecessar boilerplate code.

Signed-off-by: default avatarBjorn Andersson <quic_bjorande@quicinc.com>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/585343/
Link: https://lore.kernel.org/r/20240328-msm-dp-cleanup-v2-1-a5aed9798d32@quicinc.com


Signed-off-by: default avatarDmitry Baryshkov <dmitry.baryshkov@linaro.org>
parent 775ce4ba
Loading
Loading
Loading
Loading
+18 −41
Original line number Diff line number Diff line
@@ -21,8 +21,6 @@ struct dp_debug_private {
	struct dp_link *link;
	struct dp_panel *panel;
	struct drm_connector *connector;

	struct dp_debug dp_debug;
};

static int dp_debug_show(struct seq_file *seq, void *p)
@@ -199,10 +197,24 @@ static const struct file_operations test_active_fops = {
	.write = dp_test_active_write
};

static void dp_debug_init(struct dp_debug *dp_debug, struct dentry *root, bool is_edp)
int dp_debug_init(struct device *dev, struct dp_panel *panel,
		  struct dp_link *link,
		  struct drm_connector *connector,
		  struct dentry *root, bool is_edp)
{
	struct dp_debug_private *debug = container_of(dp_debug,
			struct dp_debug_private, dp_debug);
	struct dp_debug_private *debug;

	if (!dev || !panel || !link) {
		DRM_ERROR("invalid input\n");
		return -EINVAL;
	}

	debug = devm_kzalloc(dev, sizeof(*debug), GFP_KERNEL);
	if (!debug)
		return -ENOMEM;

	debug->link = link;
	debug->panel = panel;

	debugfs_create_file("dp_debug", 0444, root,
			debug, &dp_debug_fops);
@@ -220,41 +232,6 @@ static void dp_debug_init(struct dp_debug *dp_debug, struct dentry *root, bool i
				    root,
				    debug, &dp_test_type_fops);
	}
}

struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel,
		struct dp_link *link,
		struct drm_connector *connector,
		struct dentry *root, bool is_edp)
{
	struct dp_debug_private *debug;
	struct dp_debug *dp_debug;
	int rc;

	if (!dev || !panel || !link) {
		DRM_ERROR("invalid input\n");
		rc = -EINVAL;
		goto error;
	}

	debug = devm_kzalloc(dev, sizeof(*debug), GFP_KERNEL);
	if (!debug) {
		rc = -ENOMEM;
		goto error;
	}

	debug->dp_debug.debug_en = false;
	debug->link = link;
	debug->panel = panel;

	dp_debug = &debug->dp_debug;
	dp_debug->vdisplay = 0;
	dp_debug->hdisplay = 0;
	dp_debug->vrefresh = 0;

	dp_debug_init(dp_debug, root, is_edp);

	return dp_debug;
 error:
	return ERR_PTR(rc);
	return 0;
}
+11 −27
Original line number Diff line number Diff line
@@ -9,22 +9,6 @@
#include "dp_panel.h"
#include "dp_link.h"

/**
 * struct dp_debug
 * @debug_en: specifies whether debug mode enabled
 * @vdisplay: used to filter out vdisplay value
 * @hdisplay: used to filter out hdisplay value
 * @vrefresh: used to filter out vrefresh value
 * @tpg_state: specifies whether tpg feature is enabled
 */
struct dp_debug {
	bool debug_en;
	int aspect_ratio;
	int vdisplay;
	int hdisplay;
	int vrefresh;
};

#if defined(CONFIG_DEBUG_FS)

/**
@@ -41,7 +25,7 @@ struct dp_debug {
 * This function sets up the debug module and provides a way
 * for debugfs input to be communicated with existing modules
 */
struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel,
int dp_debug_init(struct device *dev, struct dp_panel *panel,
		  struct dp_link *link,
		  struct drm_connector *connector,
		  struct dentry *root,
@@ -50,13 +34,13 @@ struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel,
#else

static inline
struct dp_debug *dp_debug_get(struct device *dev, struct dp_panel *panel,
int dp_debug_init(struct device *dev, struct dp_panel *panel,
		  struct dp_link *link,
		  struct drm_connector *connector,
		  struct dentry *root,
		  bool is_edp)
{
	return ERR_PTR(-EINVAL);
	return -EINVAL;
}

#endif /* defined(CONFIG_DEBUG_FS) */
+2 −8
Original line number Diff line number Diff line
@@ -93,7 +93,6 @@ struct dp_display_private {
	struct dp_link    *link;
	struct dp_panel   *panel;
	struct dp_ctrl    *ctrl;
	struct dp_debug   *debug;

	struct dp_display_mode dp_mode;
	struct msm_dp dp_display;
@@ -1459,14 +1458,9 @@ void dp_display_debugfs_init(struct msm_dp *dp_display, struct dentry *root, boo
	dp = container_of(dp_display, struct dp_display_private, dp_display);
	dev = &dp->dp_display.pdev->dev;

	dp->debug = dp_debug_get(dev, dp->panel,
					dp->link, dp->dp_display.connector,
					root, is_edp);
	if (IS_ERR(dp->debug)) {
		rc = PTR_ERR(dp->debug);
	rc = dp_debug_init(dev, dp->panel, dp->link, dp->dp_display.connector, root, is_edp);
	if (rc)
		DRM_ERROR("failed to initialize debug, rc = %d\n", rc);
		dp->debug = NULL;
	}
}

int msm_dp_modeset_init(struct msm_dp *dp_display, struct drm_device *dev,