ASoC: tas2781: Refactor register error log with unified macro

Add reusable TAS_REG_ERR_LOG macro in tas2781 header, replace all
duplicated error logging code in register read/write/bulk ops and
update_bits functions. Add channel ID to error log for better debuggability.

Signed-off-by: Shenghao Ding <shenghao-ding@ti.com>
Link: https://patch.msgid.link/20261001024049.93-2-shenghao-ding@ti.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Shenghao Ding 2026-10-01 10:40:49 +08:00 committed by Mark Brown
parent 995b96380b
commit 5367243a37
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
3 changed files with 12 additions and 20 deletions

View File

@ -49,6 +49,13 @@
#define TASDEVICE_REG(book, page, reg) (((book * 256 * 128) + \
(page * 128)) + reg)
#define TAS_REG_ERR_LOG(dev, chn, reg, ret) \
dev_err((dev), "%s, C%uBx%02xPx%02xRx%02x E=%d\n", \
__func__, chn, TASDEVICE_BOOK_ID(reg), \
TASDEVICE_PAGE_ID(reg), \
TASDEVICE_PAGE_REG(reg), \
(ret))
/* Software Reset, compatble with new device (TAS5825). */
#define TASDEVICE_REG_SWRESET TASDEVICE_REG(0x0, 0x0, 0x01)
#define TASDEVICE_REG_SWRESET_RESET BIT(0)

View File

@ -131,10 +131,7 @@ int tasdevice_dev_update_bits(
ret = regmap_update_bits(map, TASDEVICE_PGRG(reg),
mask, value);
if (ret < 0)
dev_err(tas_priv->dev, "%s, Bx%02xPx%02xRx%02x E=%d\n",
__func__, TASDEVICE_BOOK_ID(reg),
TASDEVICE_PAGE_ID(reg),
TASDEVICE_PAGE_REG(reg), ret);
TAS_REG_ERR_LOG(tas_priv->dev, chn, reg, ret);
} else {
dev_err(tas_priv->dev, "%s, no such channel(%d)\n", __func__,
chn);

View File

@ -34,10 +34,7 @@ int tasdevice_dev_read(struct tasdevice_priv *tas_priv,
ret = regmap_read(map, TASDEVICE_PGRG(reg), val);
if (ret < 0)
dev_err(tas_priv->dev, "%s, Bx%02xPx%02xRx%02x E=%d\n",
__func__, TASDEVICE_BOOK_ID(reg),
TASDEVICE_PAGE_ID(reg),
TASDEVICE_PAGE_REG(reg), ret);
TAS_REG_ERR_LOG(tas_priv->dev, chn, reg, ret);
} else {
ret = -EINVAL;
dev_err(tas_priv->dev, "%s, no such channel(%d)\n", __func__,
@ -65,10 +62,7 @@ int tasdevice_dev_bulk_read(struct tasdevice_priv *tas_priv,
ret = regmap_bulk_read(map, TASDEVICE_PGRG(reg), data, len);
if (ret < 0)
dev_err(tas_priv->dev, "%s, Bx%02xPx%02xRx%02x E=%d\n",
__func__, TASDEVICE_BOOK_ID(reg),
TASDEVICE_PAGE_ID(reg),
TASDEVICE_PAGE_REG(reg), ret);
TAS_REG_ERR_LOG(tas_priv->dev, chn, reg, ret);
} else
dev_err(tas_priv->dev, "%s, no such channel(%d)\n", __func__,
chn);
@ -94,10 +88,7 @@ int tasdevice_dev_write(struct tasdevice_priv *tas_priv,
ret = regmap_write(map, TASDEVICE_PGRG(reg),
value);
if (ret < 0)
dev_err(tas_priv->dev, "%s, Bx%02xPx%02xRx%02x E=%d\n",
__func__, TASDEVICE_BOOK_ID(reg),
TASDEVICE_PAGE_ID(reg),
TASDEVICE_PAGE_REG(reg), ret);
TAS_REG_ERR_LOG(tas_priv->dev, chn, reg, ret);
} else {
ret = -EINVAL;
dev_err(tas_priv->dev, "%s, no such channel(%d)\n", __func__,
@ -127,10 +118,7 @@ int tasdevice_dev_bulk_write(
ret = regmap_bulk_write(map, TASDEVICE_PGRG(reg),
data, len);
if (ret < 0)
dev_err(tas_priv->dev, "%s, Bx%02xPx%02xRx%02x E=%d\n",
__func__, TASDEVICE_BOOK_ID(reg),
TASDEVICE_PAGE_ID(reg),
TASDEVICE_PAGE_REG(reg), ret);
TAS_REG_ERR_LOG(tas_priv->dev, chn, reg, ret);
} else {
ret = -EINVAL;
dev_err(tas_priv->dev, "%s, no such channel(%d)\n", __func__,