diff options
author | Simon Glass <sjg@chromium.org> | 2018-11-07 01:21:39 +0300 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2018-11-21 05:14:22 +0300 |
commit | 8729b1ae2cbda83059a55811614a2b0dbfdf7e53 (patch) | |
tree | 65fa9cfd636340f9c9fc97bb3fa76de36c5bf1e2 /drivers/misc/stm32mp_fuse.c | |
parent | 96794a3eaee9bf368efe475f0a040d0e08b09dc9 (diff) | |
download | u-boot-8729b1ae2cbda83059a55811614a2b0dbfdf7e53.tar.xz |
misc: Update read() and write() methods to return bytes xfered
At present these functions return 0 on success. For some devices we want
to know how many bytes were transferred. It seems useful to adjust the API
to be more like the POSIX read() and write() functions.
Update these two methods, a test and all users.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Patrick Delaunay <patrick.delaunay@st.com>
Diffstat (limited to 'drivers/misc/stm32mp_fuse.c')
-rw-r--r-- | drivers/misc/stm32mp_fuse.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/misc/stm32mp_fuse.c b/drivers/misc/stm32mp_fuse.c index 2d661351a1..33943a231b 100644 --- a/drivers/misc/stm32mp_fuse.c +++ b/drivers/misc/stm32mp_fuse.c @@ -29,6 +29,9 @@ int fuse_read(u32 bank, u32 word, u32 *val) return ret; ret = misc_read(dev, word * 4 + STM32_BSEC_SHADOW_OFFSET, val, 4); + if (ret < 0) + return ret; + ret = 0; break; default: @@ -54,6 +57,9 @@ int fuse_prog(u32 bank, u32 word, u32 val) return ret; ret = misc_write(dev, word * 4 + STM32_BSEC_OTP_OFFSET, &val, 4); + if (ret < 0) + return ret; + ret = 0; break; default: @@ -78,6 +84,9 @@ int fuse_sense(u32 bank, u32 word, u32 *val) if (ret) return ret; ret = misc_read(dev, word * 4 + STM32_BSEC_OTP_OFFSET, val, 4); + if (ret < 0) + return ret; + ret = 0; break; default: @@ -103,6 +112,9 @@ int fuse_override(u32 bank, u32 word, u32 val) return ret; ret = misc_write(dev, word * 4 + STM32_BSEC_SHADOW_OFFSET, &val, 4); + if (ret < 0) + return ret; + ret = 0; break; default: |