mirror of
https://github.com/torvalds/linux.git
synced 2024-11-24 13:11:40 +00:00
ASoC: cs42l56: fix DT probe
While looking through legacy platform data users, I noticed that the DT probing never uses data from the DT properties, as the platform_data structure gets overwritten directly after it is initialized. There have never been any boards defining the platform_data in the mainline kernel either, so this driver so far only worked with patched kernels or with the default values. For the benefit of possible downstream users, fix the DT probe by no longer overwriting the data. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com> Link: https://lore.kernel.org/r/20230126162203.2986339-1-arnd@kernel.org Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
100c94ffde
commit
e18c6da62e
@ -1191,18 +1191,12 @@ static int cs42l56_i2c_probe(struct i2c_client *i2c_client)
|
||||
if (pdata) {
|
||||
cs42l56->pdata = *pdata;
|
||||
} else {
|
||||
pdata = devm_kzalloc(&i2c_client->dev, sizeof(*pdata),
|
||||
GFP_KERNEL);
|
||||
if (!pdata)
|
||||
return -ENOMEM;
|
||||
|
||||
if (i2c_client->dev.of_node) {
|
||||
ret = cs42l56_handle_of_data(i2c_client,
|
||||
&cs42l56->pdata);
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
}
|
||||
cs42l56->pdata = *pdata;
|
||||
}
|
||||
|
||||
if (cs42l56->pdata.gpio_nreset) {
|
||||
|
Loading…
Reference in New Issue
Block a user