[12/16] ASoC: tas2781: move set_drv_data outside tasdevice_init
Commit Message
allow driver specific driver data in tas2781-hda-ic2c and tas2781-i2c
Signed-off-by: Gergo Koteles <soyer@irl.hu>
---
sound/pci/hda/tas2781_hda_i2c.c | 2 ++
sound/soc/codecs/tas2781-comlib.c | 2 --
sound/soc/codecs/tas2781-i2c.c | 2 ++
3 files changed, 4 insertions(+), 2 deletions(-)
@@ -734,6 +734,8 @@ static int tas2781_hda_i2c_probe(struct i2c_client *clt)
if (!tas_priv)
return -ENOMEM;
+ dev_set_drvdata(&clt->dev, tas_priv);
+
if (strstr(dev_name(&clt->dev), "TIAS2781")) {
device_name = "TIAS2781";
tas_priv->load_calibration = load_calibration_efi_1;
@@ -316,8 +316,6 @@ int tasdevice_init(struct tasdevice_priv *tas_priv)
tas_priv->tasdevice[i].cur_conf = -1;
}
- dev_set_drvdata(tas_priv->dev, tas_priv);
-
mutex_init(&tas_priv->codec_lock);
out:
@@ -689,6 +689,8 @@ static int tasdevice_i2c_probe(struct i2c_client *i2c)
if (!tas_priv)
return -ENOMEM;
+ dev_set_drvdata(&i2c->dev, tas_priv);
+
if (ACPI_HANDLE(&i2c->dev)) {
acpi_id = acpi_match_device(i2c->dev.driver->acpi_match_table,
&i2c->dev);