Browse Source

disp: msm: hdcp: fix compilation of msm_hdcp module on GKI

Add stub functions for msm_hdcp module in order to prevent
linker issues when CONFIG_HDCP_QSEECOM is not defined, marked
as not disabled or defined as module. Furthermore, a Kbuild
entry for the msm_hdcp.h file so that it is exported.

Change-Id: I0f102bf4c9722d95b897facdab94d83e32f7d29f
Signed-off-by: Tatenda Chipeperekwa <[email protected]>
Tatenda Chipeperekwa 5 years ago
parent
commit
cf0e14d185
3 changed files with 20 additions and 0 deletions
  1. 3 0
      hdcp/msm_hdcp.c
  2. 1 0
      include/linux/Kbuild
  3. 16 0
      include/linux/msm_hdcp.h

+ 3 - 0
hdcp/msm_hdcp.c

@@ -53,6 +53,7 @@ void msm_hdcp_register_cb(struct device *dev, void *ctx,
 	hdcp->cb = cb;
 	hdcp->cb = cb;
 	hdcp->client_ctx = ctx;
 	hdcp->client_ctx = ctx;
 }
 }
+EXPORT_SYMBOL(msm_hdcp_register_cb);
 
 
 void msm_hdcp_notify_topology(struct device *dev)
 void msm_hdcp_notify_topology(struct device *dev)
 {
 {
@@ -82,6 +83,7 @@ void msm_hdcp_notify_topology(struct device *dev)
 
 
 	kobject_uevent_env(&hdcp->device->kobj, KOBJ_CHANGE, envp);
 	kobject_uevent_env(&hdcp->device->kobj, KOBJ_CHANGE, envp);
 }
 }
+EXPORT_SYMBOL(msm_hdcp_notify_topology);
 
 
 void msm_hdcp_cache_repeater_topology(struct device *dev,
 void msm_hdcp_cache_repeater_topology(struct device *dev,
 			struct HDCP_V2V1_MSG_TOPOLOGY *tp)
 			struct HDCP_V2V1_MSG_TOPOLOGY *tp)
@@ -102,6 +104,7 @@ void msm_hdcp_cache_repeater_topology(struct device *dev,
 	memcpy(&hdcp->cached_tp, tp,
 	memcpy(&hdcp->cached_tp, tp,
 		   sizeof(struct HDCP_V2V1_MSG_TOPOLOGY));
 		   sizeof(struct HDCP_V2V1_MSG_TOPOLOGY));
 }
 }
+EXPORT_SYMBOL(msm_hdcp_cache_repeater_topology);
 
 
 static ssize_t tp_show(struct device *dev, struct device_attribute *attr,
 static ssize_t tp_show(struct device *dev, struct device_attribute *attr,
 		char *buf)
 		char *buf)

+ 1 - 0
include/linux/Kbuild

@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note
 # SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note
 
 
+header-y += msm_hdcp.h
 header-y += sde_io_util.h
 header-y += sde_io_util.h
 header-y += sde_rsc.h
 header-y += sde_rsc.h
 
 

+ 16 - 0
include/linux/msm_hdcp.h

@@ -8,10 +8,26 @@
 #include <linux/types.h>
 #include <linux/types.h>
 #include "hdcp/msm_hdmi_hdcp_mgr.h"
 #include "hdcp/msm_hdmi_hdcp_mgr.h"
 
 
+#if IS_ENABLED(CONFIG_HDCP_QSEECOM)
 void msm_hdcp_notify_topology(struct device *dev);
 void msm_hdcp_notify_topology(struct device *dev);
 void msm_hdcp_cache_repeater_topology(struct device *dev,
 void msm_hdcp_cache_repeater_topology(struct device *dev,
 			struct HDCP_V2V1_MSG_TOPOLOGY *tp);
 			struct HDCP_V2V1_MSG_TOPOLOGY *tp);
 void msm_hdcp_register_cb(struct device *dev, void *ctx,
 void msm_hdcp_register_cb(struct device *dev, void *ctx,
 	void (*cb)(void *ctx, u8 data));
 	void (*cb)(void *ctx, u8 data));
+#else
+static inline void msm_hdcp_notify_topology(struct device *dev)
+{
+}
+
+static inline void msm_hdcp_cache_repeater_topology(struct device *dev,
+			struct HDCP_V2V1_MSG_TOPOLOGY *tp)
+{
+}
+
+static inline void msm_hdcp_register_cb(struct device *dev, void *ctx,
+	void (*cb)(void *ctx, u8 data))
+{
+}
+#endif /* CONFIG_HDCP_QSEECOM*/
 
 
 #endif /* __MSM_HDCP_H */
 #endif /* __MSM_HDCP_H */