mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-26 12:24:33 +00:00
Pass a subfeature structure to sensors_read_sysfs_attr() and
sensors_write_sysfs_attr(), rather than a subfeature number, so that we do not have to lookup the feature number again. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4841 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
ba6614624b
commit
e7c345f4cf
3 files changed
+10
-14
No files matched your search
+2
-2
@@ -256,7 +256,7 @@ int sensors_get_value(const sensors_chip_name *name, int subfeat_nr,
|
||||
}
|
||||
}
|
||||
|
||||
if (sensors_read_sysfs_attr(name, subfeat_nr, &val))
|
||||
if (sensors_read_sysfs_attr(name, subfeature, &val))
|
||||
return -SENSORS_ERR_PROC;
|
||||
if (!expr)
|
||||
*result = val;
|
||||
@@ -306,7 +306,7 @@ int sensors_set_value(const sensors_chip_name *name, int subfeat_nr,
|
||||
if (expr)
|
||||
if ((res = sensors_eval_expr(name, expr, value, &to_write)))
|
||||
return res;
|
||||
if (sensors_write_sysfs_attr(name, subfeat_nr, to_write))
|
||||
if (sensors_write_sysfs_attr(name, subfeature, to_write))
|
||||
return -SENSORS_ERR_PROC;
|
||||
return 0;
|
||||
}
|
||||
|
||||
+4
-10
@@ -541,16 +541,13 @@ exit0:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int sensors_read_sysfs_attr(const sensors_chip_name *name, int subfeat_nr,
|
||||
int sensors_read_sysfs_attr(const sensors_chip_name *name,
|
||||
const sensors_subfeature *subfeature,
|
||||
double *value)
|
||||
{
|
||||
const sensors_subfeature *subfeature;
|
||||
char n[NAME_MAX];
|
||||
FILE *f;
|
||||
|
||||
if (!(subfeature = sensors_lookup_subfeature_nr(name, subfeat_nr)))
|
||||
return -SENSORS_ERR_NO_ENTRY;
|
||||
|
||||
snprintf(n, NAME_MAX, "%s/%s", name->path, subfeature->name);
|
||||
if ((f = fopen(n, "r"))) {
|
||||
int res = fscanf(f, "%lf", value);
|
||||
@@ -564,16 +561,13 @@ int sensors_read_sysfs_attr(const sensors_chip_name *name, int subfeat_nr,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int sensors_write_sysfs_attr(const sensors_chip_name *name, int subfeat_nr,
|
||||
int sensors_write_sysfs_attr(const sensors_chip_name *name,
|
||||
const sensors_subfeature *subfeature,
|
||||
double value)
|
||||
{
|
||||
const sensors_subfeature *subfeature;
|
||||
char n[NAME_MAX];
|
||||
FILE *f;
|
||||
|
||||
if (!(subfeature = sensors_lookup_subfeature_nr(name, subfeat_nr)))
|
||||
return -SENSORS_ERR_NO_ENTRY;
|
||||
|
||||
snprintf(n, NAME_MAX, "%s/%s", name->path, subfeature->name);
|
||||
if ((f = fopen(n, "w"))) {
|
||||
value *= get_type_scaling(subfeature->type);
|
||||
|
||||
+4
-2
@@ -29,11 +29,13 @@ int sensors_read_sysfs_chips(void);
|
||||
int sensors_read_sysfs_bus(void);
|
||||
|
||||
/* Read a value out of a sysfs attribute file */
|
||||
int sensors_read_sysfs_attr(const sensors_chip_name *name, int subfeat_nr,
|
||||
int sensors_read_sysfs_attr(const sensors_chip_name *name,
|
||||
const sensors_subfeature *subfeature,
|
||||
double *value);
|
||||
|
||||
/* Write a value to a sysfs attribute file */
|
||||
int sensors_write_sysfs_attr(const sensors_chip_name *name, int subfeat_nr,
|
||||
int sensors_write_sysfs_attr(const sensors_chip_name *name,
|
||||
const sensors_subfeature *subfeature,
|
||||
double value);
|
||||
|
||||
#endif /* !SENSORS_LIB_SYSFS_H */
|
||||
Reference in new issue
Block a user