diff options
author | 2006-01-28 09:53:37 +0000 | |
---|---|---|
committer | 2006-01-28 09:53:37 +0000 | |
commit | 6c848b7fa3f54a1570b7da506d0e5c89f2e9914e (patch) | |
tree | 51560aad51165316f78327fcf5ac812e2bdb2c57 | |
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@
-rw-r--r-- | sys/kern/kern_sensors.c | 31 | ||||
-rw-r--r-- | sys/kern/kern_sysctl.c | 14 | ||||
-rw-r--r-- | sys/sys/sensors.h | 13 |
3 files changed, 35 insertions, 23 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) { diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 516f1281964..5cdfb1ae031 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sysctl.c,v 1.137 2006/01/19 17:08:40 grange Exp $ */ +/* $OpenBSD: kern_sysctl.c,v 1.138 2006/01/28 09:53:37 dlg Exp $ */ /* $NetBSD: kern_sysctl.c,v 1.17 1996/05/20 17:49:05 mrg Exp $ */ /*- @@ -1747,19 +1747,19 @@ int sysctl_sensors(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, size_t newlen) { - struct sensor *s = NULL; + struct sensor *s; int num; if (namelen != 1) return (ENOTDIR); num = name[0]; - SLIST_FOREACH(s, &_sensors_list, list) - if (s->num == num) - return (sysctl_rdstruct(oldp, oldlenp, newp, s, - sizeof(struct sensor))); - return (ENOENT); + s = sensor_get(num); + if (s == NULL) + return (ENOENT); + + return (sysctl_rdstruct(oldp, oldlenp, newp, s, sizeof(struct sensor))); } int diff --git a/sys/sys/sensors.h b/sys/sys/sensors.h index 235ce797013..b1bf848a14a 100644 --- a/sys/sys/sensors.h +++ b/sys/sys/sensors.h @@ -1,4 +1,4 @@ -/* $OpenBSD: sensors.h,v 1.13 2006/01/19 17:08:40 grange Exp $ */ +/* $OpenBSD: sensors.h,v 1.14 2006/01/28 09:53:37 dlg Exp $ */ /* * Copyright (c) 2003, 2004 Alexander Yurchenko <grange@openbsd.org> @@ -84,14 +84,13 @@ struct sensor { SLIST_HEAD(sensors_head, sensor); #ifdef _KERNEL -extern int _sensors_count; -extern struct sensors_head _sensors_list; -void sensor_add(struct sensor *); -void sensor_del(struct sensor *); +void sensor_add(struct sensor *); +void sensor_del(struct sensor *); +struct sensor *sensor_get(int); -int sensor_task_register(void *, void (*)(void *), int); -void sensor_task_unregister(void *); +int sensor_task_register(void *, void (*)(void *), int); +void sensor_task_unregister(void *); #endif /* _KERNEL */ |