#include <linux/ktime.h>
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/processor.h>
#include <linux/types.h>
#include <linux/bug.h>
#include "common.h"
struct scmi_shared_mem { … };
static void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem,
struct scmi_xfer *xfer,
struct scmi_chan_info *cinfo)
{ … }
static u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem)
{ … }
static void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem,
struct scmi_xfer *xfer)
{ … }
static void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem,
size_t max_len, struct scmi_xfer *xfer)
{ … }
static void shmem_clear_channel(struct scmi_shared_mem __iomem *shmem)
{ … }
static bool shmem_poll_done(struct scmi_shared_mem __iomem *shmem,
struct scmi_xfer *xfer)
{ … }
static bool shmem_channel_free(struct scmi_shared_mem __iomem *shmem)
{ … }
static bool shmem_channel_intr_enabled(struct scmi_shared_mem __iomem *shmem)
{ … }
static void __iomem *shmem_setup_iomap(struct scmi_chan_info *cinfo,
struct device *dev, bool tx,
struct resource *res)
{ … }
static const struct scmi_shared_mem_operations scmi_shmem_ops = …;
const struct scmi_shared_mem_operations *scmi_shared_mem_operations_get(void)
{ … }