diff options
author | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2009-10-13 07:58:33 +0000 |
---|---|---|
committer | Thomas Doerfler <Thomas.Doerfler@embedded-brains.de> | 2009-10-13 07:58:33 +0000 |
commit | b96e09cb420213ebf2ef6d3b37ff3b7b02b65bd4 (patch) | |
tree | 706bd90c05001666f0bfaa0981c773131429177e /cpukit/libblock/src/blkdev.c | |
parent | 2009-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff) | |
download | rtems-b96e09cb420213ebf2ef6d3b37ff3b7b02b65bd4.tar.bz2 |
* libblock/include/rtems/diskdevs.h: Added driver data pointer to IO
control function. The IO control handler takes now the disk device as
first parameter instead of the physical device number.
* cpukit/libblock/include/rtems/blkdev.h, libblock/src/bdbuf.c,
libblock/src/blkdev.c, libblock/src/diskdevs.c, libblock/src/nvdisk.c,
libblock/src/flashdisk.c, libblock/src/ramdisk.c: Update for block
device API change.
Diffstat (limited to 'cpukit/libblock/src/blkdev.c')
-rw-r--r-- | cpukit/libblock/src/blkdev.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/cpukit/libblock/src/blkdev.c b/cpukit/libblock/src/blkdev.c index 8f0ceb6e7a..ceb4dd8930 100644 --- a/cpukit/libblock/src/blkdev.c +++ b/cpukit/libblock/src/blkdev.c @@ -237,20 +237,19 @@ rtems_blkdev_generic_ioctl( case RTEMS_BLKIO_SYNCDEV: rc = rtems_bdbuf_syncdev(dd->dev); - args->ioctl_return = (rc == RTEMS_SUCCESSFUL ? 0 : -1); + args->ioctl_return = (uint32_t) (rc == RTEMS_SUCCESSFUL ? 0 : -1); break; case RTEMS_BLKIO_REQUEST: { rtems_blkdev_request *req = args->buffer; - args->ioctl_return = dd->ioctl(dd->phys_dev->dev, args->command, - req); + args->ioctl_return = (uint32_t) dd->ioctl(dd, args->command, req); break; } default: - args->ioctl_return = dd->ioctl(dd->phys_dev->dev, args->command, - args->buffer); + args->ioctl_return = (uint32_t) dd->ioctl(dd, args->command, + args->buffer); break; } rtems_disk_release(dd); @@ -259,18 +258,10 @@ rtems_blkdev_generic_ioctl( } int -rtems_blkdev_ioctl(dev_t dev, uint32_t req, void *argp) +rtems_blkdev_ioctl(rtems_disk_device *dd, uint32_t req, void *argp) { - rtems_disk_device *dd; size_t *arg_size = argp; int rc = 0; - - dd = rtems_disk_obtain(dev); - if (dd == NULL) - { - errno = ENODEV; - return -1; - } switch (req) { @@ -295,8 +286,6 @@ rtems_blkdev_ioctl(dev_t dev, uint32_t req, void *argp) rc = -1; break; } - - rtems_disk_release(dd); return rc; } |