mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
ASoC: wm2000: Remove wm2000_read helper function
The return type "unsigned int" was used by the wm2000_read() function despite of the aspect that it will eventually return a negative error code. The resulting function doesn't add much to the code, so replace wm2000_read with regmap_read. Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
318e741ee1
commit
c5d09485de
@ -88,19 +88,6 @@ static int wm2000_write(struct i2c_client *i2c, unsigned int reg,
|
||||
return regmap_write(wm2000->regmap, reg, value);
|
||||
}
|
||||
|
||||
static unsigned int wm2000_read(struct i2c_client *i2c, unsigned int r)
|
||||
{
|
||||
struct wm2000_priv *wm2000 = i2c_get_clientdata(i2c);
|
||||
unsigned int val;
|
||||
int ret;
|
||||
|
||||
ret = regmap_read(wm2000->regmap, r, &val);
|
||||
if (ret < 0)
|
||||
return -1;
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
static void wm2000_reset(struct wm2000_priv *wm2000)
|
||||
{
|
||||
struct i2c_client *i2c = wm2000->i2c;
|
||||
@ -115,14 +102,15 @@ static void wm2000_reset(struct wm2000_priv *wm2000)
|
||||
static int wm2000_poll_bit(struct i2c_client *i2c,
|
||||
unsigned int reg, u8 mask)
|
||||
{
|
||||
struct wm2000_priv *wm2000 = i2c_get_clientdata(i2c);
|
||||
int timeout = 4000;
|
||||
int val;
|
||||
unsigned int val;
|
||||
|
||||
val = wm2000_read(i2c, reg);
|
||||
regmap_read(wm2000->regmap, reg, &val);
|
||||
|
||||
while (!(val & mask) && --timeout) {
|
||||
msleep(1);
|
||||
val = wm2000_read(i2c, reg);
|
||||
regmap_read(wm2000->regmap, reg, &val);
|
||||
}
|
||||
|
||||
if (timeout == 0)
|
||||
@ -135,6 +123,7 @@ static int wm2000_power_up(struct i2c_client *i2c, int analogue)
|
||||
{
|
||||
struct wm2000_priv *wm2000 = dev_get_drvdata(&i2c->dev);
|
||||
unsigned long rate;
|
||||
unsigned int val;
|
||||
int ret;
|
||||
|
||||
if (WARN_ON(wm2000->anc_mode != ANC_OFF))
|
||||
@ -213,12 +202,17 @@ static int wm2000_power_up(struct i2c_client *i2c, int analogue)
|
||||
WM2000_MODE_THERMAL_ENABLE);
|
||||
}
|
||||
|
||||
ret = wm2000_read(i2c, WM2000_REG_SPEECH_CLARITY);
|
||||
ret = regmap_read(wm2000->regmap, WM2000_REG_SPEECH_CLARITY, &val);
|
||||
if (ret != 0) {
|
||||
dev_err(&i2c->dev, "Unable to read Speech Clarity: %d\n", ret);
|
||||
regulator_bulk_disable(WM2000_NUM_SUPPLIES, wm2000->supplies);
|
||||
return ret;
|
||||
}
|
||||
if (wm2000->speech_clarity)
|
||||
ret |= WM2000_SPEECH_CLARITY;
|
||||
val |= WM2000_SPEECH_CLARITY;
|
||||
else
|
||||
ret &= ~WM2000_SPEECH_CLARITY;
|
||||
wm2000_write(i2c, WM2000_REG_SPEECH_CLARITY, ret);
|
||||
val &= ~WM2000_SPEECH_CLARITY;
|
||||
wm2000_write(i2c, WM2000_REG_SPEECH_CLARITY, val);
|
||||
|
||||
wm2000_write(i2c, WM2000_REG_SYS_START0, 0x33);
|
||||
wm2000_write(i2c, WM2000_REG_SYS_START1, 0x02);
|
||||
@ -824,7 +818,7 @@ static int wm2000_i2c_probe(struct i2c_client *i2c,
|
||||
const char *filename;
|
||||
const struct firmware *fw = NULL;
|
||||
int ret, i;
|
||||
int reg;
|
||||
unsigned int reg;
|
||||
u16 id;
|
||||
|
||||
wm2000 = devm_kzalloc(&i2c->dev, sizeof(*wm2000), GFP_KERNEL);
|
||||
@ -860,9 +854,17 @@ static int wm2000_i2c_probe(struct i2c_client *i2c,
|
||||
}
|
||||
|
||||
/* Verify that this is a WM2000 */
|
||||
reg = wm2000_read(i2c, WM2000_REG_ID1);
|
||||
ret = regmap_read(wm2000->regmap, WM2000_REG_ID1, ®);
|
||||
if (ret != 0) {
|
||||
dev_err(&i2c->dev, "Unable to read ID1: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
id = reg << 8;
|
||||
reg = wm2000_read(i2c, WM2000_REG_ID2);
|
||||
ret = regmap_read(wm2000->regmap, WM2000_REG_ID2, ®);
|
||||
if (ret != 0) {
|
||||
dev_err(&i2c->dev, "Unable to read ID2: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
id |= reg & 0xff;
|
||||
|
||||
if (id != 0x2000) {
|
||||
@ -871,7 +873,11 @@ static int wm2000_i2c_probe(struct i2c_client *i2c,
|
||||
goto err_supplies;
|
||||
}
|
||||
|
||||
reg = wm2000_read(i2c, WM2000_REG_REVISON);
|
||||
ret = regmap_read(wm2000->regmap, WM2000_REG_REVISON, ®);
|
||||
if (ret != 0) {
|
||||
dev_err(&i2c->dev, "Unable to read Revision: %d\n", ret);
|
||||
return ret;
|
||||
}
|
||||
dev_info(&i2c->dev, "revision %c\n", reg + 'A');
|
||||
|
||||
wm2000->mclk = devm_clk_get(&i2c->dev, "MCLK");
|
||||
|
Loading…
Reference in New Issue
Block a user