linux/drivers/mailbox/stm32-ipcc.c

// SPDX-License-Identifier: GPL-2.0
/*
 * Copyright (C) STMicroelectronics 2018 - All Rights Reserved
 * Authors: Ludovic Barre <[email protected]> for STMicroelectronics.
 *          Fabien Dessenne <[email protected]> for STMicroelectronics.
 */

#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/mailbox_controller.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_wakeirq.h>

#define IPCC_XCR
#define XCR_RXOIE
#define XCR_TXOIE

#define IPCC_XMR
#define IPCC_XSCR
#define IPCC_XTOYSR

#define IPCC_PROC_OFFST

#define IPCC_HWCFGR
#define IPCFGR_CHAN_MASK

#define IPCC_VER
#define VER_MINREV_MASK
#define VER_MAJREV_MASK

#define RX_BIT_MASK
#define RX_BIT_CHAN(chan)
#define TX_BIT_SHIFT
#define TX_BIT_MASK
#define TX_BIT_CHAN(chan)

#define STM32_MAX_PROCS

enum {};

struct stm32_ipcc {};

static inline void stm32_ipcc_set_bits(spinlock_t *lock, void __iomem *reg,
				       u32 mask)
{}

static inline void stm32_ipcc_clr_bits(spinlock_t *lock, void __iomem *reg,
				       u32 mask)
{}

static irqreturn_t stm32_ipcc_rx_irq(int irq, void *data)
{}

static irqreturn_t stm32_ipcc_tx_irq(int irq, void *data)
{}

static int stm32_ipcc_send_data(struct mbox_chan *link, void *data)
{}

static int stm32_ipcc_startup(struct mbox_chan *link)
{}

static void stm32_ipcc_shutdown(struct mbox_chan *link)
{}

static const struct mbox_chan_ops stm32_ipcc_ops =;

static int stm32_ipcc_probe(struct platform_device *pdev)
{}

static void stm32_ipcc_remove(struct platform_device *pdev)
{}

#ifdef CONFIG_PM_SLEEP
static int stm32_ipcc_suspend(struct device *dev)
{}

static int stm32_ipcc_resume(struct device *dev)
{}
#endif

static SIMPLE_DEV_PM_OPS(stm32_ipcc_pm_ops,
			 stm32_ipcc_suspend, stm32_ipcc_resume);

static const struct of_device_id stm32_ipcc_of_match[] =;
MODULE_DEVICE_TABLE(of, stm32_ipcc_of_match);

static struct platform_driver stm32_ipcc_driver =;

module_platform_driver();

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