#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/i2c.h>
#include <linux/bcd.h>
#include <linux/delay.h>
#include <linux/mfd/core.h>
#include <linux/random.h>
#include <linux/mfd/wm831x/core.h>
#include <linux/mfd/wm831x/otp.h>
#define WM831X_UNIQUE_ID_LEN …
static int wm831x_unique_id_read(struct wm831x *wm831x, char *id)
{ … }
static ssize_t unique_id_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(unique_id);
int wm831x_otp_init(struct wm831x *wm831x)
{ … }
void wm831x_otp_exit(struct wm831x *wm831x)
{ … }