Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a29ccf6f authored by Rasmus Villemoes's avatar Rasmus Villemoes Committed by Darren Hart
Browse files

intel_menlow: reduce code duplication



aux0_show and aux1_show consists of almost identical code. Pull that
into a common helper and make them thin wrappers. Similarly for
_store.

Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
parent aca234f6
Loading
Loading
Loading
Loading
+22 −27
Original line number Diff line number Diff line
@@ -306,33 +306,32 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value)
#define to_intel_menlow_attr(_attr)	\
	container_of(_attr, struct intel_menlow_attribute, attr)

static ssize_t aux0_show(struct device *dev,
			 struct device_attribute *dev_attr, char *buf)
static ssize_t aux_show(struct device *dev, struct device_attribute *dev_attr,
			char *buf, int idx)
{
	struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
	unsigned long long value;
	int result;

	result = sensor_get_auxtrip(attr->handle, 0, &value);
	result = sensor_get_auxtrip(attr->handle, idx, &value);

	return result ? result : sprintf(buf, "%lu", DECI_KELVIN_TO_CELSIUS(value));
}

static ssize_t aux1_show(struct device *dev,
static ssize_t aux0_show(struct device *dev,
			 struct device_attribute *dev_attr, char *buf)
{
	struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
	unsigned long long value;
	int result;

	result = sensor_get_auxtrip(attr->handle, 1, &value);
	return aux_show(dev, dev_attr, buf, 0);
}

	return result ? result : sprintf(buf, "%lu", DECI_KELVIN_TO_CELSIUS(value));
static ssize_t aux1_show(struct device *dev,
			 struct device_attribute *dev_attr, char *buf)
{
	return aux_show(dev, dev_attr, buf, 1);
}

static ssize_t aux0_store(struct device *dev,
			  struct device_attribute *dev_attr,
			  const char *buf, size_t count)
static ssize_t aux_store(struct device *dev, struct device_attribute *dev_attr,
			 const char *buf, size_t count, int idx)
{
	struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
	int value;
@@ -345,27 +344,23 @@ static ssize_t aux0_store(struct device *dev,
	if (value < 0)
		return -EINVAL;

	result = sensor_set_auxtrip(attr->handle, 0, CELSIUS_TO_DECI_KELVIN(value));
	result = sensor_set_auxtrip(attr->handle, idx, 
				    CELSIUS_TO_DECI_KELVIN(value));
	return result ? result : count;
}

static ssize_t aux1_store(struct device *dev,
static ssize_t aux0_store(struct device *dev,
			  struct device_attribute *dev_attr,
			  const char *buf, size_t count)
{
	struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
	int value;
	int result;

	/*Sanity check; should be a positive integer */
	if (!sscanf(buf, "%d", &value))
		return -EINVAL;

	if (value < 0)
		return -EINVAL;
	return aux_store(dev, dev_attr, buf, count, 0);
}

	result = sensor_set_auxtrip(attr->handle, 1, CELSIUS_TO_DECI_KELVIN(value));
	return result ? result : count;
static ssize_t aux1_store(struct device *dev,
			  struct device_attribute *dev_attr,
			  const char *buf, size_t count)
{
	return aux_store(dev, dev_attr, buf, count, 1);
}

/* BIOS can enable/disable the thermal user application in dabney platform */