Yu-Ping Wu has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/59659 )
Change subject: drivers/analogix/anx7625: Utilize retry() macro ......................................................................
drivers/analogix/anx7625: Utilize retry() macro
Utilize retry() macro in wait_aux_op_finish() and anx7625_init() to simplify the code.
BUG=none TEST=emerge-asurada coreboot BRANCH=none
Change-Id: I207e7075e8ac905efd5f201dd54658dedf531568 Signed-off-by: Yu-Ping Wu yupingso@chromium.org --- M src/drivers/analogix/anx7625/anx7625.c 1 file changed, 5 insertions(+), 18 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/59/59659/1
diff --git a/src/drivers/analogix/anx7625/anx7625.c b/src/drivers/analogix/anx7625/anx7625.c index 153266c..81f27d0 100644 --- a/src/drivers/analogix/anx7625/anx7625.c +++ b/src/drivers/analogix/anx7625/anx7625.c @@ -6,6 +6,7 @@ #include <edid.h> #include <gpio.h> #include <string.h> +#include <types.h>
#include "anx7625.h"
@@ -133,20 +134,11 @@ static int wait_aux_op_finish(uint8_t bus) { uint8_t val; - int loop; - int success = 0; int ret;
- for (loop = 0; loop < 150; loop++) { - mdelay(2); - anx7625_reg_read(bus, RX_P0_ADDR, AP_AUX_CTRL_STATUS, &val); - if (!(val & AP_AUX_CTRL_OP_EN)) { - success = 1; - break; - } - } - - if (!success) { + if (!retry(150, + (anx7625_reg_read(bus, RX_P0_ADDR, AP_AUX_CTRL_STATUS, &val), + !(val & AP_AUX_CTRL_OP_EN)), mdelay(2))) { ANXERROR("Timed out waiting aux operation.\n"); return -1; } @@ -874,13 +866,8 @@ int anx7625_init(uint8_t bus) { int retry_hpd_change = 50; - int retry_power_on = 3;
- while (--retry_power_on) { - if (anx7625_power_on_init(bus) >= 0) - break; - } - if (!retry_power_on) { + if (!retry(3, anx7625_power_on_init(bus) >= 0)) { ANXERROR("Failed to power on.\n"); return -1; }