Lines Matching refs:rtk

80 	struct apple_rtkit *rtk;  member
86 bool apple_rtkit_is_running(struct apple_rtkit *rtk) in apple_rtkit_is_running() argument
88 if (rtk->crashed) in apple_rtkit_is_running()
90 if ((rtk->iop_power_state & 0xff) != APPLE_RTKIT_PWR_STATE_ON) in apple_rtkit_is_running()
92 if ((rtk->ap_power_state & 0xff) != APPLE_RTKIT_PWR_STATE_ON) in apple_rtkit_is_running()
98 bool apple_rtkit_is_crashed(struct apple_rtkit *rtk) in apple_rtkit_is_crashed() argument
100 return rtk->crashed; in apple_rtkit_is_crashed()
104 static void apple_rtkit_management_send(struct apple_rtkit *rtk, u8 type, in apple_rtkit_management_send() argument
109 apple_rtkit_send_message(rtk, APPLE_RTKIT_EP_MGMT, msg, NULL, false); in apple_rtkit_management_send()
112 static void apple_rtkit_management_rx_hello(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_management_rx_hello() argument
120 dev_dbg(rtk->dev, "RTKit: Min ver %d, max ver %d\n", min_ver, max_ver); in apple_rtkit_management_rx_hello()
123 dev_err(rtk->dev, "RTKit: Firmware min version %d is too new\n", in apple_rtkit_management_rx_hello()
129 dev_err(rtk->dev, "RTKit: Firmware max version %d is too old\n", in apple_rtkit_management_rx_hello()
134 dev_info(rtk->dev, "RTKit: Initializing (protocol version %d)\n", in apple_rtkit_management_rx_hello()
136 rtk->version = want_ver; in apple_rtkit_management_rx_hello()
140 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_HELLO_REPLY, reply); in apple_rtkit_management_rx_hello()
145 rtk->boot_result = -EINVAL; in apple_rtkit_management_rx_hello()
146 complete_all(&rtk->epmap_completion); in apple_rtkit_management_rx_hello()
149 static void apple_rtkit_management_rx_epmap(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_management_rx_epmap() argument
156 dev_dbg(rtk->dev, in apple_rtkit_management_rx_epmap()
162 dev_dbg(rtk->dev, "RTKit: Discovered endpoint 0x%02x\n", ep); in apple_rtkit_management_rx_epmap()
163 set_bit(ep, rtk->endpoints); in apple_rtkit_management_rx_epmap()
172 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_EPMAP_REPLY, reply); in apple_rtkit_management_rx_epmap()
177 for_each_set_bit(ep, rtk->endpoints, APPLE_RTKIT_APP_ENDPOINT_START) { in apple_rtkit_management_rx_epmap()
189 dev_dbg(rtk->dev, in apple_rtkit_management_rx_epmap()
191 apple_rtkit_start_ep(rtk, ep); in apple_rtkit_management_rx_epmap()
195 dev_warn(rtk->dev, in apple_rtkit_management_rx_epmap()
201 rtk->boot_result = 0; in apple_rtkit_management_rx_epmap()
202 complete_all(&rtk->epmap_completion); in apple_rtkit_management_rx_epmap()
205 static void apple_rtkit_management_rx_iop_pwr_ack(struct apple_rtkit *rtk, in apple_rtkit_management_rx_iop_pwr_ack() argument
210 dev_dbg(rtk->dev, "RTKit: IOP power state transition: 0x%x -> 0x%x\n", in apple_rtkit_management_rx_iop_pwr_ack()
211 rtk->iop_power_state, new_state); in apple_rtkit_management_rx_iop_pwr_ack()
212 rtk->iop_power_state = new_state; in apple_rtkit_management_rx_iop_pwr_ack()
214 complete_all(&rtk->iop_pwr_ack_completion); in apple_rtkit_management_rx_iop_pwr_ack()
217 static void apple_rtkit_management_rx_ap_pwr_ack(struct apple_rtkit *rtk, in apple_rtkit_management_rx_ap_pwr_ack() argument
222 dev_dbg(rtk->dev, "RTKit: AP power state transition: 0x%x -> 0x%x\n", in apple_rtkit_management_rx_ap_pwr_ack()
223 rtk->ap_power_state, new_state); in apple_rtkit_management_rx_ap_pwr_ack()
224 rtk->ap_power_state = new_state; in apple_rtkit_management_rx_ap_pwr_ack()
226 complete_all(&rtk->ap_pwr_ack_completion); in apple_rtkit_management_rx_ap_pwr_ack()
229 static void apple_rtkit_management_rx(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_management_rx() argument
235 apple_rtkit_management_rx_hello(rtk, msg); in apple_rtkit_management_rx()
238 apple_rtkit_management_rx_epmap(rtk, msg); in apple_rtkit_management_rx()
241 apple_rtkit_management_rx_iop_pwr_ack(rtk, msg); in apple_rtkit_management_rx()
244 apple_rtkit_management_rx_ap_pwr_ack(rtk, msg); in apple_rtkit_management_rx()
248 rtk->dev, in apple_rtkit_management_rx()
254 static int apple_rtkit_common_rx_get_buffer(struct apple_rtkit *rtk, in apple_rtkit_common_rx_get_buffer() argument
268 dev_dbg(rtk->dev, "RTKit: buffer request for 0x%zx bytes at %pad\n", in apple_rtkit_common_rx_get_buffer()
272 (!rtk->ops->shmem_setup || !rtk->ops->shmem_destroy)) { in apple_rtkit_common_rx_get_buffer()
277 if (rtk->ops->shmem_setup) { in apple_rtkit_common_rx_get_buffer()
278 err = rtk->ops->shmem_setup(rtk->cookie, buffer); in apple_rtkit_common_rx_get_buffer()
282 buffer->buffer = dma_alloc_coherent(rtk->dev, buffer->size, in apple_rtkit_common_rx_get_buffer()
296 apple_rtkit_send_message(rtk, ep, reply, NULL, false); in apple_rtkit_common_rx_get_buffer()
310 static void apple_rtkit_free_buffer(struct apple_rtkit *rtk, in apple_rtkit_free_buffer() argument
316 if (rtk->ops->shmem_destroy) in apple_rtkit_free_buffer()
317 rtk->ops->shmem_destroy(rtk->cookie, bfr); in apple_rtkit_free_buffer()
319 dma_free_coherent(rtk->dev, bfr->size, bfr->buffer, bfr->iova); in apple_rtkit_free_buffer()
328 static void apple_rtkit_memcpy(struct apple_rtkit *rtk, void *dst, in apple_rtkit_memcpy() argument
338 static void apple_rtkit_crashlog_rx(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_crashlog_rx() argument
344 dev_warn(rtk->dev, "RTKit: Unknown crashlog message: %llx\n", in apple_rtkit_crashlog_rx()
349 if (!rtk->crashlog_buffer.size) { in apple_rtkit_crashlog_rx()
350 apple_rtkit_common_rx_get_buffer(rtk, &rtk->crashlog_buffer, in apple_rtkit_crashlog_rx()
355 dev_err(rtk->dev, "RTKit: co-processor has crashed\n"); in apple_rtkit_crashlog_rx()
362 bfr = kzalloc(rtk->crashlog_buffer.size, GFP_KERNEL); in apple_rtkit_crashlog_rx()
364 apple_rtkit_memcpy(rtk, bfr, &rtk->crashlog_buffer, 0, in apple_rtkit_crashlog_rx()
365 rtk->crashlog_buffer.size); in apple_rtkit_crashlog_rx()
366 apple_rtkit_crashlog_dump(rtk, bfr, rtk->crashlog_buffer.size); in apple_rtkit_crashlog_rx()
369 dev_err(rtk->dev, in apple_rtkit_crashlog_rx()
373 rtk->crashed = true; in apple_rtkit_crashlog_rx()
374 if (rtk->ops->crashed) in apple_rtkit_crashlog_rx()
375 rtk->ops->crashed(rtk->cookie); in apple_rtkit_crashlog_rx()
378 static void apple_rtkit_ioreport_rx(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_ioreport_rx() argument
384 apple_rtkit_common_rx_get_buffer(rtk, &rtk->ioreport_buffer, in apple_rtkit_ioreport_rx()
390 apple_rtkit_send_message(rtk, APPLE_RTKIT_EP_IOREPORT, msg, in apple_rtkit_ioreport_rx()
394 dev_warn(rtk->dev, "RTKit: Unknown ioreport message: %llx\n", in apple_rtkit_ioreport_rx()
399 static void apple_rtkit_syslog_rx_init(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_syslog_rx_init() argument
401 rtk->syslog_n_entries = FIELD_GET(APPLE_RTKIT_SYSLOG_N_ENTRIES, msg); in apple_rtkit_syslog_rx_init()
402 rtk->syslog_msg_size = FIELD_GET(APPLE_RTKIT_SYSLOG_MSG_SIZE, msg); in apple_rtkit_syslog_rx_init()
404 rtk->syslog_msg_buffer = kzalloc(rtk->syslog_msg_size, GFP_KERNEL); in apple_rtkit_syslog_rx_init()
406 dev_dbg(rtk->dev, in apple_rtkit_syslog_rx_init()
408 rtk->syslog_n_entries, rtk->syslog_msg_size); in apple_rtkit_syslog_rx_init()
411 static void apple_rtkit_syslog_rx_log(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_syslog_rx_log() argument
415 size_t entry_size = 0x20 + rtk->syslog_msg_size; in apple_rtkit_syslog_rx_log()
417 if (!rtk->syslog_msg_buffer) { in apple_rtkit_syslog_rx_log()
419 rtk->dev, in apple_rtkit_syslog_rx_log()
423 if (!rtk->syslog_buffer.size) { in apple_rtkit_syslog_rx_log()
425 rtk->dev, in apple_rtkit_syslog_rx_log()
429 if (!rtk->syslog_buffer.buffer && !rtk->syslog_buffer.iomem) { in apple_rtkit_syslog_rx_log()
431 rtk->dev, in apple_rtkit_syslog_rx_log()
435 if (idx > rtk->syslog_n_entries) { in apple_rtkit_syslog_rx_log()
436 dev_warn(rtk->dev, "RTKit: syslog index %d out of range\n", in apple_rtkit_syslog_rx_log()
441 apple_rtkit_memcpy(rtk, log_context, &rtk->syslog_buffer, in apple_rtkit_syslog_rx_log()
443 apple_rtkit_memcpy(rtk, rtk->syslog_msg_buffer, &rtk->syslog_buffer, in apple_rtkit_syslog_rx_log()
445 rtk->syslog_msg_size); in apple_rtkit_syslog_rx_log()
448 rtk->syslog_msg_buffer[rtk->syslog_msg_size - 1] = 0; in apple_rtkit_syslog_rx_log()
449 dev_info(rtk->dev, "RTKit: syslog message: %s: %s\n", log_context, in apple_rtkit_syslog_rx_log()
450 rtk->syslog_msg_buffer); in apple_rtkit_syslog_rx_log()
453 apple_rtkit_send_message(rtk, APPLE_RTKIT_EP_SYSLOG, msg, NULL, false); in apple_rtkit_syslog_rx_log()
456 static void apple_rtkit_syslog_rx(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_syslog_rx() argument
462 apple_rtkit_common_rx_get_buffer(rtk, &rtk->syslog_buffer, in apple_rtkit_syslog_rx()
466 apple_rtkit_syslog_rx_init(rtk, msg); in apple_rtkit_syslog_rx()
469 apple_rtkit_syslog_rx_log(rtk, msg); in apple_rtkit_syslog_rx()
472 dev_warn(rtk->dev, "RTKit: Unknown syslog message: %llx\n", in apple_rtkit_syslog_rx()
477 static void apple_rtkit_oslog_rx_init(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_oslog_rx_init() argument
481 dev_dbg(rtk->dev, "RTKit: oslog init: msg: 0x%llx\n", msg); in apple_rtkit_oslog_rx_init()
483 apple_rtkit_send_message(rtk, APPLE_RTKIT_EP_OSLOG, ack, NULL, false); in apple_rtkit_oslog_rx_init()
486 static void apple_rtkit_oslog_rx(struct apple_rtkit *rtk, u64 msg) in apple_rtkit_oslog_rx() argument
492 apple_rtkit_oslog_rx_init(rtk, msg); in apple_rtkit_oslog_rx()
495 dev_warn(rtk->dev, "RTKit: Unknown oslog message: %llx\n", msg); in apple_rtkit_oslog_rx()
503 struct apple_rtkit *rtk = rtk_work->rtk; in apple_rtkit_rx_work() local
507 apple_rtkit_management_rx(rtk, rtk_work->msg); in apple_rtkit_rx_work()
510 apple_rtkit_crashlog_rx(rtk, rtk_work->msg); in apple_rtkit_rx_work()
513 apple_rtkit_syslog_rx(rtk, rtk_work->msg); in apple_rtkit_rx_work()
516 apple_rtkit_ioreport_rx(rtk, rtk_work->msg); in apple_rtkit_rx_work()
519 apple_rtkit_oslog_rx(rtk, rtk_work->msg); in apple_rtkit_rx_work()
522 if (rtk->ops->recv_message) in apple_rtkit_rx_work()
523 rtk->ops->recv_message(rtk->cookie, rtk_work->ep, in apple_rtkit_rx_work()
527 rtk->dev, in apple_rtkit_rx_work()
532 dev_warn(rtk->dev, in apple_rtkit_rx_work()
542 struct apple_rtkit *rtk = container_of(cl, struct apple_rtkit, mbox_cl); in apple_rtkit_rx() local
554 if (!test_bit(ep, rtk->endpoints)) in apple_rtkit_rx()
555 dev_warn(rtk->dev, in apple_rtkit_rx()
560 rtk->ops->recv_message_early && in apple_rtkit_rx()
561 rtk->ops->recv_message_early(rtk->cookie, ep, msg->msg0)) in apple_rtkit_rx()
568 work->rtk = rtk; in apple_rtkit_rx()
572 queue_work(rtk->wq, &work->work); in apple_rtkit_rx()
588 int apple_rtkit_send_message(struct apple_rtkit *rtk, u8 ep, u64 message, in apple_rtkit_send_message() argument
595 if (rtk->crashed) in apple_rtkit_send_message()
598 !apple_rtkit_is_running(rtk)) in apple_rtkit_send_message()
621 ret = mbox_send_message(rtk->mbox_chan, &msg->mbox_msg); in apple_rtkit_send_message()
631 int apple_rtkit_send_message_wait(struct apple_rtkit *rtk, u8 ep, u64 message, in apple_rtkit_send_message_wait() argument
638 ret = apple_rtkit_send_message(rtk, ep, message, &completion, atomic); in apple_rtkit_send_message_wait()
643 ret = mbox_flush(rtk->mbox_chan, timeout); in apple_rtkit_send_message_wait()
663 int apple_rtkit_poll(struct apple_rtkit *rtk) in apple_rtkit_poll() argument
665 return mbox_client_peek_data(rtk->mbox_chan); in apple_rtkit_poll()
669 int apple_rtkit_start_ep(struct apple_rtkit *rtk, u8 endpoint) in apple_rtkit_start_ep() argument
673 if (!test_bit(endpoint, rtk->endpoints)) in apple_rtkit_start_ep()
676 !apple_rtkit_is_running(rtk)) in apple_rtkit_start_ep()
681 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_STARTEP, msg); in apple_rtkit_start_ep()
687 static int apple_rtkit_request_mbox_chan(struct apple_rtkit *rtk) in apple_rtkit_request_mbox_chan() argument
689 if (rtk->mbox_name) in apple_rtkit_request_mbox_chan()
690 rtk->mbox_chan = mbox_request_channel_byname(&rtk->mbox_cl, in apple_rtkit_request_mbox_chan()
691 rtk->mbox_name); in apple_rtkit_request_mbox_chan()
693 rtk->mbox_chan = in apple_rtkit_request_mbox_chan()
694 mbox_request_channel(&rtk->mbox_cl, rtk->mbox_idx); in apple_rtkit_request_mbox_chan()
696 if (IS_ERR(rtk->mbox_chan)) in apple_rtkit_request_mbox_chan()
697 return PTR_ERR(rtk->mbox_chan); in apple_rtkit_request_mbox_chan()
705 struct apple_rtkit *rtk; in apple_rtkit_init() local
711 rtk = kzalloc(sizeof(*rtk), GFP_KERNEL); in apple_rtkit_init()
712 if (!rtk) in apple_rtkit_init()
715 rtk->dev = dev; in apple_rtkit_init()
716 rtk->cookie = cookie; in apple_rtkit_init()
717 rtk->ops = ops; in apple_rtkit_init()
719 init_completion(&rtk->epmap_completion); in apple_rtkit_init()
720 init_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_init()
721 init_completion(&rtk->ap_pwr_ack_completion); in apple_rtkit_init()
723 bitmap_zero(rtk->endpoints, APPLE_RTKIT_MAX_ENDPOINTS); in apple_rtkit_init()
724 set_bit(APPLE_RTKIT_EP_MGMT, rtk->endpoints); in apple_rtkit_init()
726 rtk->mbox_name = mbox_name; in apple_rtkit_init()
727 rtk->mbox_idx = mbox_idx; in apple_rtkit_init()
728 rtk->mbox_cl.dev = dev; in apple_rtkit_init()
729 rtk->mbox_cl.tx_block = false; in apple_rtkit_init()
730 rtk->mbox_cl.knows_txdone = false; in apple_rtkit_init()
731 rtk->mbox_cl.rx_callback = &apple_rtkit_rx; in apple_rtkit_init()
732 rtk->mbox_cl.tx_done = &apple_rtkit_tx_done; in apple_rtkit_init()
734 rtk->wq = alloc_ordered_workqueue("rtkit-%s", WQ_MEM_RECLAIM, in apple_rtkit_init()
735 dev_name(rtk->dev)); in apple_rtkit_init()
736 if (!rtk->wq) { in apple_rtkit_init()
741 ret = apple_rtkit_request_mbox_chan(rtk); in apple_rtkit_init()
745 return rtk; in apple_rtkit_init()
748 destroy_workqueue(rtk->wq); in apple_rtkit_init()
750 kfree(rtk); in apple_rtkit_init()
768 int apple_rtkit_reinit(struct apple_rtkit *rtk) in apple_rtkit_reinit() argument
771 mbox_free_channel(rtk->mbox_chan); in apple_rtkit_reinit()
772 flush_workqueue(rtk->wq); in apple_rtkit_reinit()
774 apple_rtkit_free_buffer(rtk, &rtk->ioreport_buffer); in apple_rtkit_reinit()
775 apple_rtkit_free_buffer(rtk, &rtk->crashlog_buffer); in apple_rtkit_reinit()
776 apple_rtkit_free_buffer(rtk, &rtk->syslog_buffer); in apple_rtkit_reinit()
778 kfree(rtk->syslog_msg_buffer); in apple_rtkit_reinit()
780 rtk->syslog_msg_buffer = NULL; in apple_rtkit_reinit()
781 rtk->syslog_n_entries = 0; in apple_rtkit_reinit()
782 rtk->syslog_msg_size = 0; in apple_rtkit_reinit()
784 bitmap_zero(rtk->endpoints, APPLE_RTKIT_MAX_ENDPOINTS); in apple_rtkit_reinit()
785 set_bit(APPLE_RTKIT_EP_MGMT, rtk->endpoints); in apple_rtkit_reinit()
787 reinit_completion(&rtk->epmap_completion); in apple_rtkit_reinit()
788 reinit_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_reinit()
789 reinit_completion(&rtk->ap_pwr_ack_completion); in apple_rtkit_reinit()
791 rtk->crashed = false; in apple_rtkit_reinit()
792 rtk->iop_power_state = APPLE_RTKIT_PWR_STATE_OFF; in apple_rtkit_reinit()
793 rtk->ap_power_state = APPLE_RTKIT_PWR_STATE_OFF; in apple_rtkit_reinit()
795 return apple_rtkit_request_mbox_chan(rtk); in apple_rtkit_reinit()
799 static int apple_rtkit_set_ap_power_state(struct apple_rtkit *rtk, in apple_rtkit_set_ap_power_state() argument
805 reinit_completion(&rtk->ap_pwr_ack_completion); in apple_rtkit_set_ap_power_state()
808 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_AP_PWR_STATE, in apple_rtkit_set_ap_power_state()
811 ret = apple_rtkit_wait_for_completion(&rtk->ap_pwr_ack_completion); in apple_rtkit_set_ap_power_state()
815 if (rtk->ap_power_state != state) in apple_rtkit_set_ap_power_state()
820 static int apple_rtkit_set_iop_power_state(struct apple_rtkit *rtk, in apple_rtkit_set_iop_power_state() argument
826 reinit_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_set_iop_power_state()
829 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_IOP_PWR_STATE, in apple_rtkit_set_iop_power_state()
832 ret = apple_rtkit_wait_for_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_set_iop_power_state()
836 if (rtk->iop_power_state != state) in apple_rtkit_set_iop_power_state()
841 int apple_rtkit_boot(struct apple_rtkit *rtk) in apple_rtkit_boot() argument
845 if (apple_rtkit_is_running(rtk)) in apple_rtkit_boot()
847 if (rtk->crashed) in apple_rtkit_boot()
850 dev_dbg(rtk->dev, "RTKit: waiting for boot to finish\n"); in apple_rtkit_boot()
851 ret = apple_rtkit_wait_for_completion(&rtk->epmap_completion); in apple_rtkit_boot()
854 if (rtk->boot_result) in apple_rtkit_boot()
855 return rtk->boot_result; in apple_rtkit_boot()
857 dev_dbg(rtk->dev, "RTKit: waiting for IOP power state ACK\n"); in apple_rtkit_boot()
858 ret = apple_rtkit_wait_for_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_boot()
862 return apple_rtkit_set_ap_power_state(rtk, APPLE_RTKIT_PWR_STATE_ON); in apple_rtkit_boot()
866 int apple_rtkit_shutdown(struct apple_rtkit *rtk) in apple_rtkit_shutdown() argument
871 ret = apple_rtkit_set_ap_power_state(rtk, in apple_rtkit_shutdown()
876 ret = apple_rtkit_set_iop_power_state(rtk, APPLE_RTKIT_PWR_STATE_SLEEP); in apple_rtkit_shutdown()
880 return apple_rtkit_reinit(rtk); in apple_rtkit_shutdown()
884 int apple_rtkit_quiesce(struct apple_rtkit *rtk) in apple_rtkit_quiesce() argument
888 ret = apple_rtkit_set_ap_power_state(rtk, in apple_rtkit_quiesce()
893 ret = apple_rtkit_set_iop_power_state(rtk, in apple_rtkit_quiesce()
898 ret = apple_rtkit_reinit(rtk); in apple_rtkit_quiesce()
902 rtk->iop_power_state = APPLE_RTKIT_PWR_STATE_QUIESCED; in apple_rtkit_quiesce()
903 rtk->ap_power_state = APPLE_RTKIT_PWR_STATE_QUIESCED; in apple_rtkit_quiesce()
908 int apple_rtkit_wake(struct apple_rtkit *rtk) in apple_rtkit_wake() argument
912 if (apple_rtkit_is_running(rtk)) in apple_rtkit_wake()
915 reinit_completion(&rtk->iop_pwr_ack_completion); in apple_rtkit_wake()
922 apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_IOP_PWR_STATE, in apple_rtkit_wake()
925 return apple_rtkit_boot(rtk); in apple_rtkit_wake()
929 static void apple_rtkit_free(struct apple_rtkit *rtk) in apple_rtkit_free() argument
931 mbox_free_channel(rtk->mbox_chan); in apple_rtkit_free()
932 destroy_workqueue(rtk->wq); in apple_rtkit_free()
934 apple_rtkit_free_buffer(rtk, &rtk->ioreport_buffer); in apple_rtkit_free()
935 apple_rtkit_free_buffer(rtk, &rtk->crashlog_buffer); in apple_rtkit_free()
936 apple_rtkit_free_buffer(rtk, &rtk->syslog_buffer); in apple_rtkit_free()
938 kfree(rtk->syslog_msg_buffer); in apple_rtkit_free()
939 kfree(rtk); in apple_rtkit_free()
946 struct apple_rtkit *rtk; in devm_apple_rtkit_init() local
949 rtk = apple_rtkit_init(dev, cookie, mbox_name, mbox_idx, ops); in devm_apple_rtkit_init()
950 if (IS_ERR(rtk)) in devm_apple_rtkit_init()
951 return rtk; in devm_apple_rtkit_init()
954 rtk); in devm_apple_rtkit_init()
958 return rtk; in devm_apple_rtkit_init()