Lines Matching +full:sensor +full:- +full:node

1 /*-
56 #define SENSOR_LOCK(_sc) mtx_lock(&(_sc)->sc_mtx)
57 #define SENSOR_UNLOCK(_sc) mtx_unlock(&(_sc)->sc_mtx)
59 mtx_init(&_sc->sc_mtx, device_get_nameunit(_sc->sc_dev), \
60 "opal-sensor", MTX_DEF)
64 * of "ibm,opal-sensor". One hangs off /ibm,opal/, named "sensors", the other
65 * hangs off of this node. For newbus attachments, we have one node (opalsens)
128 uint32_t sensor; in opal_sensor_sysctl() local
132 sensor = arg2; in opal_sensor_sysctl()
134 error = opal_sensor_get_val(sc, sensor, &sensval); in opal_sensor_sysctl()
141 switch (sc->sc_type) { in opal_sensor_sysctl()
158 if (!ofw_bus_is_compatible(dev, "ibm,opal-sensor")) in opal_sensor_probe()
161 device_set_desc(dev, "OPAL sensor"); in opal_sensor_probe()
172 phandle_t node; in opal_sensor_attach() local
177 sc->sc_dev = dev; in opal_sensor_attach()
179 node = ofw_bus_get_node(dev); in opal_sensor_attach()
181 if (OF_getencprop(node, "sensor-data", &sensor_id, sizeof(sensor_id)) < 0) { in opal_sensor_attach()
182 device_printf(dev, "Missing sensor ID\n"); in opal_sensor_attach()
185 if (OF_getprop(node, "sensor-type", type, sizeof(type)) < 0) { in opal_sensor_attach()
186 device_printf(dev, "Missing sensor type\n"); in opal_sensor_attach()
190 sc->sc_type = -1; in opal_sensor_attach()
193 sc->sc_type = i; in opal_sensor_attach()
197 if (sc->sc_type == -1) { in opal_sensor_attach()
198 device_printf(dev, "Unknown sensor type '%s'\n", type); in opal_sensor_attach()
205 sc->sc_handle = sensor_id; in opal_sensor_attach()
207 "sensor", CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_MPSAFE, sc, in opal_sensor_attach()
209 (sc->sc_type == OPAL_SENSOR_TEMP) ? "IK" : "I", "current value"); in opal_sensor_attach()
212 CTLFLAG_RD, __DECONST(char *, opal_sensor_types[sc->sc_type]), in opal_sensor_attach()
215 OF_getprop_alloc(node, "label", (void **)&sc->sc_label); in opal_sensor_attach()
217 CTLFLAG_RD, sc->sc_label, 0, ""); in opal_sensor_attach()
219 if (OF_getencprop(node, "sensor-data-min", in opal_sensor_attach()
221 sc->sc_min_handle = sensor_id; in opal_sensor_attach()
225 (sc->sc_type == OPAL_SENSOR_TEMP) ? "IK" : "I", in opal_sensor_attach()
229 if (OF_getencprop(node, "sensor-data-max", in opal_sensor_attach()
231 sc->sc_max_handle = sensor_id; in opal_sensor_attach()
235 (sc->sc_type == OPAL_SENSOR_TEMP) ? "IK" : "I", in opal_sensor_attach()
263 if (!ofw_bus_is_compatible(dev, "ibm,opal-sensor")) in opalsens_probe()
287 dinfo->obd_name); in opalsens_attach()