/* This can hold pdcs_size - 224 bytes of OS-Dependent data, when available.  */
static ssize_t pdcs_osdep2_read(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
/* This can hold pdcs_size - 224 bytes of OS-Dependent data, when available.  */
static ssize_t pdcs_osdep2_read(struct kobject *kobj, struct kobj_attribute *attr, char *buf)
{
	char *out = buf;
	unsigned long size;
	unsigned short i;
	u32 result;
	if (unlikely(pdcs_size <= 224))
		return -ENODATA;
	size = pdcs_size - 224;
	if (!buf)
		return -EINVAL;
	for (i=0; i<size; i+=4) {
		if (unlikely(pdc_stable_read(PDCS_ADDR_OSD2 + i, &result,
					sizeof(result)) != PDC_OK))
			return -EIO;
		out += sprintf(out, "0x%.8x\n", result);
	}
	return out - buf;
}