#include <linux/delay.h>
#include <linux/io.h>
#include <linux/notifier.h>
#include <linux/mod_devicetable.h>
#include <linux/mfd/syscon.h>
#include <linux/platform_device.h>
#include <linux/property.h>
#include <linux/reboot.h>
#include <linux/regmap.h>
struct reset_props { … };
struct ocelot_reset_context { … };
#define BIT_OFF_INVALID …
#define SOFT_CHIP_RST …
#define ICPU_CFG_CPU_SYSTEM_CTRL_GENERAL_CTRL …
#define IF_SI_OWNER_MASK …
#define IF_SI_OWNER_SISL …
#define IF_SI_OWNER_SIBM …
#define IF_SI_OWNER_SIMC …
static int ocelot_restart_handle(struct notifier_block *this,
unsigned long mode, void *cmd)
{ … }
static int ocelot_reset_probe(struct platform_device *pdev)
{ … }
static const struct reset_props reset_props_jaguar2 = …;
static const struct reset_props reset_props_luton = …;
static const struct reset_props reset_props_ocelot = …;
static const struct reset_props reset_props_sparx5 = …;
static const struct of_device_id ocelot_reset_of_match[] = …;
static struct platform_driver ocelot_reset_driver = …;
builtin_platform_driver(…) …;