diff options
-rw-r--r-- | drivers/misc/atsha204a-i2c.c | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c index d3c515828ff..ab83bbc3e95 100644 --- a/drivers/misc/atsha204a-i2c.c +++ b/drivers/misc/atsha204a-i2c.c @@ -96,40 +96,33 @@ int atsha204a_wakeup(struct udevice *dev) { u8 req[4]; struct atsha204a_resp resp; - int try, res; + int res; debug("Waking up ATSHA204A\n"); - for (try = 1; try <= 10; ++try) { - debug("Try %i... ", try); - - /* - * The device ignores any levels or transitions on the SCL pin - * when the device is idle, asleep or during waking up. - * Don't check for error when waking up the device. - */ - memset(req, 0, 4); - atsha204a_send(dev, req, 4); + /* + * The device ignores any levels or transitions on the SCL pin + * when the device is idle, asleep or during waking up. + * Don't check for error when waking up the device. + */ + memset(req, 0, 4); + atsha204a_send(dev, req, 4); - udelay(ATSHA204A_TWLO_US + ATSHA204A_TWHI_US); + udelay(ATSHA204A_TWLO_US + ATSHA204A_TWHI_US); - res = atsha204a_recv_resp(dev, &resp); - if (res) { - debug("failed on receiving response, ending\n"); - return res; - } - - if (resp.code != ATSHA204A_STATUS_AFTER_WAKE) { - debug ("failed (responce code = %02x), ending\n", - resp.code); - return -EBADMSG; - } + res = atsha204a_recv_resp(dev, &resp); + if (res) { + debug("failed on receiving response, ending\n"); + return res; + } - debug("success\n"); - return 0; + if (resp.code != ATSHA204A_STATUS_AFTER_WAKE) { + debug("failed (response code = %02x), ending\n", resp.code); + return -EBADMSG; } - return -ETIMEDOUT; + debug("success\n"); + return 0; } int atsha204a_idle(struct udevice *dev) |