linux/drivers/firmware/imx/imx-dsp.c

// SPDX-License-Identifier: GPL-2.0+
/*
 * Copyright 2019 NXP
 *  Author: Daniel Baluta <[email protected]>
 *
 * Implementation of the DSP IPC interface (host side)
 */

#include <linux/firmware/imx/dsp.h>
#include <linux/kernel.h>
#include <linux/mailbox_client.h>
#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/slab.h>

/*
 * imx_dsp_ring_doorbell - triggers an interrupt on the other side (DSP)
 *
 * @dsp: DSP IPC handle
 * @chan_idx: index of the channel where to trigger the interrupt
 *
 * Returns non-negative value for success, negative value for error
 */
int imx_dsp_ring_doorbell(struct imx_dsp_ipc *ipc, unsigned int idx)
{}
EXPORT_SYMBOL();

/*
 * imx_dsp_handle_rx - rx callback used by imx mailbox
 *
 * @c: mbox client
 * @msg: message received
 *
 * Users of DSP IPC will need to privde handle_reply and handle_request
 * callbacks.
 */
static void imx_dsp_handle_rx(struct mbox_client *c, void *msg)
{}

struct mbox_chan *imx_dsp_request_channel(struct imx_dsp_ipc *dsp_ipc, int idx)
{}
EXPORT_SYMBOL();

void imx_dsp_free_channel(struct imx_dsp_ipc *dsp_ipc, int idx)
{}
EXPORT_SYMBOL();

static int imx_dsp_setup_channels(struct imx_dsp_ipc *dsp_ipc)
{}

static int imx_dsp_probe(struct platform_device *pdev)
{}

static void imx_dsp_remove(struct platform_device *pdev)
{}

static struct platform_driver imx_dsp_driver =;
builtin_platform_driver();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();