Lines Matching defs:sensor

49 	char			*usage_name; /* sensor string */
114 /* sensor framework */
163 /* need at least one sensor from root of tree */
229 struct upd_sensor *sensor;
248 sensor = &sc->sc_sensors[sc->sc_num_sensors];
249 memcpy(&sensor->hitem, &item, sizeof(struct hid_item));
250 strlcpy(sensor->ksensor.desc, entry->usage_name,
251 sizeof(sensor->ksensor.desc));
252 sensor->ksensor.type = entry->senstype;
253 sensor->ksensor.flags |= SENSOR_FINVALID;
254 sensor->ksensor.status = SENSOR_S_UNKNOWN;
255 sensor->ksensor.value = 0;
256 sensor_attach(&sc->sc_sensordev, &sensor->ksensor);
257 sensor->attached = 1;
258 SLIST_INSERT_HEAD(queue, sensor, dep_next);
262 entry->children, &sensor->children);
268 SLIST_INSERT_HEAD(&report->sensors, sensor, rep_next);
276 struct upd_sensor *sensor;
285 sensor = &sc->sc_sensors[i];
286 if (sensor->attached)
287 sensor_detach(&sc->sc_sensordev, &sensor->ksensor);
310 struct upd_sensor *sensor;
314 SLIST_FOREACH(sensor, queue, dep_next) {
315 repid = sensor->hitem.report_ID;
359 struct upd_sensor *sensor = NULL;
363 sensor = &sc->sc_sensors[i];
364 if (page == HID_GET_USAGE_PAGE(sensor->hitem.usage) &&
365 usage == HID_GET_USAGE(sensor->hitem.usage))
366 return (sensor);
376 struct upd_sensor *sensor;
383 SLIST_FOREACH(sensor, &report->sensors, rep_next)
384 upd_sensor_invalidate(sc, sensor);
386 SLIST_FOREACH(sensor, &report->sensors, rep_next)
387 upd_sensor_update(sc, sensor, data, len);
393 upd_sensor_invalidate(struct upd_softc *sc, struct upd_sensor *sensor)
397 sensor->ksensor.status = SENSOR_S_UNKNOWN;
398 sensor->ksensor.flags |= SENSOR_FINVALID;
400 SLIST_FOREACH(child, &sensor->children, dep_next)
405 upd_sensor_update(struct upd_softc *sc, struct upd_sensor *sensor,
411 switch (HID_GET_USAGE(sensor->hitem.usage)) {
430 hdata = hid_get_data(buf, len, &sensor->hitem.loc);
431 if (sensor->ksensor.type == SENSOR_INDICATOR)
432 sensor->ksensor.value = hdata ? 1 : 0;
434 sensor->ksensor.value = hdata * adjust;
435 sensor->ksensor.status = SENSOR_S_OK;
436 sensor->ksensor.flags &= ~SENSOR_FINVALID;
439 if (HID_GET_USAGE_PAGE(sensor->hitem.usage) == HUP_BATTERY &&
440 HID_GET_USAGE(sensor->hitem.usage) == HUB_BATTERY_PRESENT &&
441 sensor->ksensor.value == 0) {
442 SLIST_FOREACH(child, &sensor->children, dep_next)
447 upd_request_children(sc, &sensor->children);