struct snd_soc_acpi_mach *mach;
        const char *platform_name;
        struct cht_mc_private *drv;
-       const char *i2c_name = NULL;
+       struct acpi_device *adev;
        bool found = false;
        bool is_bytcr = false;
        int dai_index = 0;
                }
 
        /* 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(cht_rt5645_codec_name, sizeof(cht_rt5645_codec_name),
-                       "%s%s", "i2c-", i2c_name);
+                        "i2c-%s", acpi_dev_name(adev));
+               put_device(&adev->dev);
                cht_dailink[dai_index].codec_name = cht_rt5645_codec_name;
        }