Commit 8aaa414f authored by Andrew Lunn's avatar Andrew Lunn Committed by Mark Brown

ASoC: alc5623: Fix regmap endianness

Commit 0cd257bf, "ASoC: alc5623:
Convert to direct regmap API usage" broke probing of the codec,
because of wrong endinness of the ID and codec version read from the
device. Fix this by removing the existing flipping of the endiannes,
and extracting the codec type byte from the word from the regmap.
Signed-off-by: default avatarAndrew Lunn <andrew@lunn.ch>
Signed-off-by: default avatarMark Brown <broonie@linaro.org>
parent c9eaa447
...@@ -1018,13 +1018,13 @@ static int alc5623_i2c_probe(struct i2c_client *client, ...@@ -1018,13 +1018,13 @@ static int alc5623_i2c_probe(struct i2c_client *client,
dev_err(&client->dev, "failed to read vendor ID1: %d\n", ret); dev_err(&client->dev, "failed to read vendor ID1: %d\n", ret);
return ret; return ret;
} }
vid1 = ((vid1 & 0xff) << 8) | (vid1 >> 8);
ret = regmap_read(alc5623->regmap, ALC5623_VENDOR_ID2, &vid2); ret = regmap_read(alc5623->regmap, ALC5623_VENDOR_ID2, &vid2);
if (ret < 0) { if (ret < 0) {
dev_err(&client->dev, "failed to read vendor ID2: %d\n", ret); dev_err(&client->dev, "failed to read vendor ID2: %d\n", ret);
return ret; return ret;
} }
vid2 >>= 8;
if ((vid1 != 0x10ec) || (vid2 != id->driver_data)) { if ((vid1 != 0x10ec) || (vid2 != id->driver_data)) {
dev_err(&client->dev, "unknown or wrong codec\n"); dev_err(&client->dev, "unknown or wrong codec\n");
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment