Lines Matching refs:beep_state

68 beep_state_t beep_state;  variable
99 mutex_enter(&beep_state.mutex); in beep_init()
101 if (beep_state.mode != BEEP_UNINIT) { in beep_init()
102 mutex_exit(&beep_state.mutex); in beep_init()
122 beep_state.arg = arg; in beep_init()
123 beep_state.mode = BEEP_OFF; in beep_init()
124 beep_state.beep_freq = beep_freq_func; in beep_init()
125 beep_state.beep_on = beep_on_func; in beep_init()
126 beep_state.beep_off = beep_off_func; in beep_init()
127 beep_state.timeout_id = 0; in beep_init()
129 beep_state.queue_head = 0; in beep_init()
130 beep_state.queue_tail = 0; in beep_init()
131 beep_state.queue_size = beep_queue_size; in beep_init()
132 beep_state.queue = queue; in beep_init()
134 mutex_exit(&beep_state.mutex); in beep_init()
148 mutex_enter(&beep_state.mutex); in beep_fini()
150 if (beep_state.mode == BEEP_UNINIT) { in beep_fini()
151 mutex_exit(&beep_state.mutex); in beep_fini()
157 if (beep_state.queue != NULL) in beep_fini()
158 kmem_free(beep_state.queue, in beep_fini()
159 sizeof (beep_entry_t) * beep_state.queue_size); in beep_fini()
161 beep_state.arg = (void *)NULL; in beep_fini()
162 beep_state.mode = BEEP_UNINIT; in beep_fini()
163 beep_state.beep_freq = (beep_freq_func_t)NULL; in beep_fini()
164 beep_state.beep_on = (beep_on_func_t)NULL; in beep_fini()
165 beep_state.beep_off = (beep_off_func_t)NULL; in beep_fini()
166 beep_state.timeout_id = 0; in beep_fini()
168 beep_state.queue_head = 0; in beep_fini()
169 beep_state.queue_tail = 0; in beep_fini()
170 beep_state.queue_size = 0; in beep_fini()
171 beep_state.queue = (beep_entry_t *)NULL; in beep_fini()
173 mutex_exit(&beep_state.mutex); in beep_fini()
186 mutex_enter(&beep_state.mutex); in beeper_off()
188 if (beep_state.mode == BEEP_UNINIT) { in beeper_off()
189 mutex_exit(&beep_state.mutex); in beeper_off()
193 if (beep_state.mode == BEEP_TIMED) { in beeper_off()
194 (void) untimeout(beep_state.timeout_id); in beeper_off()
195 beep_state.timeout_id = 0; in beeper_off()
198 if (beep_state.mode != BEEP_OFF) { in beeper_off()
199 beep_state.mode = BEEP_OFF; in beeper_off()
201 if (beep_state.beep_off != NULL) in beeper_off()
202 (*beep_state.beep_off)(beep_state.arg); in beeper_off()
205 beep_state.queue_head = 0; in beeper_off()
206 beep_state.queue_tail = 0; in beeper_off()
208 mutex_exit(&beep_state.mutex); in beeper_off()
317 mutex_enter(&beep_state.mutex); in beeper_on()
319 if (beep_state.mode == BEEP_UNINIT) { in beeper_on()
323 } else if (beep_state.mode == BEEP_OFF) { in beeper_on()
325 beep_state.mode = BEEP_ON; in beeper_on()
327 if (beep_state.beep_freq != NULL) in beeper_on()
328 (*beep_state.beep_freq)(beep_state.arg, in beeper_on()
331 if (beep_state.beep_on != NULL) in beeper_on()
332 (*beep_state.beep_on)(beep_state.arg); in beeper_on()
338 mutex_exit(&beep_state.mutex); in beeper_on()
361 mutex_enter(&beep_state.mutex); in beep_mktone()
363 if (beep_state.mode == BEEP_UNINIT) { in beep_mktone()
366 } else if (beep_state.mode == BEEP_TIMED) { in beep_mktone()
371 next = beep_state.queue_tail + 1; in beep_mktone()
372 if (next == beep_state.queue_size) in beep_mktone()
375 if (next != beep_state.queue_head) { in beep_mktone()
381 beep_state.queue[beep_state.queue_tail]. in beep_mktone()
384 beep_state.queue[beep_state.queue_tail]. in beep_mktone()
387 beep_state.queue_tail = next; in beep_mktone()
393 } else if (beep_state.mode == BEEP_OFF) { in beep_mktone()
398 beep_state.mode = BEEP_TIMED; in beep_mktone()
400 if (beep_state.beep_freq != NULL) in beep_mktone()
401 (*beep_state.beep_freq)(beep_state.arg, in beep_mktone()
404 if (beep_state.beep_on != NULL) in beep_mktone()
405 (*beep_state.beep_on)(beep_state.arg); in beep_mktone()
412 beep_state.timeout_id = timeout(beep_timeout, NULL, in beep_mktone()
419 mutex_exit(&beep_state.mutex); in beep_mktone()
441 mutex_enter(&beep_state.mutex); in beep_timeout()
443 beep_state.timeout_id = 0; in beep_timeout()
445 if (beep_state.mode == BEEP_UNINIT) { in beep_timeout()
446 mutex_exit(&beep_state.mutex); in beep_timeout()
451 if ((beep_state.mode == BEEP_ON) || in beep_timeout()
452 (beep_state.mode == BEEP_TIMED)) { in beep_timeout()
454 beep_state.mode = BEEP_OFF; in beep_timeout()
456 if (beep_state.beep_off != NULL) in beep_timeout()
457 (*beep_state.beep_off)(beep_state.arg); in beep_timeout()
460 if (beep_state.queue_head != beep_state.queue_tail) { in beep_timeout()
462 next = beep_state.queue_head; in beep_timeout()
464 frequency = beep_state.queue[next].frequency; in beep_timeout()
466 duration = beep_state.queue[next].duration; in beep_timeout()
469 if (next == beep_state.queue_size) in beep_timeout()
472 beep_state.queue_head = next; in beep_timeout()
474 beep_state.mode = BEEP_TIMED; in beep_timeout()
477 if (beep_state.beep_freq != NULL) in beep_timeout()
478 (*beep_state.beep_freq)(beep_state.arg, in beep_timeout()
481 if (beep_state.beep_on != NULL) in beep_timeout()
482 (*beep_state.beep_on)(beep_state.arg); in beep_timeout()
487 beep_state.timeout_id = timeout(beep_timeout, NULL, in beep_timeout()
491 mutex_exit(&beep_state.mutex); in beep_timeout()
507 mutex_enter(&beep_state.mutex); in beep_busy()
509 status = beep_state.mode != BEEP_UNINIT && in beep_busy()
510 beep_state.mode != BEEP_OFF; in beep_busy()
512 mutex_exit(&beep_state.mutex); in beep_busy()