IO Framework: use standard errno codes as return values

This patch redefines the values of IO_FAIL, IO_NOT_SUPPORTED and
IO_RESOURCES_EXHAUSTED to match the corresponding definitions in
errno.h:

    #define IO_FAIL                     (-ENOENT)
    #define IO_NOT_SUPPORTED            (-ENODEV)
    #define IO_RESOURCES_EXHAUSTED      (-ENOMEM)

NOTE: please note that the IO_FAIL, IO_NOT_SUPPORTED and
IO_RESOURCES_EXHAUSTED definitions are considered deprecated
and their usage should be avoided. Callers should rely on errno.h
definitions when checking the return values of IO functions.

Change-Id: Ic8491aa43384b6ee44951ebfc053a3ded16a80be
diff --git a/docs/porting-guide.md b/docs/porting-guide.md
index c369844..db6038a 100644
--- a/docs/porting-guide.md
+++ b/docs/porting-guide.md
@@ -358,13 +358,12 @@
 
     Defines the maximum number of registered IO devices. Attempting to register
     more devices than this value using `io_register_device()` will fail with
-    IO_RESOURCES_EXHAUSTED.
+    -ENOMEM.
 
 *   **#define : MAX_IO_HANDLES**
 
     Defines the maximum number of open IO handles. Attempting to open more IO
-    entities than this value using `io_open()` will fail with
-    IO_RESOURCES_EXHAUSTED.
+    entities than this value using `io_open()` will fail with -ENOMEM.
 
 If the platform needs to allocate data within the per-cpu data framework in
 BL3-1, it should define the following macro. Currently this is only required if