This driver would create a wall of logspam during initialization due to
e.g. the PLL not being ready while waiting for it to stabilize. Change
intermediate dev_err() calls to dev_dbg() to reduce the noise.

While here, log the detected chip ID when that check fails.

Signed-off-by: Val Packett <[email protected]>
---
 sound/soc/codecs/aw88261.c | 24 ++++++++++++++----------
 1 file changed, 14 insertions(+), 10 deletions(-)

diff --git a/sound/soc/codecs/aw88261.c b/sound/soc/codecs/aw88261.c
index 7b0e778f5a25..d1fc3403cb5a 100644
--- a/sound/soc/codecs/aw88261.c
+++ b/sound/soc/codecs/aw88261.c
@@ -153,7 +153,7 @@ static int aw88261_dev_get_iis_status(struct aw_device 
*aw_dev)
        if (ret)
                return ret;
        if ((reg_val & AW88261_BIT_PLL_CHECK) != AW88261_BIT_PLL_CHECK) {
-               dev_err(aw_dev->dev, "check pll lock fail,reg_val:0x%04x", 
reg_val);
+               dev_dbg(aw_dev->dev, "check pll lock fail,reg_val:0x%04x", 
reg_val);
                return -EINVAL;
        }
 
@@ -167,7 +167,7 @@ static int aw88261_dev_check_pll(struct aw_device *aw_dev)
        for (i = 0; i < AW88261_DEV_SYSST_CHECK_MAX; i++) {
                ret = aw88261_dev_get_iis_status(aw_dev);
                if (ret) {
-                       dev_err(aw_dev->dev, "mode1 iis signal check error");
+                       dev_dbg(aw_dev->dev, "mode1 iis signal check error");
                        usleep_range(AW88261_2000_US, AW88261_2000_US + 10);
                } else {
                        return ret;
@@ -259,7 +259,7 @@ static int aw88261_dev_check_sysst(struct aw_device *aw_dev)
                check_val = reg_val & (~AW88261_BIT_SYSST_CHECK_MASK)
                                                        & 
AW88261_BIT_SYSST_CHECK;
                if (check_val != AW88261_BIT_SYSST_CHECK) {
-                       dev_err(aw_dev->dev, "check sysst fail, reg_val=0x%04x, 
check:0x%x",
+                       dev_dbg(aw_dev->dev, "check sysst fail, reg_val=0x%04x, 
check:0x%x",
                                reg_val, AW88261_BIT_SYSST_CHECK);
                        usleep_range(AW88261_2000_US, AW88261_2000_US + 10);
                } else {
@@ -553,7 +553,7 @@ static int aw88261_dev_start(struct aw88261 *aw88261)
        int ret;
 
        if (aw_dev->status == AW88261_DEV_PW_ON) {
-               dev_info(aw_dev->dev, "already power on");
+               dev_dbg(aw_dev->dev, "already power on");
                return 0;
        }
 
@@ -563,7 +563,7 @@ static int aw88261_dev_start(struct aw88261 *aw88261)
 
        ret = aw88261_dev_configure_syspll(aw88261);
        if (ret) {
-               dev_err(aw_dev->dev, "pll check failed cannot start");
+               dev_dbg(aw_dev->dev, "pll check failed");
                goto pll_check_fail;
        }
 
@@ -574,7 +574,7 @@ static int aw88261_dev_start(struct aw88261 *aw88261)
        /* check i2s status */
        ret = aw88261_dev_check_sysst(aw_dev);
        if (ret) {
-               dev_err(aw_dev->dev, "sysst check failed");
+               dev_dbg(aw_dev->dev, "sysst check failed");
                goto sysst_check_fail;
        }
 
@@ -675,18 +675,22 @@ static void aw88261_start_pa(struct aw88261 *aw88261)
        for (i = 0; i < AW88261_START_RETRIES; i++) {
                ret = aw88261_reg_update(aw88261, aw88261->phase_sync);
                if (ret) {
-                       dev_err(aw88261->aw_pa->dev, "fw update failed, 
cnt:%d\n", i);
+                       dev_dbg(aw88261->aw_pa->dev,
+                               "aw88261_reg_update failed, cnt:%d, ret:%d\n", 
i, ret);
                        continue;
                }
                ret = aw88261_dev_start(aw88261);
                if (ret) {
-                       dev_err(aw88261->aw_pa->dev, "aw88261 device start 
failed. retry = %d", i);
+                       dev_dbg(aw88261->aw_pa->dev,
+                               "aw88261_dev_start failed, cnt:%d, ret:%d\n", 
i, ret);
                        continue;
                } else {
-                       dev_info(aw88261->aw_pa->dev, "start success\n");
+                       dev_dbg(aw88261->aw_pa->dev, "start success\n");
                        break;
                }
        }
+       if (ret != 0)
+               dev_err(aw88261->aw_pa->dev, "start failure (%d)\n", ret);
 }
 
 static void aw88261_startup_work(struct work_struct *work)
@@ -1407,7 +1411,7 @@ static int aw88261_init(struct aw88261 *aw88261, struct 
i2c_client *i2c, struct
                return ret;
        }
        if (chip_id != AW88261_CHIP_ID) {
-               dev_err(&i2c->dev, "unsupported device");
+               dev_err(&i2c->dev, "unsupported device id = %x", chip_id);
                return -ENXIO;
        }
 
-- 
2.53.0


Reply via email to