+/* LCOV_EXCL_START */
+EXTERN tdm_error
+tdm_backend_register_func_hwc(tdm_display *dpy, tdm_func_hwc *func_hwc)
+{
+ tdm_backend_module *module;
+
+ TDM_RETURN_VAL_IF_FAIL(TDM_MUTEX_IS_LOCKED(), TDM_ERROR_OPERATION_FAILED);
+
+ BACKEND_FUNC_ENTRY();
+
+ TDM_RETURN_VAL_IF_FAIL(func_hwc != NULL, TDM_ERROR_INVALID_PARAMETER);
+
+ assert(private_display->current_module);
+
+ module = private_display->current_module->module_data;
+ if (_check_abi_version(module, 2, 0) < 0)
+ return TDM_ERROR_BAD_MODULE;
+
+ private_display->current_module->func_hwc = *func_hwc;
+
+ return TDM_ERROR_NONE;
+}
+