Unverified Commit 7f0a3dff authored by Jyri Sarha's avatar Jyri Sarha Committed by Mark Brown
Browse files

ASoC: SOF: client: Add sof_client_ipc4_find_module() function

parent d8bc54a5
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
#include "ops.h"
#include "sof-client.h"
#include "sof-priv.h"
#include "ipc4-priv.h"

/**
 * struct sof_ipc_event_entry - IPC client event description
@@ -284,6 +285,20 @@ int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
}
EXPORT_SYMBOL_NS_GPL(sof_client_ipc_set_get_data, SND_SOC_SOF_CLIENT);

#ifdef CONFIG_SND_SOC_SOF_INTEL_IPC4
struct sof_ipc4_fw_module *sof_client_ipc4_find_module(struct sof_client_dev *c, const guid_t *uuid)
{
	struct snd_sof_dev *sdev = c->sdev;

	if (sdev->pdata->ipc_type == SOF_INTEL_IPC4)
		return sof_ipc4_find_module_by_uuid(sdev, uuid);
	dev_err(sdev->dev, "Only supported with IPC4\n");

	return NULL;
}
EXPORT_SYMBOL_NS_GPL(sof_client_ipc4_find_module, SND_SOC_SOF_CLIENT);
#endif

int sof_suspend_clients(struct snd_sof_dev *sdev, pm_message_t state)
{
	struct auxiliary_driver *adrv;
+4 −0
Original line number Diff line number Diff line
@@ -13,6 +13,8 @@ struct sof_ipc_cmd_hdr;
struct snd_sof_dev;
struct dentry;

struct sof_ipc4_fw_module;

/**
 * struct sof_client_dev - SOF client device
 * @auxdev:	auxiliary device
@@ -40,6 +42,8 @@ int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg,
int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
				bool set);

struct sof_ipc4_fw_module *sof_client_ipc4_find_module(struct sof_client_dev *c, const guid_t *u);

struct dentry *sof_client_get_debugfs_root(struct sof_client_dev *cdev);
struct device *sof_client_get_dma_dev(struct sof_client_dev *cdev);
const struct sof_ipc_fw_version *sof_client_get_fw_version(struct sof_client_dev *cdev);