}
 EXPORT_SYMBOL(sof_dai_get_bclk);
 
-static struct snd_sof_of_mach *sof_of_machine_select(struct snd_sof_dev *sdev)
-{
-       struct snd_sof_pdata *sof_pdata = sdev->pdata;
-       const struct sof_dev_desc *desc = sof_pdata->desc;
-       struct snd_sof_of_mach *mach = desc->of_machines;
-
-       if (!mach)
-               return NULL;
-
-       for (; mach->compatible; mach++) {
-               if (of_machine_is_compatible(mach->compatible)) {
-                       sof_pdata->tplg_filename = mach->sof_tplg_filename;
-                       if (mach->fw_filename)
-                               sof_pdata->fw_filename = mach->fw_filename;
-
-                       return mach;
-               }
-       }
-
-       return NULL;
-}
-
 /*
  * SOF Driver enumeration.
  */
 
        pm_runtime_enable(dev);
 }
 
+struct snd_sof_of_mach *sof_of_machine_select(struct snd_sof_dev *sdev)
+{
+       struct snd_sof_pdata *sof_pdata = sdev->pdata;
+       const struct sof_dev_desc *desc = sof_pdata->desc;
+       struct snd_sof_of_mach *mach = desc->of_machines;
+
+       if (!mach)
+               return NULL;
+
+       for (; mach->compatible; mach++) {
+               if (of_machine_is_compatible(mach->compatible)) {
+                       sof_pdata->tplg_filename = mach->sof_tplg_filename;
+                       if (mach->fw_filename)
+                               sof_pdata->fw_filename = mach->fw_filename;
+
+                       return mach;
+               }
+       }
+
+       return NULL;
+}
+EXPORT_SYMBOL(sof_of_machine_select);
+
 int sof_of_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
 
        const char *sof_tplg_filename;
 };
 
+#if IS_ENABLED(CONFIG_SND_SOC_SOF_OF_DEV)
+struct snd_sof_of_mach *sof_of_machine_select(struct snd_sof_dev *sdev);
+#else
+static inline struct snd_sof_of_mach *sof_of_machine_select(struct snd_sof_dev *sdev)
+{
+       return NULL;
+}
+#endif
+
 extern const struct dev_pm_ops sof_of_pm;
 
 int sof_of_probe(struct platform_device *pdev);