summaryrefslogtreecommitdiffstats
path: root/src/usr/devicefw/userif.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-05-18 11:49:26 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2011-06-02 09:54:48 -0500
commit83e18669b6c2322c8eb5f8632ac823877d765e0d (patch)
tree780c62fbc578e5a3b6c362db40b84e468611dd13 /src/usr/devicefw/userif.C
parent40d7b75141080adb8b42cc5ea058c91944e7621e (diff)
downloadtalos-hostboot-83e18669b6c2322c8eb5f8632ac823877d765e0d.tar.gz
talos-hostboot-83e18669b6c2322c8eb5f8632ac823877d765e0d.zip
Device Framework support.
Change-Id: I133f58df309c7fc3a7faa261699eba66a6bae4be Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/98 Tested-by: Jenkins Server Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'src/usr/devicefw/userif.C')
-rw-r--r--src/usr/devicefw/userif.C46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/usr/devicefw/userif.C b/src/usr/devicefw/userif.C
new file mode 100644
index 000000000..3b1f237f8
--- /dev/null
+++ b/src/usr/devicefw/userif.C
@@ -0,0 +1,46 @@
+/** @file driverif.C
+ * Implement the functions from userif.H.
+ */
+
+#include <devicefw/userif.H>
+#include <util/singleton.H>
+
+#include "associator.H"
+
+namespace DeviceFW
+{
+ ErrorHandle_t deviceRead(TargetHandle_t i_target,
+ void* o_buffer, size_t& io_buflen,
+ AccessType i_accessType, ...)
+ {
+ va_list args;
+ ErrorHandle_t errl;
+
+ va_start(args, i_accessType);
+
+ errl = Singleton<Associator>::instance().performOp(
+ READ, i_target, o_buffer, io_buflen,
+ i_accessType, args);
+
+ va_end(args);
+ return errl;
+ }
+
+ ErrorHandle_t deviceWrite(TargetHandle_t i_target,
+ void* i_buffer, size_t& io_buflen,
+ AccessType i_accessType, ...)
+ {
+ va_list args;
+ ErrorHandle_t errl;
+
+ va_start(args, i_accessType);
+
+ errl = Singleton<Associator>::instance().performOp(
+ WRITE, i_target, i_buffer, io_buflen,
+ i_accessType, args);
+
+ va_end(args);
+ return errl;
+ }
+
+};
OpenPOWER on IntegriCloud