/* Note about lifetime rules: wf_register_control() will initialize * the kref and wf_unregister_control will decrement it, thus the * object creating/disposing a given control shouldn't assume it * still exists after wf_unregister_control has been called.
*/ externint wf_register_control(struct wf_control *ct); externvoid wf_unregister_control(struct wf_control *ct); externint wf_get_control(struct wf_control *ct); externvoid wf_put_control(struct wf_control *ct);
/* For use by clients. Note that we are a bit racy here since * notifier_block doesn't have a module owner field. I may fix * it one day ... * * LOCKING NOTE ! * * All "events" except WF_EVENT_TICK are called with an internal mutex * held which will deadlock if you call basically any core routine. * So don't ! Just take note of the event and do your actual operations * from the ticker. *
*/ externint wf_register_client(struct notifier_block *nb); externint wf_unregister_client(struct notifier_block *nb);
/* Overtemp conditions. Those are refcounted */ externvoid wf_set_overtemp(void); externvoid wf_clear_overtemp(void);
/* Note: If that driver gets more broad use, we could replace the * simplistic overtemp bits with "environmental conditions". That * could then be used to also notify of things like fan failure, * case open, battery conditions, ...
*/
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.