hwmon.c (9b26947ce5b6a6d5f260d9564195e8971cc9713d) hwmon.c (b308f5c744522de020da4706718de9076adeada7)
1/*
2 * hwmon.c - part of lm_sensors, Linux kernel modules for hardware monitoring
3 *
4 * This file defines the sysfs class "hwmon", for use by sensors drivers.
5 *
6 * Copyright (C) 2005 Mark M. Hoffman <mhoffman@lightlink.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 247 unchanged lines hidden (view full) ---

256
257 return a;
258}
259
260static const char * const hwmon_chip_attr_templates[] = {
261 [hwmon_chip_temp_reset_history] = "temp_reset_history",
262 [hwmon_chip_in_reset_history] = "in_reset_history",
263 [hwmon_chip_curr_reset_history] = "curr_reset_history",
1/*
2 * hwmon.c - part of lm_sensors, Linux kernel modules for hardware monitoring
3 *
4 * This file defines the sysfs class "hwmon", for use by sensors drivers.
5 *
6 * Copyright (C) 2005 Mark M. Hoffman <mhoffman@lightlink.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 247 unchanged lines hidden (view full) ---

256
257 return a;
258}
259
260static const char * const hwmon_chip_attr_templates[] = {
261 [hwmon_chip_temp_reset_history] = "temp_reset_history",
262 [hwmon_chip_in_reset_history] = "in_reset_history",
263 [hwmon_chip_curr_reset_history] = "curr_reset_history",
264 [hwmon_chip_power_reset_history] = "power_reset_history",
264 [hwmon_chip_update_interval] = "update_interval",
265 [hwmon_chip_alarms] = "alarms",
266};
267
268static const char * const hwmon_temp_attr_templates[] = {
269 [hwmon_temp_input] = "temp%d_input",
270 [hwmon_temp_type] = "temp%d_type",
271 [hwmon_temp_lcrit] = "temp%d_lcrit",

--- 51 unchanged lines hidden (view full) ---

323 [hwmon_curr_label] = "curr%d_label",
324 [hwmon_curr_alarm] = "curr%d_alarm",
325 [hwmon_curr_min_alarm] = "curr%d_min_alarm",
326 [hwmon_curr_max_alarm] = "curr%d_max_alarm",
327 [hwmon_curr_lcrit_alarm] = "curr%d_lcrit_alarm",
328 [hwmon_curr_crit_alarm] = "curr%d_crit_alarm",
329};
330
265 [hwmon_chip_update_interval] = "update_interval",
266 [hwmon_chip_alarms] = "alarms",
267};
268
269static const char * const hwmon_temp_attr_templates[] = {
270 [hwmon_temp_input] = "temp%d_input",
271 [hwmon_temp_type] = "temp%d_type",
272 [hwmon_temp_lcrit] = "temp%d_lcrit",

--- 51 unchanged lines hidden (view full) ---

324 [hwmon_curr_label] = "curr%d_label",
325 [hwmon_curr_alarm] = "curr%d_alarm",
326 [hwmon_curr_min_alarm] = "curr%d_min_alarm",
327 [hwmon_curr_max_alarm] = "curr%d_max_alarm",
328 [hwmon_curr_lcrit_alarm] = "curr%d_lcrit_alarm",
329 [hwmon_curr_crit_alarm] = "curr%d_crit_alarm",
330};
331
332static const char * const hwmon_power_attr_templates[] = {
333 [hwmon_power_average] = "power%d_average",
334 [hwmon_power_average_interval] = "power%d_average_interval",
335 [hwmon_power_average_interval_max] = "power%d_interval_max",
336 [hwmon_power_average_interval_min] = "power%d_interval_min",
337 [hwmon_power_average_highest] = "power%d_average_highest",
338 [hwmon_power_average_lowest] = "power%d_average_lowest",
339 [hwmon_power_average_max] = "power%d_average_max",
340 [hwmon_power_average_min] = "power%d_average_min",
341 [hwmon_power_input] = "power%d_input",
342 [hwmon_power_input_highest] = "power%d_input_highest",
343 [hwmon_power_input_lowest] = "power%d_input_lowest",
344 [hwmon_power_reset_history] = "power%d_reset_history",
345 [hwmon_power_accuracy] = "power%d_accuracy",
346 [hwmon_power_cap] = "power%d_cap",
347 [hwmon_power_cap_hyst] = "power%d_cap_hyst",
348 [hwmon_power_cap_max] = "power%d_cap_max",
349 [hwmon_power_cap_min] = "power%d_cap_min",
350 [hwmon_power_max] = "power%d_max",
351 [hwmon_power_crit] = "power%d_crit",
352 [hwmon_power_label] = "power%d_label",
353 [hwmon_power_alarm] = "power%d_alarm",
354 [hwmon_power_cap_alarm] = "power%d_cap_alarm",
355 [hwmon_power_max_alarm] = "power%d_max_alarm",
356 [hwmon_power_crit_alarm] = "power%d_crit_alarm",
357};
358
331static const char * const *__templates[] = {
332 [hwmon_chip] = hwmon_chip_attr_templates,
333 [hwmon_temp] = hwmon_temp_attr_templates,
334 [hwmon_in] = hwmon_in_attr_templates,
335 [hwmon_curr] = hwmon_curr_attr_templates,
359static const char * const *__templates[] = {
360 [hwmon_chip] = hwmon_chip_attr_templates,
361 [hwmon_temp] = hwmon_temp_attr_templates,
362 [hwmon_in] = hwmon_in_attr_templates,
363 [hwmon_curr] = hwmon_curr_attr_templates,
364 [hwmon_power] = hwmon_power_attr_templates,
336};
337
338static const int __templates_size[] = {
339 [hwmon_chip] = ARRAY_SIZE(hwmon_chip_attr_templates),
340 [hwmon_temp] = ARRAY_SIZE(hwmon_temp_attr_templates),
341 [hwmon_in] = ARRAY_SIZE(hwmon_in_attr_templates),
342 [hwmon_curr] = ARRAY_SIZE(hwmon_curr_attr_templates),
365};
366
367static const int __templates_size[] = {
368 [hwmon_chip] = ARRAY_SIZE(hwmon_chip_attr_templates),
369 [hwmon_temp] = ARRAY_SIZE(hwmon_temp_attr_templates),
370 [hwmon_in] = ARRAY_SIZE(hwmon_in_attr_templates),
371 [hwmon_curr] = ARRAY_SIZE(hwmon_curr_attr_templates),
372 [hwmon_power] = ARRAY_SIZE(hwmon_power_attr_templates),
343};
344
345static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info)
346{
347 int i, n;
348
349 for (i = n = 0; info->config[i]; i++)
350 n += hweight32(info->config[i]);

--- 408 unchanged lines hidden ---
373};
374
375static int hwmon_num_channel_attrs(const struct hwmon_channel_info *info)
376{
377 int i, n;
378
379 for (i = n = 0; info->config[i]; i++)
380 n += hweight32(info->config[i]);

--- 408 unchanged lines hidden ---