diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-03-26 20:41:56 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-04-06 14:43:55 +0200 |
commit | 74e20630f23319f62b3aeb805dd1e444a5159725 (patch) | |
tree | f529e71daf3481afa4610b84a9329232eb16ddcc /fs/fs.c | |
parent | 99ae5d04065323d25c27af0c92b155d6e17e85a8 (diff) | |
download | barebox-74e20630f23319f62b3aeb805dd1e444a5159725.tar.gz barebox-74e20630f23319f62b3aeb805dd1e444a5159725.tar.xz |
fs: Move mem_write/mem_read to devfs-core
fs.c is already heavily filled with code. Move mem_write/mem_read
to devfs-core where it fits better.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'fs/fs.c')
-rw-r--r-- | fs/fs.c | 66 |
1 files changed, 0 insertions, 66 deletions
@@ -1739,72 +1739,6 @@ out: } EXPORT_SYMBOL(rmdir); -static void memcpy_sz(void *dst, const void *src, size_t count, int rwsize) -{ - /* no rwsize specification given. Do whatever memcpy likes best */ - if (!rwsize) { - memcpy(dst, src, count); - return; - } - - rwsize = rwsize >> O_RWSIZE_SHIFT; - - count /= rwsize; - - while (count-- > 0) { - switch (rwsize) { - case 1: - *((u8 *)dst) = *((u8 *)src); - break; - case 2: - *((u16 *)dst) = *((u16 *)src); - break; - case 4: - *((u32 *)dst) = *((u32 *)src); - break; - case 8: - *((u64 *)dst) = *((u64 *)src); - break; - } - dst += rwsize; - src += rwsize; - } -} - -ssize_t mem_read(struct cdev *cdev, void *buf, size_t count, loff_t offset, ulong flags) -{ - ulong size; - struct device_d *dev; - - if (!cdev->dev || cdev->dev->num_resources < 1) - return -1; - dev = cdev->dev; - - 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; -} -EXPORT_SYMBOL(mem_read); - -ssize_t mem_write(struct cdev *cdev, const void *buf, size_t count, loff_t offset, ulong flags) -{ - ulong size; - struct device_d *dev; - - if (!cdev->dev || cdev->dev->num_resources < 1) - return -1; - dev = cdev->dev; - - 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; -} -EXPORT_SYMBOL(mem_write); - /* * cdev_get_mount_path - return the path a cdev is mounted on * |