#include <linux/mfd/syscon.h>
#include <linux/of.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/sys_soc.h>
#define GCR_PDID …
#define PDID_CHIP(x) …
#define CHIP_WPCM450 …
#define PDID_REV(x) …
struct revision { … };
static const struct revision revisions[] __initconst = …;
static const char * __init get_revision(unsigned int rev)
{ … }
static struct soc_device_attribute *wpcm450_attr;
static struct soc_device *wpcm450_soc;
static int __init wpcm450_soc_init(void)
{ … }
module_init(…) …;
static void __exit wpcm450_soc_exit(void)
{ … }
module_exit(wpcm450_soc_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;