diff options
author | Rasmus Villemoes <linux@rasmusvillemoes.dk> | 2015-02-12 09:15:17 -0500 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2015-03-09 12:59:35 -0400 |
commit | a0fc74d42d2215496302a0e2c03e9f2db30cc1b7 (patch) | |
tree | bcbe52b3a1d0e1ad4aeb5df2e4649d0dd72aa291 /drivers/hwmon | |
parent | 1055b5f90424056432430fa06f94f1d12db07fba (diff) |
hwmon: (ibmpex) Allow format string checking
The only difference between the three power_sensor_name_templates is
whether there is a suffix of "", "_lowest" or "_highest". We might as
well pull those into an array and use a literal format string,
allowing gcc to do type checking of the arguments to
sprintf. Incidentially, the same three suffixes are used in the
temp_sensor_name_templates case, so we end up eliminating one static
array.
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
[Guenter Roeck: Fixed line length over 80 characters]
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'drivers/hwmon')
-rw-r--r-- | drivers/hwmon/ibmpex.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/drivers/hwmon/ibmpex.c b/drivers/hwmon/ibmpex.c index 030e7ff589be..21b9c72f16bd 100644 --- a/drivers/hwmon/ibmpex.c +++ b/drivers/hwmon/ibmpex.c | |||
@@ -56,15 +56,10 @@ static u8 const temp_sensor_sig[] = {0x74, 0x65, 0x6D}; | |||
56 | static u8 const watt_sensor_sig[] = {0x41, 0x43}; | 56 | static u8 const watt_sensor_sig[] = {0x41, 0x43}; |
57 | 57 | ||
58 | #define PEX_NUM_SENSOR_FUNCS 3 | 58 | #define PEX_NUM_SENSOR_FUNCS 3 |
59 | static char const * const power_sensor_name_templates[] = { | 59 | static const char * const sensor_name_suffixes[] = { |
60 | "%s%d_average", | 60 | "", |
61 | "%s%d_average_lowest", | 61 | "_lowest", |
62 | "%s%d_average_highest" | 62 | "_highest" |
63 | }; | ||
64 | static char const * const temp_sensor_name_templates[] = { | ||
65 | "%s%d_input", | ||
66 | "%s%d_input_lowest", | ||
67 | "%s%d_input_highest" | ||
68 | }; | 63 | }; |
69 | 64 | ||
70 | static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data); | 65 | static void ibmpex_msg_handler(struct ipmi_recv_msg *msg, void *user_msg_data); |
@@ -355,9 +350,11 @@ static int create_sensor(struct ibmpex_bmc_data *data, int type, | |||
355 | return -ENOMEM; | 350 | return -ENOMEM; |
356 | 351 | ||
357 | if (type == TEMP_SENSOR) | 352 | if (type == TEMP_SENSOR) |
358 | sprintf(n, temp_sensor_name_templates[func], "temp", counter); | 353 | sprintf(n, "temp%d_input%s", |
354 | counter, sensor_name_suffixes[func]); | ||
359 | else if (type == POWER_SENSOR) | 355 | else if (type == POWER_SENSOR) |
360 | sprintf(n, power_sensor_name_templates[func], "power", counter); | 356 | sprintf(n, "power%d_average%s", |
357 | counter, sensor_name_suffixes[func]); | ||
361 | 358 | ||
362 | sysfs_attr_init(&data->sensors[sensor].attr[func].dev_attr.attr); | 359 | sysfs_attr_init(&data->sensors[sensor].attr[func].dev_attr.attr); |
363 | data->sensors[sensor].attr[func].dev_attr.attr.name = n; | 360 | data->sensors[sensor].attr[func].dev_attr.attr.name = n; |