tree b36c5ee1945761c86823380b6763d7f143c30210
parent 0521dca70d1411988c8611dc06eacd35ffa393af
author Jimmy Brisson <jimmy.brisson@arm.com> 1596653045 -0500
committer laurenw-arm <lauren.wehrmeister@arm.com> 1602256910 -0500

Don't return error information from console_flush

And from crash_console_flush.

We ignore the error information return by console_flush in _every_
place where we call it, and casting the return type to void does not
work around the MISRA violation that this causes. Instead, we collect
the error information from the driver (to avoid changing that API), and
don't return it to the caller.

Change-Id: I1e35afe01764d5c8f0efd04f8949d333ffb688c1
Signed-off-by: Jimmy Brisson <jimmy.brisson@arm.com>
