ASoC: SOF: core: fix undefined nocodec reference
authorPierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Tue, 7 May 2019 16:32:36 +0000 (11:32 -0500)
committerMark Brown <broonie@kernel.org>
Wed, 8 May 2019 06:42:00 +0000 (15:42 +0900)
The existing code mistakenly uses IS_ENABLED in C code instead of as
in conditional compilation, leading to the following error:

ld: sound/soc/sof/core.o: in function `sof_machine_check':
sound/soc/sof/core.c:279: undefined reference to `sof_nocodec_setup'

Fix by using #if !IS_ENABLED()

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/core.c

index 39cbd84ff9c8cabd57ced226789a17d1076b7341..5ddbfa8f1a2871912c16d6184a77cf814ee63596 100644 (file)
@@ -265,11 +265,10 @@ static int sof_machine_check(struct snd_sof_dev *sdev)
        if (plat_data->machine)
                return 0;
 
-       if (!IS_ENABLED(CONFIG_SND_SOC_SOF_NOCODEC)) {
-               dev_err(sdev->dev, "error: no matching ASoC machine driver found - aborting probe\n");
-               return -ENODEV;
-       }
-
+#if !IS_ENABLED(CONFIG_SND_SOC_SOF_NOCODEC)
+       dev_err(sdev->dev, "error: no matching ASoC machine driver found - aborting probe\n");
+       return -ENODEV;
+#else
        /* fallback to nocodec mode */
        dev_warn(sdev->dev, "No ASoC machine driver found - using nocodec\n");
        machine = devm_kzalloc(sdev->dev, sizeof(*machine), GFP_KERNEL);
@@ -284,6 +283,7 @@ static int sof_machine_check(struct snd_sof_dev *sdev)
        plat_data->machine = machine;
 
        return 0;
+#endif
 }
 
 static int sof_probe_continue(struct snd_sof_dev *sdev)