Index: cpukit/ada/rtems.adb
===================================================================
--- cpukit/ada/rtems.adb	(revision b47be20cf5bea51d48fe08d25eba6980f0c3967c)
+++ cpukit/ada/rtems.adb	(revision ad9250cfe3cc696052f18825d03fbfcbe018768c)
@@ -1741,5 +1741,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    ) is
@@ -1747,20 +1746,11 @@
          Major        : RTEMS.Device_Major_Number;
          Minor        : RTEMS.Device_Minor_Number;
-         Argument     : RTEMS.Address;
-         Return_Value : access RTEMS.Unsigned32
+         Argument     : RTEMS.Address
       )  return RTEMS.Status_Codes;
       pragma Import (C, IO_Open_Base, "rtems_io_open");
-      Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value;
-   begin
- 
-      Result := IO_Open_Base (
-         Major,
-         Minor,
-         Argument,
-         Return_Value_Base'Unchecked_Access
-      );
- 
-      Return_Value := Return_Value_Base;
-
+   begin
+ 
+      Result := IO_Open_Base (Major, Minor, Argument);
+ 
    end IO_Open;
  
@@ -1769,5 +1759,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    ) is
@@ -1775,20 +1764,11 @@
          Major        : RTEMS.Device_Major_Number;
          Minor        : RTEMS.Device_Minor_Number;
-         Argument     : RTEMS.Address;
-         Return_Value : access RTEMS.Unsigned32
+         Argument     : RTEMS.Address
       )  return RTEMS.Status_Codes;
       pragma Import (C, IO_Close_Base, "rtems_io_close");
-      Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value;
-   begin
- 
-      Result := IO_Close_Base (
-         Major,
-         Minor,
-         Argument,
-         Return_Value_Base'Unchecked_Access
-      );
- 
-      Return_Value := Return_Value_Base;
-
+   begin
+ 
+      Result := IO_Close_Base (Major, Minor, Argument);
+ 
    end IO_Close;
  
@@ -1797,5 +1777,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    ) is
@@ -1804,19 +1783,10 @@
          Minor        : RTEMS.Device_Minor_Number;
          Argument     : RTEMS.Address;
-         Return_Value : access RTEMS.Unsigned32
       )  return RTEMS.Status_Codes;
       pragma Import (C, IO_Read_Base, "rtems_io_read");
-      Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value;
-   begin
- 
-      Result := IO_Read_Base (
-         Major,
-         Minor,
-         Argument,
-         Return_Value_Base'Unchecked_Access
-      );
- 
-      Return_Value := Return_Value_Base;
-
+   begin
+ 
+      Result := IO_Read_Base (Major, Minor, Argument);
+ 
    end IO_Read;
  
@@ -1825,5 +1795,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    ) is
@@ -1831,20 +1800,11 @@
          Major        : RTEMS.Device_Major_Number;
          Minor        : RTEMS.Device_Minor_Number;
-         Argument     : RTEMS.Address;
-         Return_Value : access RTEMS.Unsigned32
+         Argument     : RTEMS.Address
       )  return RTEMS.Status_Codes;
       pragma Import (C, IO_Write_Base, "rtems_io_write");
-      Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value;
-   begin
- 
-      Result := IO_Write_Base (
-         Major,
-         Minor,
-         Argument,
-         Return_Value_Base'Unchecked_Access
-      );
- 
-      Return_Value := Return_Value_Base;
-
+   begin
+ 
+      Result := IO_Write_Base (Major, Minor, Argument);
+ 
    end IO_Write;
  
@@ -1853,5 +1813,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    ) is
@@ -1859,20 +1818,11 @@
          Major        : RTEMS.Device_Major_Number;
          Minor        : RTEMS.Device_Minor_Number;
-         Argument     : RTEMS.Address;
-         Return_Value : access RTEMS.Unsigned32
+         Argument     : RTEMS.Address
       )  return RTEMS.Status_Codes;
       pragma Import (C, IO_Control_Base, "rtems_io_control");
-      Return_Value_Base : aliased RTEMS.Unsigned32 := Return_Value;
-   begin
- 
-      Result := IO_Control_Base (
-         Major,
-         Minor,
-         Argument,
-         Return_Value_Base'Unchecked_Access
-      );
- 
-      Return_Value := Return_Value_Base;
-
+   begin
+ 
+      Result := IO_Control_Base (Major, Minor, Argument);
+ 
    end IO_Control;
  
Index: cpukit/ada/rtems.ads
===================================================================
--- cpukit/ada/rtems.ads	(revision b47be20cf5bea51d48fe08d25eba6980f0c3967c)
+++ cpukit/ada/rtems.ads	(revision ad9250cfe3cc696052f18825d03fbfcbe018768c)
@@ -1313,5 +1313,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    );
@@ -1321,5 +1320,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    );
@@ -1329,5 +1327,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    );
@@ -1337,5 +1334,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    );
@@ -1345,5 +1341,4 @@
       Minor        : in     RTEMS.Device_Minor_Number;
       Argument     : in     RTEMS.Address;
-      Return_Value :    out RTEMS.Unsigned32;
       Result       :    out RTEMS.Status_Codes
    );
