diff options
author | Kyle McMartin <kyle@mcmartin.ca> | 2012-04-02 20:19:01 +0200 |
---|---|---|
committer | Guenter Roeck <guenter.roeck@ericsson.com> | 2012-05-21 04:41:48 +0200 |
commit | 3c45f2c78db21f4676287df19c89343acf04e7ef (patch) | |
tree | 64745a4cfd39bf11851f6e378340dc9b7f09c59a /drivers/hwmon/acpi_power_meter.c | |
parent | acpi_power_meter: use the same struct {rw,ro}_sensor_template for both (diff) | |
download | linux-3c45f2c78db21f4676287df19c89343acf04e7ef.tar.xz linux-3c45f2c78db21f4676287df19c89343acf04e7ef.zip |
acpi_power_meter: use a {RW,RO}_SENSOR_TEMPLATE macro to clean things up
Similar to how we do PCI/USB device id structs.
Signed-off-by: Kyle McMartin <kyle@redhat.com>
Signed-off-by: Guenter Roeck <guenter.roeck@ericsson.com>
Diffstat (limited to 'drivers/hwmon/acpi_power_meter.c')
-rw-r--r-- | drivers/hwmon/acpi_power_meter.c | 130 |
1 files changed, 37 insertions, 93 deletions
diff --git a/drivers/hwmon/acpi_power_meter.c b/drivers/hwmon/acpi_power_meter.c index f9111561a30e..11922c835860 100644 --- a/drivers/hwmon/acpi_power_meter.c +++ b/drivers/hwmon/acpi_power_meter.c @@ -461,128 +461,72 @@ static ssize_t show_name(struct device *dev, return sprintf(buf, "%s\n", ACPI_POWER_METER_NAME); } +#define RO_SENSOR_TEMPLATE(_label, _show, _index) \ + { \ + .label = _label, \ + .show = _show, \ + .index = _index, \ + } + +#define RW_SENSOR_TEMPLATE(_label, _show, _set, _index) \ + { \ + .label = _label, \ + .show = _show, \ + .set = _set, \ + .index = _index, \ + } + /* Sensor descriptions. If you add a sensor, update NUM_SENSORS above! */ static struct sensor_template meter_ro_attrs[] = { - { - .label = POWER_AVERAGE_NAME, - .show = show_power, - .index = 0, - }, - { - .label = "power1_accuracy", - .show = show_accuracy, - .index = 0, - }, - { .label = "power1_average_interval_min", - .show = show_val, - .index = 0 - }, - { - .label = "power1_average_interval_max", - .show = show_val, - .index = 1, - }, - { - .label = "power1_is_battery", - .show = show_val, - .index = 5, - }, + RO_SENSOR_TEMPLATE(POWER_AVERAGE_NAME, show_power, 0), + RO_SENSOR_TEMPLATE("power1_accuracy", show_accuracy, 0), + RO_SENSOR_TEMPLATE("power1_average_interval_min", show_val, 0), + RO_SENSOR_TEMPLATE("power1_average_interval_max", show_val, 1), + RO_SENSOR_TEMPLATE("power1_is_battery", show_val, 5), {}, }; static struct sensor_template meter_rw_attrs[] = { - { - .label = POWER_AVG_INTERVAL_NAME, - .show = show_avg_interval, - .set = set_avg_interval, - .index = 0, - }, + RW_SENSOR_TEMPLATE(POWER_AVG_INTERVAL_NAME, show_avg_interval, + set_avg_interval, 0), {}, }; static struct sensor_template misc_cap_attrs[] = { - { - .label = "power1_cap_min", - .show = show_val, - .index = 2, - }, - { - .label = "power1_cap_max", - .show = show_val, - .index = 3, - }, - { - .label = "power1_cap_hyst", - .show = show_val, - .index = 4, - }, - { - .label = POWER_ALARM_NAME, - .show = show_val, - .index = 6, - }, + RO_SENSOR_TEMPLATE("power1_cap_min", show_val, 2), + RO_SENSOR_TEMPLATE("power1_cap_max", show_val, 3), + RO_SENSOR_TEMPLATE("power1_cap_hyst", show_val, 4), + RO_SENSOR_TEMPLATE(POWER_ALARM_NAME, show_val, 6), {}, }; static struct sensor_template ro_cap_attrs[] = { - { - .label = POWER_CAP_NAME, - .show = show_cap, - .index = 0, - }, + RO_SENSOR_TEMPLATE(POWER_CAP_NAME, show_cap, 0), {}, }; static struct sensor_template rw_cap_attrs[] = { - { - .label = POWER_CAP_NAME, - .show = show_cap, - .set = set_cap, - .index = 0, - }, + RW_SENSOR_TEMPLATE(POWER_CAP_NAME, show_cap, set_cap, 0), {}, }; static struct sensor_template trip_attrs[] = { - { - .label = "power1_average_min", - .show = show_val, - .set = set_trip, - .index = 7, - }, - { - .label = "power1_average_max", - .show = show_val, - .set = set_trip, - .index = 8, - }, + RW_SENSOR_TEMPLATE("power1_average_min", show_val, set_trip, 7), + RW_SENSOR_TEMPLATE("power1_average_max", show_val, set_trip, 8), {}, }; static struct sensor_template misc_attrs[] = { - { - .label = "name", - .show = show_name, - .index = 0, - }, - { - .label = "power1_model_number", - .show = show_str, - .index = 0, - }, - { - .label = "power1_oem_info", - .show = show_str, - .index = 2, - }, - { - .label = "power1_serial_number", - .show = show_str, - .index = 1, - }, + RO_SENSOR_TEMPLATE("name", show_name, 0), + RO_SENSOR_TEMPLATE("power1_model_number", show_str, 0), + RO_SENSOR_TEMPLATE("power1_oem_info", show_str, 2), + RO_SENSOR_TEMPLATE("power1_serial_number", show_str, 1), {}, }; +#undef RO_SENSOR_TEMPLATE +#undef RW_SENSOR_TEMPLATE + /* Read power domain data */ static void remove_domain_devices(struct acpi_power_meter_resource *resource) { |