Add generalised service provider

Adds common service provider that receives call requests and delegates
them to the approprate handle provided by a concrete service provider.

Change-Id: I4f0b913938b4ecc9710f57c99025388262c145d7
Signed-off-by: Julian Hall <julian.hall@arm.com>
diff --git a/components/service/common/provider/component.cmake b/components/service/common/provider/component.cmake
new file mode 100644
index 0000000..86bdf49
--- /dev/null
+++ b/components/service/common/provider/component.cmake
@@ -0,0 +1,19 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2020, Arm Limited and Contributors. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+if (NOT DEFINED TGT)
+	message(FATAL_ERROR "mandatory parameter TGT is not defined.")
+endif()
+
+target_sources(${TGT} PRIVATE
+	"${CMAKE_CURRENT_LIST_DIR}/service_provider.c"
+	)
+
+
+target_include_directories(${TGT}
+	 PRIVATE
+		"${CMAKE_CURRENT_LIST_DIR}"
+	)