static ssize_t proximity_cancel_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { int iCalCMD = 0, iRet = 0; struct ssp_data *data = dev_get_drvdata(dev); if (sysfs_streq(buf, "1")) /* calibrate cancelation value */ iCalCMD = 1; else if (sysfs_streq(buf, "0")) /* reset cancelation value */ iCalCMD = 0; else { pr_debug("%s: invalid value %d\n", __func__, *buf); return -EINVAL; } iRet = proximity_store_cancelation(data, iCalCMD); if (iRet < 0) { pr_err("[SSP]: - %s proximity_store_cancelation() failed\n", __func__); return iRet; } ssp_dbg("[SSP]: %s - %u\n", __func__, iCalCMD); return size; }
static ssize_t proximity_cancel_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { bool do_calib; int err; if (sysfs_streq(buf, "1")) /* calibrate cancelation value */ do_calib = true; else if (sysfs_streq(buf, "0")) /* reset cancelation value */ do_calib = false; else { pr_debug("[SENSOR] %s: invalid value %d\n", __func__, *buf); return -EINVAL; } err = proximity_store_cancelation(dev, do_calib); if (err < 0) { pr_err("[SENSOR] %s: proximity_store_cancelation() failed\n", __func__); return err; } return size; }