summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-18 15:59:30 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-18 15:59:30 +0000
commit1e0a5512fc9b610655d49b696912a031ad6101e9 (patch)
treea33f21d484034a9793b6bfe0c6b17c9358ab7c47 /cpukit/libblock
parent2009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff)
downloadrtems-1e0a5512fc9b610655d49b696912a031ad6101e9.tar.bz2
Update for block device API change
Diffstat (limited to 'cpukit/libblock')
-rw-r--r--cpukit/libblock/include/rtems/diskdevs.h38
-rw-r--r--cpukit/libblock/src/bdbuf.c5
-rw-r--r--cpukit/libblock/src/blkdev.c15
-rw-r--r--cpukit/libblock/src/flashdisk.c2
-rw-r--r--cpukit/libblock/src/nvdisk.c2
-rw-r--r--cpukit/libblock/src/ramdisk-driver.c2
6 files changed, 24 insertions, 40 deletions
diff --git a/cpukit/libblock/include/rtems/diskdevs.h b/cpukit/libblock/include/rtems/diskdevs.h
index 971551a0aa..a8b7dce93e 100644
--- a/cpukit/libblock/include/rtems/diskdevs.h
+++ b/cpukit/libblock/include/rtems/diskdevs.h
@@ -143,57 +143,37 @@ struct rtems_disk_device {
* @{
*/
-static inline dev_t rtems_disk_physical_device_number(
+static inline dev_t rtems_disk_get_device_identifier(
const rtems_disk_device *dd
)
{
- return dd->phys_dev->dev;
-}
-
-static inline rtems_device_major_number rtems_disk_physical_major_number(
- const rtems_disk_device *dd
-)
-{
- return rtems_filesystem_dev_major_t(dd->phys_dev->dev);
-}
-
-static inline rtems_device_minor_number rtems_disk_physical_minor_number(
- const rtems_disk_device *dd
-)
-{
- return rtems_filesystem_dev_minor_t(dd->phys_dev->dev);
-}
-
-static inline dev_t rtems_disk_device_number(const rtems_disk_device *dd)
-{
return dd->dev;
}
-static inline rtems_device_major_number rtems_disk_major_number(
+static inline rtems_device_major_number rtems_disk_get_major_number(
const rtems_disk_device *dd
)
{
return rtems_filesystem_dev_major_t(dd->dev);
}
-static inline rtems_device_minor_number rtems_disk_minor_number(
+static inline rtems_device_minor_number rtems_disk_get_minor_number(
const rtems_disk_device *dd
)
{
return rtems_filesystem_dev_minor_t(dd->dev);
}
-static inline void *rtems_disk_driver_data(const rtems_disk_device *dd)
+static inline void *rtems_disk_get_driver_data(
+ const rtems_disk_device *dd
+)
{
return dd->driver_data;
}
-static inline uint32_t rtems_disk_block_size(const rtems_disk_device *dd)
-{
- return dd->block_size;
-}
-
-static inline uint32_t rtems_disk_media_block_size(const rtems_disk_device *dd)
+static inline uint32_t rtems_disk_get_media_block_size(
+ const rtems_disk_device *dd
+)
{
return dd->media_block_size;
}
diff --git a/cpukit/libblock/src/bdbuf.c b/cpukit/libblock/src/bdbuf.c
index db707ea71d..22114fa701 100644
--- a/cpukit/libblock/src/bdbuf.c
+++ b/cpukit/libblock/src/bdbuf.c
@@ -1914,7 +1914,7 @@ rtems_bdbuf_execute_read_request (rtems_blkdev_request *req,
req->status = RTEMS_RESOURCE_IN_USE;
req->error = 0;
- result = dd->ioctl (dd, RTEMS_BLKIO_REQUEST, req);
+ result = dd->ioctl (dd->phys_dev, RTEMS_BLKIO_REQUEST, req);
if (result == 0)
{
@@ -2324,7 +2324,8 @@ rtems_bdbuf_swapout_write (rtems_bdbuf_swapout_transfer* transfer)
* Perform the transfer. No cache locks, no preemption, only the disk
* device is being held.
*/
- result = dd->ioctl (dd, RTEMS_BLKIO_REQUEST, transfer->write_req);
+ result = dd->ioctl (dd->phys_dev, RTEMS_BLKIO_REQUEST,
+ transfer->write_req);
if (result < 0)
{
rtems_bdbuf_lock_cache ();
diff --git a/cpukit/libblock/src/blkdev.c b/cpukit/libblock/src/blkdev.c
index 6a3419133d..74dac49ffd 100644
--- a/cpukit/libblock/src/blkdev.c
+++ b/cpukit/libblock/src/blkdev.c
@@ -251,15 +251,18 @@ rtems_blkdev_generic_ioctl(
break;
case RTEMS_BLKIO_REQUEST:
- {
- rtems_blkdev_request *req = args->buffer;
- args->ioctl_return = (uint32_t) dd->ioctl(dd, args->command, req);
+ /*
+ * It is not allowed to directly access the driver circumventing
+ * the cache.
+ */
+ rc = RTEMS_INVALID_NAME;
+ args->ioctl_return = -1;
break;
- }
default:
- args->ioctl_return = (uint32_t) dd->ioctl(dd, args->command,
- args->buffer);
+ args->ioctl_return = (uint32_t) dd->ioctl(dd->phys_dev,
+ args->command,
+ args->buffer);
break;
}
rtems_disk_release(dd);
diff --git a/cpukit/libblock/src/flashdisk.c b/cpukit/libblock/src/flashdisk.c
index 502a938fc9..79f860126d 100644
--- a/cpukit/libblock/src/flashdisk.c
+++ b/cpukit/libblock/src/flashdisk.c
@@ -2343,7 +2343,7 @@ rtems_fdisk_print_status (rtems_flashdisk* fd)
static int
rtems_fdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)
{
- dev_t dev = rtems_disk_physical_device_number (dd);
+ dev_t dev = rtems_disk_get_device_identifier (dd);
rtems_device_minor_number minor = rtems_filesystem_dev_minor_t (dev);
rtems_blkdev_request* r = argp;
rtems_status_code sc;
diff --git a/cpukit/libblock/src/nvdisk.c b/cpukit/libblock/src/nvdisk.c
index fabe53a5c9..3aaf543853 100644
--- a/cpukit/libblock/src/nvdisk.c
+++ b/cpukit/libblock/src/nvdisk.c
@@ -682,7 +682,7 @@ rtems_nvdisk_erase_disk (rtems_nvdisk* nvd)
static int
rtems_nvdisk_ioctl (rtems_disk_device *dd, uint32_t req, void* argp)
{
- dev_t dev = rtems_disk_physical_device_number (dd);
+ dev_t dev = rtems_disk_get_device_identifier (dd);
rtems_device_minor_number minor = rtems_filesystem_dev_minor_t (dev);
rtems_blkdev_request* r = argp;
rtems_status_code sc;
diff --git a/cpukit/libblock/src/ramdisk-driver.c b/cpukit/libblock/src/ramdisk-driver.c
index 282fdcf3d1..9defff623d 100644
--- a/cpukit/libblock/src/ramdisk-driver.c
+++ b/cpukit/libblock/src/ramdisk-driver.c
@@ -101,7 +101,7 @@ ramdisk_ioctl(rtems_disk_device *dd, uint32_t req, void *argp)
case RTEMS_BLKIO_REQUEST:
{
rtems_blkdev_request *r = argp;
- struct ramdisk *rd = rtems_disk_driver_data(dd);
+ struct ramdisk *rd = rtems_disk_get_driver_data(dd);
switch (r->req)
{