[Cryptech-Commits] [sw/libhal] 01/02: No, children, you can't || enum error codes. Again.
git at cryptech.is
git at cryptech.is
Wed May 17 23:33:33 UTC 2017
This is an automated email from the git hooks/post-receive script.
sra at hactrn.net pushed a commit to branch master
in repository sw/libhal.
commit b6017cf2295dfa16b2062794ac55e8553f64a1a6
Author: Rob Austein <sra at hactrn.net>
AuthorDate: Wed May 17 19:28:40 2017 -0400
No, children, you can't || enum error codes. Again.
---
mkmif.c | 52 ++++++++++++++++++++++++++++------------------------
1 file changed, 28 insertions(+), 24 deletions(-)
diff --git a/mkmif.c b/mkmif.c
index 06a2c4b..bc852ef 100644
--- a/mkmif.c
+++ b/mkmif.c
@@ -50,9 +50,11 @@ hal_error_t hal_mkmif_init(hal_core_t *core)
cmd.word = htonl(MKMIF_CTRL_CMD_INIT);
- err = hal_core_alloc(MKMIF_NAME, &core) ||
- hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4) ||
- hal_io_wait_ready(core);
+ if ((err = hal_core_alloc(MKMIF_NAME, &core)) != HAL_OK)
+ return err;
+
+ if ((err = hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4)) == HAL_OK)
+ err = hal_io_wait_ready(core);
hal_core_free(core);
return err;
@@ -65,8 +67,10 @@ hal_error_t hal_mkmif_set_clockspeed(hal_core_t *core, const uint32_t divisor)
data.word = htonl(divisor);
- err = hal_core_alloc(MKMIF_NAME, &core) ||
- hal_io_write(core, MKMIF_ADDR_SCLK_DIV, data.byte, 4);
+ if ((err = hal_core_alloc(MKMIF_NAME, &core)) != HAL_OK)
+ return err;
+
+ err = hal_io_write(core, MKMIF_ADDR_SCLK_DIV, data.byte, 4);
hal_core_free(core);
return err;
@@ -77,10 +81,10 @@ hal_error_t hal_mkmif_get_clockspeed(hal_core_t *core, uint32_t *divisor)
byteword_t data;
hal_error_t err;
- err = hal_core_alloc(MKMIF_NAME, &core) ||
- hal_io_read(core, MKMIF_ADDR_SCLK_DIV, data.byte, 4);
+ if ((err = hal_core_alloc(MKMIF_NAME, &core)) != HAL_OK)
+ return err;
- if (err == HAL_OK)
+ if ((err = hal_io_read(core, MKMIF_ADDR_SCLK_DIV, data.byte, 4)) == HAL_OK)
*divisor = htonl(data.word);
hal_core_free(core);
@@ -101,11 +105,11 @@ hal_error_t hal_mkmif_write(hal_core_t *core, uint32_t addr, const uint8_t *buf,
for (; len > 0; addr += 4, buf += 4, len -= 4) {
byteword_t write_addr;
write_addr.word = htonl((uint32_t)addr);
- if ((err = hal_io_write(core, MKMIF_ADDR_EMEM_ADDR, write_addr.byte, 4)) ||
- (err = hal_io_write(core, MKMIF_ADDR_EMEM_DATA, buf, 4)) ||
- (err = hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4)) ||
- (err = hal_io_wait_ready(core)))
- return err;
+ if ((err = hal_io_write(core, MKMIF_ADDR_EMEM_ADDR, write_addr.byte, 4)) != HAL_OK ||
+ (err = hal_io_write(core, MKMIF_ADDR_EMEM_DATA, buf, 4)) != HAL_OK ||
+ (err = hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4)) != HAL_OK ||
+ (err = hal_io_wait_ready(core)) != HAL_OK)
+ break;
}
}
@@ -132,19 +136,19 @@ hal_error_t hal_mkmif_read(hal_core_t *core, uint32_t addr, uint8_t *buf, size_t
cmd.word = htonl(MKMIF_CTRL_CMD_READ);
- if ((err = hal_core_alloc(MKMIF_NAME, &core)) == HAL_OK) {
- for (; len > 0; addr += 4, buf += 4, len -= 4) {
- byteword_t read_addr;
- read_addr.word = htonl((uint32_t)addr);
- if ((err = hal_io_write(core, MKMIF_ADDR_EMEM_ADDR, read_addr.byte, 4)) ||
- (err = hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4)) ||
- (err = hal_io_wait_valid(core)) ||
- (err = hal_io_read(core, MKMIF_ADDR_EMEM_DATA, buf, 4)))
- goto out;
- }
+ if ((err = hal_core_alloc(MKMIF_NAME, &core)) != HAL_OK)
+ return err;
+
+ for (; len > 0; addr += 4, buf += 4, len -= 4) {
+ byteword_t read_addr;
+ read_addr.word = htonl((uint32_t)addr);
+ if ((err = hal_io_write(core, MKMIF_ADDR_EMEM_ADDR, read_addr.byte, 4)) != HAL_OK ||
+ (err = hal_io_write(core, MKMIF_ADDR_CTRL, cmd.byte, 4)) != HAL_OK ||
+ (err = hal_io_wait_valid(core)) != HAL_OK ||
+ (err = hal_io_read(core, MKMIF_ADDR_EMEM_DATA, buf, 4)) != HAL_OK)
+ break;
}
-out:
hal_core_free(core);
return err;
}
More information about the Commits
mailing list