#include <linux/device.h>
#include <linux/init.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <linux/sys_soc.h>
#include <linux/platform_device.h>
#include <linux/mfd/syscon.h>
#include <linux/regmap.h>
#include <linux/of.h>
#define REALVIEW_SYS_ID_OFFSET …
static const struct of_device_id realview_soc_of_match[] = …;
static u32 realview_coreid;
static const char *realview_arch_str(u32 id)
{ … }
static ssize_t
manufacturer_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(manufacturer);
static ssize_t
board_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(board);
static ssize_t
fpga_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(fpga);
static ssize_t
build_show(struct device *dev, struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(build);
static struct attribute *realview_attrs[] = …;
ATTRIBUTE_GROUPS(…);
static void realview_soc_socdev_release(void *data)
{ … }
static int realview_soc_probe(struct platform_device *pdev)
{ … }
static struct platform_driver realview_soc_driver = …;
builtin_platform_driver(…) …;