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

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
...@@ -306,33 +306,32 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value) ...@@ -306,33 +306,32 @@ static int sensor_set_auxtrip(acpi_handle handle, int index, int value)
#define to_intel_menlow_attr(_attr) \ #define to_intel_menlow_attr(_attr) \
container_of(_attr, struct intel_menlow_attribute, attr) container_of(_attr, struct intel_menlow_attribute, attr)
static ssize_t aux0_show(struct device *dev, static ssize_t aux_show(struct device *dev, struct device_attribute *dev_attr,
struct device_attribute *dev_attr, char *buf) char *buf, int idx)
{ {
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr); struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
unsigned long long value; unsigned long long value;
int result; 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)); 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 device_attribute *dev_attr, char *buf)
{ {
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr); return aux_show(dev, dev_attr, buf, 0);
unsigned long long value; }
int result;
result = sensor_get_auxtrip(attr->handle, 1, &value);
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, static ssize_t aux_store(struct device *dev, struct device_attribute *dev_attr,
struct device_attribute *dev_attr, const char *buf, size_t count, int idx)
const char *buf, size_t count)
{ {
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr); struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr);
int value; int value;
...@@ -345,27 +344,23 @@ static ssize_t aux0_store(struct device *dev, ...@@ -345,27 +344,23 @@ static ssize_t aux0_store(struct device *dev,
if (value < 0) if (value < 0)
return -EINVAL; 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; 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, struct device_attribute *dev_attr,
const char *buf, size_t count) const char *buf, size_t count)
{ {
struct intel_menlow_attribute *attr = to_intel_menlow_attr(dev_attr); return aux_store(dev, dev_attr, buf, count, 0);
int value; }
int result;
/*Sanity check; should be a positive integer */
if (!sscanf(buf, "%d", &value))
return -EINVAL;
if (value < 0)
return -EINVAL;
result = sensor_set_auxtrip(attr->handle, 1, CELSIUS_TO_DECI_KELVIN(value)); static ssize_t aux1_store(struct device *dev,
return result ? result : count; 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 */ /* BIOS can enable/disable the thermal user application in dabney platform */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment