#include <linux/io.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/platform_device.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
#include <linux/mfd/syscon.h>
#include <linux/of.h>
#define RSTYPE_RG …
#define RSCTRL_RG …
#define RSCFG_RG …
#define RSISO_RG …
#define RSCTRL_KEY_MASK …
#define RSCTRL_RESET_MASK …
#define RSCTRL_KEY …
#define RSMUX_OMODE_MASK …
#define RSMUX_OMODE_RESET_ON …
#define RSMUX_OMODE_RESET_OFF …
#define RSMUX_LOCK_MASK …
#define RSMUX_LOCK_SET …
#define RSCFG_RSTYPE_SOFT …
#define RSCFG_RSTYPE_HARD …
#define WDT_MUX_NUMBER …
static int rspll_offset;
static struct regmap *pllctrl_regs;
static inline int rsctrl_enable_rspll_write(void)
{ … }
static int rsctrl_restart_handler(struct notifier_block *this,
unsigned long mode, void *cmd)
{ … }
static struct notifier_block rsctrl_restart_nb = …;
static const struct of_device_id rsctrl_of_match[] = …;
MODULE_DEVICE_TABLE(of, rsctrl_of_match);
static int rsctrl_probe(struct platform_device *pdev)
{ … }
static struct platform_driver rsctrl_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS(…) …;