[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;
}