static ssize_t value_store()

in most_usb.c [849:881]


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

	err = kstrtou16(buf, 16, &val);
	if (err)
		return err;

	if (sysfs_streq(name, "arb_address")) {
		dci_obj->reg_addr = val;
		return count;
	}

	if (sysfs_streq(name, "arb_value"))
		err = drci_wr_reg(usb_dev, dci_obj->reg_addr, val);
	else if (sysfs_streq(name, "sync_ep"))
		err = start_sync_ep(usb_dev, val);
	else if (!get_static_reg_addr(rw_regs, name, &reg_addr))
		err = drci_wr_reg(usb_dev, reg_addr, val);
	else
		return -EINVAL;

	if (err < 0)
		return err;

	return count;
}