18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Sample HCK 48c2ecf20Sopenharmony_ci * 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci#include <linux/module.h> 78c2ecf20Sopenharmony_ci#include <linux/init.h> 88c2ecf20Sopenharmony_ci#include <linux/slab.h> 98c2ecf20Sopenharmony_ci#include <linux/hck/lite_hck_sample.h> 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistatic struct sample_hck_data data = { 128c2ecf20Sopenharmony_ci .stat = 999, 138c2ecf20Sopenharmony_ci .name = "sample tesst", 148c2ecf20Sopenharmony_ci}; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_civoid get_boot_config(int* info) 178c2ecf20Sopenharmony_ci{ 188c2ecf20Sopenharmony_ci pr_info("hck sample: %s\n", __func__); 198c2ecf20Sopenharmony_ci *info = 1; 208c2ecf20Sopenharmony_ci} 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_civoid set_boot_stat(void* data, int info) 238c2ecf20Sopenharmony_ci{ 248c2ecf20Sopenharmony_ci pr_info("hck sample: %s\n", __func__); 258c2ecf20Sopenharmony_ci info = 2; 268c2ecf20Sopenharmony_ci struct sample_hck_data *hdata = data; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci pr_info("hck data: stat = %d, name = %s\n", hdata->stat, hdata->name); 298c2ecf20Sopenharmony_ci} 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_cistatic int __init samplehck_init(void) 328c2ecf20Sopenharmony_ci{ 338c2ecf20Sopenharmony_ci pr_info("hck sample register\n"); 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci REGISTER_HCK_LITE_HOOK(get_boot_config_lhck, get_boot_config); 368c2ecf20Sopenharmony_ci REGISTER_HCK_LITE_DATA_HOOK(set_boot_stat_lhck, set_boot_stat, &data); 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci return 0; 398c2ecf20Sopenharmony_ci} 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_cistatic void __exit samplehck_exit(void) 428c2ecf20Sopenharmony_ci{ 438c2ecf20Sopenharmony_ci} 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_cimodule_init(samplehck_init); 468c2ecf20Sopenharmony_cimodule_exit(samplehck_exit); 478c2ecf20Sopenharmony_ciMODULE_LICENSE("GPL v2"); 488c2ecf20Sopenharmony_ciMODULE_AUTHOR("zhujiaxin <zhujiaxin@huawei.com>"); 49