#include <linux/io.h>
#include <linux/init.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_platform.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include "exynos-srom.h"
static const unsigned long exynos_srom_offsets[] = …;
struct exynos_srom_reg_dump { … };
struct exynos_srom { … };
static struct exynos_srom_reg_dump *
exynos_srom_alloc_reg_dump(const unsigned long *rdump,
unsigned long nr_rdump)
{ … }
static int exynos_srom_configure_bank(struct exynos_srom *srom,
struct device_node *np)
{ … }
static int exynos_srom_probe(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static void exynos_srom_save(void __iomem *base,
struct exynos_srom_reg_dump *rd,
unsigned int num_regs)
{ … }
static void exynos_srom_restore(void __iomem *base,
const struct exynos_srom_reg_dump *rd,
unsigned int num_regs)
{ … }
static int exynos_srom_suspend(struct device *dev)
{ … }
static int exynos_srom_resume(struct device *dev)
{ … }
#endif
static const struct of_device_id of_exynos_srom_ids[] = …;
static SIMPLE_DEV_PM_OPS(exynos_srom_pm_ops, exynos_srom_suspend, exynos_srom_resume);
static struct platform_driver exynos_srom_driver = …;
builtin_platform_driver(…) …;