diff options
author | Yann Gautier <yann.gautier@st.com> | 2019-04-16 11:35:19 +0200 |
---|---|---|
committer | Lionel Debieve <lionel.debieve@st.com> | 2020-01-10 21:14:57 +0100 |
commit | 70cb0bff7d42bd9e09dddef3c2fc6e3b385c6e5a (patch) | |
tree | efbc6f4022b452814b15ef9f4d4762387a2d7e88 /drivers/intel | |
parent | 8c80c86573898eb59127a32b089e753f40e254fb (diff) | |
download | arm-trusted-firmware-70cb0bff7d42bd9e09dddef3c2fc6e3b385c6e5a.tar.gz |
io: change seek offset to signed long long
IO seek offset can be set to values above UINT32_MAX, this change
changes the seek offset argument from 'ssize_t' to 'signed long long'.
Fixing platform seek functions to match the new interface update.
Change-Id: I25de83b3b7abe5f52a7b0fee36f71e60cac9cfcb
Signed-off-by: Yann Gautier <yann.gautier@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Lionel Debieve <lionel.debieve@st.com>
Diffstat (limited to 'drivers/intel')
-rw-r--r-- | drivers/intel/soc/stratix10/io/s10_memmap_qspi.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/intel/soc/stratix10/io/s10_memmap_qspi.c b/drivers/intel/soc/stratix10/io/s10_memmap_qspi.c index a0fc034d8..dcd199148 100644 --- a/drivers/intel/soc/stratix10/io/s10_memmap_qspi.c +++ b/drivers/intel/soc/stratix10/io/s10_memmap_qspi.c @@ -26,9 +26,9 @@ typedef struct { * valid. */ int in_use; - uintptr_t base; - size_t file_pos; - size_t size; + uintptr_t base; + unsigned long long file_pos; + unsigned long long size; } file_state_t; static file_state_t current_file = {0}; @@ -44,7 +44,7 @@ static int memmap_dev_open(const uintptr_t dev_spec, io_dev_info_t **dev_info); static int memmap_block_open(io_dev_info_t *dev_info, const uintptr_t spec, io_entity_t *entity); static int memmap_block_seek(io_entity_t *entity, int mode, - ssize_t offset); + signed long long offset); static int memmap_block_len(io_entity_t *entity, size_t *length); static int memmap_block_read(io_entity_t *entity, uintptr_t buffer, size_t length, size_t *length_read); @@ -131,7 +131,8 @@ static int memmap_block_open(io_dev_info_t *dev_info, const uintptr_t spec, /* Seek to a particular file offset on the memmap device */ -static int memmap_block_seek(io_entity_t *entity, int mode, ssize_t offset) +static int memmap_block_seek(io_entity_t *entity, int mode, + signed long long offset) { int result = -ENOENT; file_state_t *fp; @@ -143,7 +144,8 @@ static int memmap_block_seek(io_entity_t *entity, int mode, ssize_t offset) fp = (file_state_t *) entity->info; /* Assert that new file position is valid */ - assert((offset >= 0) && (offset < fp->size)); + assert((offset >= 0) && + ((unsigned long long)offset < fp->size)); /* Reset file position */ fp->file_pos = offset; @@ -171,7 +173,7 @@ static int memmap_block_read(io_entity_t *entity, uintptr_t buffer, size_t length, size_t *length_read) { file_state_t *fp; - size_t pos_after; + unsigned long long pos_after; assert(entity != NULL); assert(length_read != NULL); @@ -198,7 +200,7 @@ static int memmap_block_write(io_entity_t *entity, const uintptr_t buffer, size_t length, size_t *length_written) { file_state_t *fp; - size_t pos_after; + unsigned long long pos_after; assert(entity != NULL); assert(length_written != NULL); |