static ssize_t value_show()

in most_usb.c [824:847]


static ssize_t value_show(struct device *dev, struct device_attribute *attr,
			  char *buf)
{
	const char *name = attr->attr.name;
	struct most_dci_obj *dci_obj = to_dci_obj(dev);
	u16 val;
	u16 reg_addr;
	int err;

	if (sysfs_streq(name, "arb_address"))
		return sysfs_emit(buf, "%04x\n", dci_obj->reg_addr);

	if (sysfs_streq(name, "arb_value"))
		reg_addr = dci_obj->reg_addr;
	else if (get_static_reg_addr(ro_regs, name, &reg_addr) &&
		 get_static_reg_addr(rw_regs, name, &reg_addr))
		return -EINVAL;

	err = drci_rd_reg(dci_obj->usb_device, reg_addr, &val);
	if (err < 0)
		return err;

	return sysfs_emit(buf, "%04x\n", val);
}