/* I have NFC how to interpret the content of that register ;-).  */
static ssize_t pdcs_diagnostic_read(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
/* I have NFC how to interpret the content of that register ;-).  */
static ssize_t pdcs_diagnostic_read(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
{
	char *out = buf;
	u32 result;
	if (!buf)
		return -EINVAL;
	if (pdc_stable_read(PDCS_ADDR_DIAG, &result, sizeof(result)) != PDC_OK)
		return -EIO;
	out += sprintf(out, "0x%.4x\n", (result >> 16));
	return out - buf;
}