ALSA: hda/tas2781: move set_drv_data outside tasdevice_init
authorGergo Koteles <soyer@irl.hu>
Fri, 22 Dec 2023 00:34:47 +0000 (01:34 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Jan 2024 16:16:45 +0000 (17:16 +0100)
commit e7aa105657f7f62f54a493480588895cc8a9a1a7 upstream.

allow driver specific driver data in tas2781-hda-i2c and tas2781-i2c

Fixes: ef3bcde75d06 ("ASoC: tas2781: Add tas2781 driver")
CC: stable@vger.kernel.org
Signed-off-by: Gergo Koteles <soyer@irl.hu>
Link: https://lore.kernel.org/r/1398bd8bf3e935b1595a99128320e4a1913e210a.1703204848.git.soyer@irl.hu
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
sound/pci/hda/tas2781_hda_i2c.c
sound/soc/codecs/tas2781-comlib.c
sound/soc/codecs/tas2781-i2c.c

index e4c54b2..7696043 100644 (file)
@@ -659,6 +659,8 @@ static int tas2781_hda_i2c_probe(struct i2c_client *clt)
        if (!tas_priv)
                return -ENOMEM;
 
+       dev_set_drvdata(&clt->dev, tas_priv);
+
        tas_priv->irq_info.irq = clt->irq;
        ret = tas2781_read_acpi(tas_priv, device_name);
        if (ret)
index 933cd00..00e3516 100644 (file)
@@ -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:
index 55cd5e3..917b1c1 100644 (file)
@@ -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);