Commit 7640cd0b authored by Andy Shevchenko's avatar Andy Shevchenko
Browse files

platform/x86: hp-wmi: Refactor postcode_store() to follow standard patterns



Refactor postcode_store() to follow standard patterns of error handling.

While at it, switch to use kstrtobool().

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
parent c0f61c51
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -473,22 +473,20 @@ static ssize_t als_store(struct device *dev, struct device_attribute *attr,
static ssize_t postcode_store(struct device *dev, struct device_attribute *attr,
			      const char *buf, size_t count)
{
	long unsigned int tmp2;
	u32 tmp = 1;
	bool clear;
	int ret;
	u32 tmp;

	ret = kstrtoul(buf, 10, &tmp2);
	if (!ret && tmp2 != 1)
		ret = -EINVAL;
	ret = kstrtobool(buf, &clear);
	if (ret)
		goto out;
		return ret;

	if (clear == false)
		return -EINVAL;

	/* Clear the POST error code. It is kept until until cleared. */
	tmp = (u32) tmp2;
	ret = hp_wmi_perform_query(HPWMI_POSTCODEERROR_QUERY, HPWMI_WRITE, &tmp,
				       sizeof(tmp), sizeof(tmp));

out:
	if (ret)
		return ret < 0 ? ret : -EINVAL;