tree e3f971bb61a0811142ee5a43c394982de7bc8e2b
parent 72a7f53064e489471a130a06aea0b01a9039899c
author Andres Amaya Garcia <Andres.AmayaGarcia@arm.com> 1493723246 +0100
committer Andres Amaya Garcia <Andres.AmayaGarcia@arm.com> 1498650736 +0100

Add int return values to SHA-512 function calls

The following function calls are being deprecated to introduce int
return values.
    * mbedtls_sha512()
    * mbedtls_sha512_starts()
    * mbedtls_sha512_update()
    * mbedtls_sha512_finish()
    * mbedtls_sha512_process()
The return codes can be used to return error values. This is important
when using hardware accelerators.
