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