ASoC: Intel: bytcr_rt5640: Convert to use acpi_dev_get_first_match_dev()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 28 Mar 2019 17:17:25 +0000 (19:17 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 1 Apr 2019 09:00:16 +0000 (11:00 +0200)
acpi_dev_get_first_match_name() is deprecated and going to be removed
because it leaks a reference.

Convert the driver to use acpi_dev_get_first_match_dev() instead.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
sound/soc/intel/boards/bytcr_rt5640.c

index 940eb27..f9175cf 100644 (file)
@@ -1154,7 +1154,7 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
        struct byt_rt5640_private *priv;
        struct snd_soc_acpi_mach *mach;
        const char *platform_name;
-       const char *i2c_name = NULL;
+       struct acpi_device *adev;
        int ret_val = 0;
        int dai_index = 0;
        int i;
@@ -1178,11 +1178,11 @@ static int snd_byt_rt5640_mc_probe(struct platform_device *pdev)
        }
 
        /* fixup codec name based on HID */
-       i2c_name = acpi_dev_get_first_match_name(mach->id, NULL, -1);
-       if (i2c_name) {
+       adev = acpi_dev_get_first_match_dev(mach->id, NULL, -1);
+       if (adev) {
                snprintf(byt_rt5640_codec_name, sizeof(byt_rt5640_codec_name),
-                       "%s%s", "i2c-", i2c_name);
-
+                        "i2c-%s", acpi_dev_name(adev));
+               put_device(&adev->dev);
                byt_rt5640_dais[dai_index].codec_name = byt_rt5640_codec_name;
        }