summaryrefslogtreecommitdiffstats
path: root/fs/fs.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/fs.c')
-rw-r--r--fs/fs.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/fs/fs.c b/fs/fs.c
index 38917bf72b..b11878a748 100644
--- a/fs/fs.c
+++ b/fs/fs.c
@@ -1141,6 +1141,12 @@ struct bus_type fs_bus = {
.remove = fs_remove,
};
+static int fs_bus_init(void)
+{
+ return bus_register(&fs_bus);
+}
+pure_initcall(fs_bus_init);
+
int register_fs_driver(struct fs_driver_d *fsdrv)
{
fsdrv->drv.bus = &fs_bus;
@@ -1525,7 +1531,9 @@ ssize_t mem_read(struct cdev *cdev, void *buf, size_t count, loff_t offset, ulon
return -1;
dev = cdev->dev;
- size = min((loff_t)count, resource_size(&dev->resource[0]) - offset);
+ size = min((resource_size_t)count,
+ resource_size(&dev->resource[0]) -
+ (resource_size_t)offset);
memcpy_sz(buf, dev_get_mem_region(dev, 0) + offset, size, flags & O_RWSIZE_MASK);
return size;
}
@@ -1540,7 +1548,9 @@ ssize_t mem_write(struct cdev *cdev, const void *buf, size_t count, loff_t offse
return -1;
dev = cdev->dev;
- size = min((loff_t)count, resource_size(&dev->resource[0]) - offset);
+ size = min((resource_size_t)count,
+ resource_size(&dev->resource[0]) -
+ (resource_size_t)offset);
memcpy_sz(dev_get_mem_region(dev, 0) + offset, buf, size, flags & O_RWSIZE_MASK);
return size;
}