Avoid commiting errors inside fapi2_i2c device driver
Avoid commiting errors inside fapi2_i2c device driver

There are instances where we expect NACK errors returned from i2c
requests, for example when waiting for the ocmbs to declare themselves
"ready". In these cases we do not want to flood the error log
with expected I2C nack errors. To avoid this, instead of committing
retriable errors inside of the fapi2_i2c device driver when the MAX
RETRY ATTEMPTS is reached we will instead just add traces to the err
that gets returned to the caller that explain previous retryable errs
occured. In the case where we hit retryable errors and eventually hit
and non-retryable error the retryable error is committed in the driver
and the non-retryable error is returned to the caller. Also this commit
adds some timings to the error log so we can tell how long our attempts
took.

Change-Id: I9a5ee0bfe088444aa7fecd974f61514c40b320a6
CQ: SW480155
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/86682
Tested-by: Jenkins Server <8e3f934e4c44875bc48d33da3ea13d93ba9a233f@us.ibm.com>
Tested-by: Jenkins OP Build CI <e610bd72261d3c0a48f1e8ae36832ab00774d426@us.ibm.com>
Reviewed-by: Christian R Geddes <f397583a9caa8163a06ad1128784fb67413f2fe6@us.ibm.com>

open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot,open-power/hostboot