18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci#include "gtk.h" 38c2ecf20Sopenharmony_ci#include <linux/compiler.h> 48c2ecf20Sopenharmony_ci#include "../util.h" 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciextern struct perf_error_ops perf_gtk_eops; 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciint perf_gtk__init(void) 98c2ecf20Sopenharmony_ci{ 108c2ecf20Sopenharmony_ci perf_error__register(&perf_gtk_eops); 118c2ecf20Sopenharmony_ci perf_gtk__init_helpline(); 128c2ecf20Sopenharmony_ci gtk_ui_progress__init(); 138c2ecf20Sopenharmony_ci perf_gtk__init_hpp(); 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci return gtk_init_check(NULL, NULL) ? 0 : -1; 168c2ecf20Sopenharmony_ci} 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_civoid perf_gtk__exit(bool wait_for_ok __maybe_unused) 198c2ecf20Sopenharmony_ci{ 208c2ecf20Sopenharmony_ci if (!perf_gtk__is_active_context(pgctx)) 218c2ecf20Sopenharmony_ci return; 228c2ecf20Sopenharmony_ci perf_error__unregister(&perf_gtk_eops); 238c2ecf20Sopenharmony_ci gtk_main_quit(); 248c2ecf20Sopenharmony_ci} 25