diff options
| author | 2006-01-28 09:53:37 +0000 | |
|---|---|---|
| committer | 2006-01-28 09:53:37 +0000 | |
| commit | 6c848b7fa3f54a1570b7da506d0e5c89f2e9914e (patch) | |
| tree | 51560aad51165316f78327fcf5ac812e2bdb2c57 /sys/kern/kern_sensors.c | |
| parent | add -- after options, so files with leading - work. (diff) | |
| download | wireguard-openbsd-6c848b7fa3f54a1570b7da506d0e5c89f2e9914e.tar.xz wireguard-openbsd-6c848b7fa3f54a1570b7da506d0e5c89f2e9914e.zip | |
get rid of the sensors globals. theyre were only used by sysctl for
locating and finding the correct sensor to spit out. instead provide a
a sensor_get function that wraps up the access to the vars. theyre now
safe inside kern_sensors.c.
theres also a touch of whitespace tweaking
ok grange@
Diffstat (limited to 'sys/kern/kern_sensors.c')
| -rw-r--r-- | sys/kern/kern_sensors.c | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/sys/kern/kern_sensors.c b/sys/kern/kern_sensors.c index 2c2eeddbfaa..4d78912687b 100644 --- a/sys/kern/kern_sensors.c +++ b/sys/kern/kern_sensors.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sensors.c,v 1.6 2006/01/19 17:08:40 grange Exp $ */ +/* $OpenBSD: kern_sensors.c,v 1.7 2006/01/28 09:53:37 dlg Exp $ */ /* * Copyright (c) 2005 David Gwynne <dlg@openbsd.org> @@ -27,8 +27,8 @@ #include <sys/sensors.h> -int _sensors_count = 0; -struct sensors_head _sensors_list = SLIST_HEAD_INITIALIZER(&_sensors_list); +int sensors_count = 0; +struct sensors_head sensors_list = SLIST_HEAD_INITIALIZER(&sensors_list); struct sensor_task { void *arg; @@ -53,18 +53,18 @@ sensor_add(struct sensor *sens) int s; s = splhigh(); - if (_sensors_count == 0) { + if (sensors_count == 0) { sens->num = 0; - SLIST_INSERT_HEAD(&_sensors_list, sens, list); + SLIST_INSERT_HEAD(&sensors_list, sens, list); } else { - for (v = SLIST_FIRST(&_sensors_list); + for (v = SLIST_FIRST(&sensors_list); (nv = SLIST_NEXT(v, list)) != NULL; v = nv) if (nv->num - v->num > 1) break; sens->num = v->num + 1; SLIST_INSERT_AFTER(v, sens, list); } - _sensors_count++; + sensors_count++; splx(s); } @@ -74,11 +74,24 @@ sensor_del(struct sensor *sens) int s; s = splhigh(); - _sensors_count--; - SLIST_REMOVE(&_sensors_list, sens, sensor, list); + sensors_count--; + SLIST_REMOVE(&sensors_list, sens, sensor, list); splx(s); } +struct sensor * +sensor_get(int num) +{ + struct sensor *s; + + SLIST_FOREACH(s, &sensors_list, list) { + if (s->num == num) + return (s); + } + + return (NULL); +} + int sensor_task_register(void *arg, void (*func)(void *), int period) { |
