From 9f0a68ce5afca9d21d34bab83d42fbe4bb0cf8ef Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 31 Oct 2012 11:54:39 +0100 Subject: libblock: Block device transfer request API change Add and use rtems_blkdev_request_done(). Block device transfer requests must signal the completion status now with rtems_blkdev_request_done(). The return value of the block device IO control will be ignored for transfer requests. The first parameter of rtems_blkdev_request_cb is now the transfer request structure. Renamed rtems_blkdev_request::req_done to rtems_blkdev_request::done to break third party drivers at compile time, otherwise this API change would result in runtime errors. --- cpukit/libblock/src/nvdisk.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'cpukit/libblock/src/nvdisk.c') diff --git a/cpukit/libblock/src/nvdisk.c b/cpukit/libblock/src/nvdisk.c index c90f319693..127291df71 100644 --- a/cpukit/libblock/src/nvdisk.c +++ b/cpukit/libblock/src/nvdisk.c @@ -597,10 +597,9 @@ rtems_nvdisk_read (rtems_nvdisk* nvd, rtems_blkdev_request* req) } } - req->status = ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL; - req->req_done (req->done_arg, req->status); + rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL); - return ret; + return 0; } /** @@ -637,8 +636,7 @@ rtems_nvdisk_write (rtems_nvdisk* nvd, rtems_blkdev_request* req) } } - req->status = ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL; - req->req_done (req->done_arg, req->status); + rtems_blkdev_request_done (req, ret ? RTEMS_IO_ERROR : RTEMS_SUCCESSFUL); return 0; } -- cgit v1.2.3