struct device_attribute *attr,
const char *buf, size_t count)
{
- int err;
- err = chromeos_set_dev_usb();
- if (err)
- return err;
- return count;
+ int err;
+ err = chromeos_set_dev_usb();
+ if (err)
+ return err;
+ return count;
+}
+
+static ssize_t ec_vbnv_store(struct device *dev,
+ struct device_attribute *attr,
+ const char *buf, size_t count)
+{
+ return chromeos_vbc_write(buf, count);
+}
+
+static ssize_t ec_vbnv_show(struct device *dev,
+ struct device_attribute *attr,
+ char *buf)
+{
+ return chromeos_vbc_read(buf, 16);
}
static DEVICE_ATTR(fw_version, S_IRUGO, ec_fw_version_show, NULL);
static DEVICE_ATTR(build_info, S_IRUGO, ec_build_info_show, NULL);
static DEVICE_ATTR(chip_info, S_IRUGO, ec_chip_info_show, NULL);
static DEVICE_ATTR(dev_usb, S_IWUGO, NULL, ec_dev_usb_store);
+static DEVICE_ATTR(vbnv, S_IRUGO | S_IWUGO, ec_vbnv_show, ec_vbnv_store);
static struct attribute *ec_fw_attrs[] = {
&dev_attr_fw_version.attr,
&dev_attr_build_info.attr,
&dev_attr_chip_info.attr,
&dev_attr_dev_usb.attr,
+ &dev_attr_vbnv.attr,
NULL
};