Instead of calling put_device(&adev->dev) where adev is a pointer
to an ACPI device, use specific call, i.e. acpi_dev_put().
Also move it out of the conditional to make it more visible in case
some other code will be added which may use that pointer. We need
to keep a reference as long as we use the pointer.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20230102203037.16120-4-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
 
        if (adev) {
                snprintf(drv->codec_name, sizeof(drv->codec_name),
                         "i2c-%s", acpi_dev_name(adev));
-               put_device(&adev->dev);
                cht_dailink[dai_index].codecs->name = drv->codec_name;
        }
+       acpi_dev_put(adev);
 
        /* Use SSP0 on Bay Trail CR devices */
        if (soc_intel_is_byt() && mach->mach_params.acpi_ipc_irq_index == 0) {