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:
Jean Delvare committed 2007-09-23 12:20:07 +00:00
1 parent ba6614624b
commit e7c345f4cf
3 files changed
+10 -14

No files matched your search

+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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 */