mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2025-12-05 15:15:44 +00:00
Update for block device API change
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
2009-12-18 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
PR 1474
|
||||
* libchip/i2c/spi-sd-card.c, libchip/ide/ata.c: Update for block
|
||||
device API change.
|
||||
|
||||
2009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* libchip/network/greth.c: Eliminate unused type
|
||||
|
||||
@@ -1122,7 +1122,7 @@ static int sd_card_disk_ioctl( rtems_disk_device *dd, uint32_t req, void *arg)
|
||||
{
|
||||
RTEMS_DEBUG_PRINT( "dev = %u, req = %u, arg = 0x08%x\n", dev, req, arg);
|
||||
if (req == RTEMS_BLKIO_REQUEST) {
|
||||
rtems_device_minor_number minor = rtems_disk_physical_minor_number( dd);
|
||||
rtems_device_minor_number minor = rtems_disk_get_minor_number( dd);
|
||||
sd_card_driver_entry *e = &sd_card_driver_table [minor];
|
||||
rtems_blkdev_request *r = (rtems_blkdev_request *) arg;
|
||||
switch (r->req) {
|
||||
|
||||
@@ -1009,7 +1009,7 @@ ata_queue_task(rtems_task_argument arg)
|
||||
static int
|
||||
ata_ioctl(rtems_disk_device *dd, uint32_t cmd, void *argp)
|
||||
{
|
||||
dev_t device = rtems_disk_physical_device_number(dd);
|
||||
dev_t device = rtems_disk_get_device_identifier(dd);
|
||||
rtems_status_code status;
|
||||
rtems_device_minor_number rel_minor;
|
||||
|
||||
|
||||
@@ -1,3 +1,13 @@
|
||||
2009-12-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
PR 1474
|
||||
* libblock/include/rtems/diskdevs.h, libblock/src/bdbuf.c,
|
||||
libblock/src/blkdev.c: Pass only physical disc devices to the block
|
||||
device driver. Reject direct usage of RTEMS_BLKIO_REQUEST though an
|
||||
IO control. Renamed and removed disk device structure access methods.
|
||||
* libblock/src/flashdisk.c, libblock/src/nvdisk.c,
|
||||
libblock/src/ramdisk-driver.c: Update for block device API change.
|
||||
|
||||
2009-12-17 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* rtems/include/rtems/rtems/clock.h: Eliminate unused type
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user