9
0
Fork 0

fs: switch to resource

Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
This commit is contained in:
Jean-Christophe PLAGNIOL-VILLARD 2011-07-29 15:15:38 +08:00
parent 805a4a0c7d
commit 12ed40bb17
2 changed files with 7 additions and 5 deletions

View File

@ -161,7 +161,9 @@ static int devfs_ioctl(struct device_d *_dev, FILE *f, int request, void *buf)
static int devfs_truncate(struct device_d *dev, FILE *f, ulong size)
{
if (size > f->dev->size)
if (f->dev->num_resources < 1)
return -ENOSPC;
if (size > f->dev->resource[0].size)
return -ENOSPC;
return 0;
}

View File

@ -1043,11 +1043,11 @@ ssize_t mem_read(struct cdev *cdev, void *buf, size_t count, ulong offset, ulong
ulong size;
struct device_d *dev;
if (!cdev->dev)
if (!cdev->dev || cdev->dev->num_resources < 1)
return -1;
dev = cdev->dev;
size = min((ulong)count, dev->size - offset);
size = min((ulong)count, dev->resource[0].size - offset);
memcpy_sz(buf, dev_get_mem_region(dev, 0) + offset, size, flags & O_RWSIZE_MASK);
return size;
}
@ -1058,11 +1058,11 @@ ssize_t mem_write(struct cdev *cdev, const void *buf, size_t count, ulong offset
ulong size;
struct device_d *dev;
if (!cdev->dev)
if (!cdev->dev || cdev->dev->num_resources < 1)
return -1;
dev = cdev->dev;
size = min((ulong)count, dev->size - offset);
size = min((ulong)count, dev->resource[0].size - offset);
memcpy_sz(dev_get_mem_region(dev, 0) + offset, buf, size, flags & O_RWSIZE_MASK);
return size;
}