From 24b94c47713bbaadd8b8a876a2e7c7f3a9def5d8 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Mon, 30 Jul 2018 06:39:09 +0200 Subject: ramdisk: Use rtems_blkdev_create() Update #3358. --- cpukit/libblock/src/ramdisk-config.c | 11 +++-------- cpukit/libblock/src/ramdisk-register.c | 30 ++++-------------------------- 2 files changed, 7 insertions(+), 34 deletions(-) (limited to 'cpukit/libblock') diff --git a/cpukit/libblock/src/ramdisk-config.c b/cpukit/libblock/src/ramdisk-config.c index 7bd137a394..8e1b277674 100644 --- a/cpukit/libblock/src/ramdisk-config.c +++ b/cpukit/libblock/src/ramdisk-config.c @@ -23,7 +23,7 @@ rtems_device_driver ramdisk_initialize( - rtems_device_major_number major, + rtems_device_major_number major RTEMS_UNUSED, rtems_device_minor_number minor RTEMS_UNUSED, void *arg RTEMS_UNUSED) { @@ -32,10 +32,6 @@ ramdisk_initialize( struct ramdisk *r; rtems_status_code rc; - rc = rtems_disk_io_initialize(); - if (rc != RTEMS_SUCCESSFUL) - return rc; - /* * Coverity Id 27 notes that this calloc() is a resource leak. * @@ -48,7 +44,6 @@ ramdisk_initialize( r->trace = false; for (i = 0; i < rtems_ramdisk_configuration_size; i++, c++, r++) { - dev_t dev = rtems_filesystem_make_dev_t(major, i); char name [] = RAMDISK_DEVICE_BASE_NAME "a"; name [sizeof(RAMDISK_DEVICE_BASE_NAME) - 1] += i; r->block_size = c->block_size; @@ -73,8 +68,8 @@ ramdisk_initialize( r->initialized = true; r->area = c->location; } - rc = rtems_disk_create_phys(dev, c->block_size, c->block_num, - ramdisk_ioctl, r, name); + rc = rtems_blkdev_create(name, c->block_size, c->block_num, + ramdisk_ioctl, r); if (rc != RTEMS_SUCCESSFUL) { if (r->malloced) diff --git a/cpukit/libblock/src/ramdisk-register.c b/cpukit/libblock/src/ramdisk-register.c index ec133d0c03..6b2dc2c36d 100644 --- a/cpukit/libblock/src/ramdisk-register.c +++ b/cpukit/libblock/src/ramdisk-register.c @@ -24,57 +24,35 @@ #include "config.h" #endif -#include #include -const rtems_driver_address_table ramdisk_ops = { - .initialization_entry = NULL, - RTEMS_GENERIC_BLOCK_DEVICE_DRIVER_ENTRIES -}; - rtems_status_code ramdisk_register( uint32_t media_block_size, rtems_blkdev_bnum media_block_count, bool trace, - const char *disk, - dev_t *dev_ptr + const char *disk ) { rtems_status_code sc = RTEMS_SUCCESSFUL; - rtems_device_major_number major = 0; ramdisk *rd = NULL; - dev_t dev = 0; - - sc = rtems_io_register_driver(0, &ramdisk_ops, &major); - if (sc != RTEMS_SUCCESSFUL) { - return RTEMS_UNSATISFIED; - } rd = ramdisk_allocate(NULL, media_block_size, media_block_count, trace); if (rd == NULL) { - rtems_io_unregister_driver(major); - return RTEMS_UNSATISFIED; } - dev = rtems_filesystem_make_dev_t(major, 0); - - sc = rtems_disk_create_phys( - dev, + sc = rtems_blkdev_create( + disk, media_block_size, media_block_count, ramdisk_ioctl, - rd, - disk + rd ); if (sc != RTEMS_SUCCESSFUL) { ramdisk_free(rd); - rtems_io_unregister_driver(major); return RTEMS_UNSATISFIED; } - *dev_ptr = dev; - return RTEMS_SUCCESSFUL; } -- cgit v1.2.3