[ram-nand] Switch to new way of unbind devices.

Use ioctl_device_unbind instead of a dedicated interface.

Test: Current unit tests.
ZX-2804 # port ram-nand to new interface.

Change-Id: Id5106cbfafffb4b896ad9456528498d826b0cf4f
diff --git a/system/dev/nand/broker/test/main.cpp b/system/dev/nand/broker/test/main.cpp
index 9e806ff..732b466 100644
--- a/system/dev/nand/broker/test/main.cpp
+++ b/system/dev/nand/broker/test/main.cpp
@@ -8,7 +8,6 @@
 #include <getopt.h>
 
 #include <fs-management/ram-nand.h>
-#include <lib/fzl/fdio.h>
 #include <unittest/unittest.h>
 #include <zircon/assert.h>
 #include <zircon/device/device.h>
@@ -78,9 +77,7 @@
 
 ParentDevice::~ParentDevice() {
     if (ram_nand_) {
-        fzl::FdioCaller caller(fbl::move(ram_nand_));
-        zx_status_t status;
-        zircon_nand_RamNandUnlink(caller.borrow_channel(), &status);
+        ioctl_device_unbind(ram_nand_.get());
     }
 }
 
diff --git a/system/ulib/fs-management/ram-nand.cpp b/system/ulib/fs-management/ram-nand.cpp
index 7b01eb5..815e149 100644
--- a/system/ulib/fs-management/ram-nand.cpp
+++ b/system/ulib/fs-management/ram-nand.cpp
@@ -11,7 +11,7 @@
 
 #include <fbl/unique_fd.h>
 #include <lib/fzl/fdio.h>
-#include <zircon/device/ram-nand.h>
+#include <zircon/device/device.h>
 #include <zircon/types.h>
 #include <zircon/nand/c/fidl.h>
 
@@ -48,14 +48,10 @@
         fprintf(stderr, "Could not open ram_nand\n");
         return ZX_ERR_BAD_STATE;
     }
-    fzl::FdioCaller caller(fbl::move(ram_nand));
 
-    zx_status_t status;
-    zx_status_t io_status = zircon_nand_RamNandUnlink(caller.borrow_channel(), &status);
-    if (io_status != ZX_OK || status != ZX_OK) {
-        status = io_status != ZX_OK ? io_status : status;
+    zx_status_t status = static_cast<zx_status_t>(ioctl_device_unbind(ram_nand.get()));
+    if (status != ZX_OK) {
         fprintf(stderr, "Could not unlink ram_nand, %d\n", status);
-        return status;
     }
-    return ZX_OK;
+    return status;
 }