Lines Matching defs:cdev

25  * @cdev:		sof_client_dev of the requesting client
31 struct sof_client_dev *cdev;
38 * @cdev: sof_client_dev of the requesting client
43 struct sof_client_dev *cdev;
51 struct sof_client_dev *cdev = auxiliary_dev_to_sof_client_dev(auxdev);
53 kfree(cdev->auxdev.dev.platform_data);
54 kfree(cdev);
57 static int sof_client_dev_add_data(struct sof_client_dev *cdev, const void *data,
68 cdev->auxdev.dev.platform_data = d;
212 struct sof_client_dev *cdev;
215 cdev = kzalloc(sizeof(*cdev), GFP_KERNEL);
216 if (!cdev)
219 cdev->sdev = sdev;
220 auxdev = &cdev->auxdev;
226 ret = sof_client_dev_add_data(cdev, data, size);
236 ret = auxiliary_device_add(&cdev->auxdev);
243 auxiliary_device_uninit(&cdev->auxdev);
249 list_add(&cdev->list, &sdev->ipc_client_list);
255 kfree(cdev->auxdev.dev.platform_data);
258 kfree(cdev);
266 struct sof_client_dev *cdev;
274 list_for_each_entry(cdev, &sdev->ipc_client_list, list) {
275 if (!strcmp(cdev->auxdev.name, name) && cdev->auxdev.id == id) {
276 list_del(&cdev->list);
277 auxiliary_device_delete(&cdev->auxdev);
278 auxiliary_device_uninit(&cdev->auxdev);
287 int sof_client_ipc_tx_message(struct sof_client_dev *cdev, void *ipc_msg,
290 if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
293 return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, hdr->size,
295 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
298 return sof_ipc_tx_message(cdev->sdev->ipc, ipc_msg, msg->data_size,
306 int sof_client_ipc_rx_message(struct sof_client_dev *cdev, void *ipc_msg, void *msg_buf)
308 if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
312 dev_err(cdev->sdev->dev, "The received message size is invalid\n");
316 sof_ipc3_do_rx_work(cdev->sdev, ipc_msg, msg_buf);
324 int sof_client_ipc_set_get_data(struct sof_client_dev *cdev, void *ipc_msg,
327 if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
330 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg, hdr->size,
332 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
335 return sof_ipc_set_get_data(cdev->sdev->ipc, ipc_msg,
360 struct sof_client_dev *cdev;
364 list_for_each_entry(cdev, &sdev->ipc_client_list, list) {
366 if (!cdev->auxdev.dev.driver)
369 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver);
371 adrv->suspend(&cdev->auxdev, state);
383 struct sof_client_dev *cdev;
387 list_for_each_entry(cdev, &sdev->ipc_client_list, list) {
389 if (!cdev->auxdev.dev.driver)
392 adrv = to_auxiliary_drv(cdev->auxdev.dev.driver);
394 adrv->resume(&cdev->auxdev);
403 struct dentry *sof_client_get_debugfs_root(struct sof_client_dev *cdev)
405 return cdev->sdev->debugfs_root;
410 struct device *sof_client_get_dma_dev(struct sof_client_dev *cdev)
412 return cdev->sdev->dev;
416 const struct sof_ipc_fw_version *sof_client_get_fw_version(struct sof_client_dev *cdev)
418 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
424 size_t sof_client_get_ipc_max_payload_size(struct sof_client_dev *cdev)
426 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
432 enum sof_ipc_type sof_client_get_ipc_type(struct sof_client_dev *cdev)
434 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
441 int sof_client_core_module_get(struct sof_client_dev *cdev)
443 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
452 void sof_client_core_module_put(struct sof_client_dev *cdev)
454 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
484 event->callback(event->cdev, msg_buf);
490 int sof_client_register_ipc_rx_handler(struct sof_client_dev *cdev,
494 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
500 if (cdev->sdev->pdata->ipc_type == SOF_IPC) {
503 } else if (cdev->sdev->pdata->ipc_type == SOF_INTEL_IPC4) {
517 event->cdev = cdev;
529 void sof_client_unregister_ipc_rx_handler(struct sof_client_dev *cdev,
532 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
538 if (event->cdev == cdev && event->ipc_msg_type == ipc_msg_type) {
557 event->callback(event->cdev, sdev->fw_state);
562 int sof_client_register_fw_state_handler(struct sof_client_dev *cdev,
565 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
575 event->cdev = cdev;
587 void sof_client_unregister_fw_state_handler(struct sof_client_dev *cdev)
589 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);
595 if (event->cdev == cdev) {
606 enum sof_fw_state sof_client_get_fw_state(struct sof_client_dev *cdev)
608 struct snd_sof_dev *sdev = sof_client_dev_to_sof_dev(cdev);