#include <linux/bitfield.h>
#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/irq.h>
#include <linux/mfd/core.h>
#include <linux/mfd/rz-mtu3.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/platform_device.h>
#include <linux/reset.h>
#include <linux/spinlock.h>
#include "rz-mtu3.h"
struct rz_mtu3_priv { … };
static const unsigned long rz_mtu3_8bit_ch_reg_offs[][13] = …;
static const unsigned long rz_mtu3_16bit_ch_reg_offs[][12] = …;
static const unsigned long rz_mtu3_32bit_ch_reg_offs[][5] = …;
static bool rz_mtu3_is_16bit_shared_reg(u16 offset)
{ … }
u16 rz_mtu3_shared_reg_read(struct rz_mtu3_channel *ch, u16 offset)
{ … }
EXPORT_SYMBOL_GPL(…);
u8 rz_mtu3_8bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{ … }
EXPORT_SYMBOL_GPL(…);
u16 rz_mtu3_16bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{ … }
EXPORT_SYMBOL_GPL(…);
u32 rz_mtu3_32bit_ch_read(struct rz_mtu3_channel *ch, u16 offset)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_8bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u8 val)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_16bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u16 val)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_32bit_ch_write(struct rz_mtu3_channel *ch, u16 offset, u32 val)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_shared_reg_write(struct rz_mtu3_channel *ch, u16 offset, u16 value)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_shared_reg_update_bit(struct rz_mtu3_channel *ch, u16 offset,
u16 pos, u8 val)
{ … }
EXPORT_SYMBOL_GPL(…);
static u16 rz_mtu3_get_tstr_offset(struct rz_mtu3_channel *ch)
{ … }
static u8 rz_mtu3_get_tstr_bit_pos(struct rz_mtu3_channel *ch)
{ … }
static void rz_mtu3_start_stop_ch(struct rz_mtu3_channel *ch, bool start)
{ … }
bool rz_mtu3_is_enabled(struct rz_mtu3_channel *ch)
{ … }
EXPORT_SYMBOL_GPL(…);
int rz_mtu3_enable(struct rz_mtu3_channel *ch)
{ … }
EXPORT_SYMBOL_GPL(…);
void rz_mtu3_disable(struct rz_mtu3_channel *ch)
{ … }
EXPORT_SYMBOL_GPL(…);
static void rz_mtu3_reset_assert(void *data)
{ … }
static const struct mfd_cell rz_mtu3_devs[] = …;
static int rz_mtu3_probe(struct platform_device *pdev)
{ … }
static const struct of_device_id rz_mtu3_of_match[] = …;
MODULE_DEVICE_TABLE(of, rz_mtu3_of_match);
static struct platform_driver rz_mtu3_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;