Takashi Iwai 8fc73d
From 0b33a33bd15d5bab73b87152b220a8d0153a4587 Mon Sep 17 00:00:00 2001
Takashi Iwai 8fc73d
From: Nathan Huckleberry <nhuck@google.com>
Takashi Iwai 8fc73d
Date: Tue, 13 Sep 2022 13:55:48 -0700
Takashi Iwai 8fc73d
Subject: [PATCH] drm/msm: Fix return type of mdp4_lvds_connector_mode_valid
Takashi Iwai 8fc73d
Git-commit: 0b33a33bd15d5bab73b87152b220a8d0153a4587
Takashi Iwai 8fc73d
Patch-mainline: v6.1-rc3
Takashi Iwai 8fc73d
References: git-fixes
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
The mode_valid field in drm_connector_helper_funcs is expected to be of
Takashi Iwai 8fc73d
Type: 
Takashi Iwai 8fc73d
enum drm_mode_status (* mode_valid) (struct drm_connector *connector,
Takashi Iwai 8fc73d
                                     struct drm_display_mode *mode);
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
The mismatched return type breaks forward edge kCFI since the underlying
Takashi Iwai 8fc73d
function definition does not match the function hook definition.
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
The return type of mdp4_lvds_connector_mode_valid should be changed from
Takashi Iwai 8fc73d
int to enum drm_mode_status.
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
Reported-by: Dan Carpenter <error27@gmail.com>
Takashi Iwai 8fc73d
Link: https://github.com/ClangBuiltLinux/linux/issues/1703
Takashi Iwai 8fc73d
Cc: llvm@lists.linux.dev
Takashi Iwai 8fc73d
Signed-off-by: Nathan Huckleberry <nhuck@google.com>
Takashi Iwai 8fc73d
Fixes: 3e87599b68e7 ("drm/msm/mdp4: add LVDS panel support")
Takashi Iwai 8fc73d
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Takashi Iwai 8fc73d
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Takashi Iwai 8fc73d
Patchwork: https://patchwork.freedesktop.org/patch/502878/
Takashi Iwai 8fc73d
Link: https://lore.kernel.org/r/20220913205551.155128-1-nhuck@google.com
Takashi Iwai 8fc73d
Signed-off-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Takashi Iwai 8fc73d
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
---
Takashi Iwai 8fc73d
 drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c | 5 +++--
Takashi Iwai 8fc73d
 1 file changed, 3 insertions(+), 2 deletions(-)
Takashi Iwai 8fc73d
Takashi Iwai 8fc73d
diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
Takashi Iwai 8fc73d
index 7288041dd86a..7444b75c4215 100644
Takashi Iwai 8fc73d
--- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
Takashi Iwai 8fc73d
+++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
Takashi Iwai 8fc73d
@@ -56,8 +56,9 @@ static int mdp4_lvds_connector_get_modes(struct drm_connector *connector)
Takashi Iwai 8fc73d
 	return ret;
Takashi Iwai 8fc73d
 }
Takashi Iwai 8fc73d
 
Takashi Iwai 8fc73d
-static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector,
Takashi Iwai 8fc73d
-				 struct drm_display_mode *mode)
Takashi Iwai 8fc73d
+static enum drm_mode_status
Takashi Iwai 8fc73d
+mdp4_lvds_connector_mode_valid(struct drm_connector *connector,
Takashi Iwai 8fc73d
+			       struct drm_display_mode *mode)
Takashi Iwai 8fc73d
 {
Takashi Iwai 8fc73d
 	struct mdp4_lvds_connector *mdp4_lvds_connector =
Takashi Iwai 8fc73d
 			to_mdp4_lvds_connector(connector);
Takashi Iwai 8fc73d
-- 
Takashi Iwai 8fc73d
2.35.3
Takashi Iwai 8fc73d