Lines Matching +full:sens +full:-

1 // SPDX-License-Identifier: GPL-2.0-only
117 delay = next - jiffies; in wf_thread_func()
153 DBG("wf: Deleting control %s\n", ct->name); in wf_control_release()
155 if (ct->ops && ct->ops->release) in wf_control_release()
156 ct->ops->release(ct); in wf_control_release()
169 err = ctrl->ops->get_value(ctrl, &val); in wf_show_control()
171 if (err == -EFAULT) in wf_show_control()
175 switch(ctrl->type) { in wf_show_control()
201 if (endp - buf < count) in wf_store_control()
202 return -EINVAL; in wf_store_control()
203 err = ctrl->ops->set_value(ctrl, val); in wf_store_control()
215 if (!strcmp(ct->name, new_ct->name)) { in wf_register_control()
217 " duplicate control %s\n", ct->name); in wf_register_control()
219 return -EEXIST; in wf_register_control()
222 kref_init(&new_ct->ref); in wf_register_control()
223 list_add(&new_ct->link, &wf_controls); in wf_register_control()
225 sysfs_attr_init(&new_ct->attr.attr); in wf_register_control()
226 new_ct->attr.attr.name = new_ct->name; in wf_register_control()
227 new_ct->attr.attr.mode = 0644; in wf_register_control()
228 new_ct->attr.show = wf_show_control; in wf_register_control()
229 new_ct->attr.store = wf_store_control; in wf_register_control()
230 if (device_create_file(&wf_platform_device.dev, &new_ct->attr)) in wf_register_control()
232 " for %s\n", new_ct->name); in wf_register_control()
235 DBG("wf: Registered control %s\n", new_ct->name); in wf_register_control()
247 list_del(&ct->link); in wf_unregister_control()
250 DBG("wf: Unregistered control %s\n", ct->name); in wf_unregister_control()
252 kref_put(&ct->ref, wf_control_release); in wf_unregister_control()
258 if (!try_module_get(ct->ops->owner)) in wf_get_control()
259 return -ENODEV; in wf_get_control()
260 kref_get(&ct->ref); in wf_get_control()
267 struct module *mod = ct->ops->owner; in wf_put_control()
268 kref_put(&ct->ref, wf_control_release); in wf_put_control()
283 DBG("wf: Deleting sensor %s\n", sr->name); in wf_sensor_release()
285 if (sr->ops && sr->ops->release) in wf_sensor_release()
286 sr->ops->release(sr); in wf_sensor_release()
294 struct wf_sensor *sens = container_of(attr, struct wf_sensor, attr); in wf_show_sensor() local
298 err = sens->ops->get_value(sens, &val); in wf_show_sensor()
310 if (!strcmp(sr->name, new_sr->name)) { in wf_register_sensor()
312 " duplicate sensor %s\n", sr->name); in wf_register_sensor()
314 return -EEXIST; in wf_register_sensor()
317 kref_init(&new_sr->ref); in wf_register_sensor()
318 list_add(&new_sr->link, &wf_sensors); in wf_register_sensor()
320 sysfs_attr_init(&new_sr->attr.attr); in wf_register_sensor()
321 new_sr->attr.attr.name = new_sr->name; in wf_register_sensor()
322 new_sr->attr.attr.mode = 0444; in wf_register_sensor()
323 new_sr->attr.show = wf_show_sensor; in wf_register_sensor()
324 new_sr->attr.store = NULL; in wf_register_sensor()
325 if (device_create_file(&wf_platform_device.dev, &new_sr->attr)) in wf_register_sensor()
327 " for %s\n", new_sr->name); in wf_register_sensor()
330 DBG("wf: Registered sensor %s\n", new_sr->name); in wf_register_sensor()
342 list_del(&sr->link); in wf_unregister_sensor()
345 DBG("wf: Unregistered sensor %s\n", sr->name); in wf_unregister_sensor()
353 if (!try_module_get(sr->ops->owner)) in wf_get_sensor()
354 return -ENODEV; in wf_get_sensor()
355 kref_get(&sr->ref); in wf_get_sensor()
362 struct module *mod = sr->ops->owner; in wf_put_sensor()
363 kref_put(&sr->ref, wf_sensor_release); in wf_put_sensor()
400 wf_client_count--; in wf_unregister_client()
430 wf_overtemp--; in wf_clear_overtemp()