#include <linux/bitops.h>
#include <linux/device.h>
#include <linux/errno.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/jiffies.h>
#include <linux/notifier.h>
#include <linux/of_address.h>
#include <linux/of_irq.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/printk.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
#include <linux/smp.h>
#include <linux/mfd/syscon.h>
#define RESET_SOURCE_ENABLE_REG …
#define SW_MASTER_RESET_REG …
static struct regmap *regmap;
static u32 rst_src_en;
static u32 sw_mstr_rst;
struct reset_reg_mask { … };
static const struct reset_reg_mask *reset_masks;
static int brcmstb_restart_handler(struct notifier_block *this,
unsigned long mode, void *cmd)
{ … }
static struct notifier_block brcmstb_restart_nb = …;
static const struct reset_reg_mask reset_bits_40nm = …;
static const struct reset_reg_mask reset_bits_65nm = …;
static const struct of_device_id of_match[] = …;
static int brcmstb_reboot_probe(struct platform_device *pdev)
{ … }
static struct platform_driver brcmstb_reboot_driver = …;
static int __init brcmstb_reboot_init(void)
{ … }
subsys_initcall(brcmstb_reboot_init);