hotfix: move msg_count argument

Move msg_count handling to hello2 to comply with lab5 requirements
This commit is contained in:
ІО-23 Шмуляр Олег 2024-12-01 19:43:54 +02:00
parent a64d55a819
commit 331a1ecb0b
Signed by: hasslesstech
GPG Key ID: 09745A46126DDD4C
3 changed files with 17 additions and 16 deletions

View File

@ -44,7 +44,6 @@ struct TimingList {
ktime_t t_after; ktime_t t_after;
}; };
static unsigned int msg_count = 1;
static struct TimingList *tl_head; static struct TimingList *tl_head;
static struct TimingList* write_first_node(void) static struct TimingList* write_first_node(void)
@ -97,19 +96,10 @@ void destroy_list(void)
static int __init hello_init(void) static int __init hello_init(void)
{ {
if (msg_count > 10) {
pr_err("Error: msg_count too large (%d > 10)\n", msg_count);
return -EINVAL;
}
if (msg_count == 0 || msg_count >= 5) {
pr_warn("Warning: msg_count = %d (msg_count == 0 or 5 <= msg_count <= 10)\n", msg_count);
}
return 0; return 0;
} }
void print_hello(void) void print_hello(int msg_count)
{ {
int i; int i;
struct TimingList *current_tail = tl_head; struct TimingList *current_tail = tl_head;
@ -128,9 +118,6 @@ static void __exit hello_exit(void)
destroy_list(); destroy_list();
} }
module_param(msg_count, uint, 0444);
MODULE_PARM_DESC(msg_count, "Amount of hello world outputs on load");
EXPORT_SYMBOL(print_hello); EXPORT_SYMBOL(print_hello);
EXPORT_SYMBOL(destroy_list); EXPORT_SYMBOL(destroy_list);

View File

@ -40,9 +40,20 @@ MODULE_AUTHOR("Serhii Popovych <serhii.popovych@globallogic.com>");
MODULE_DESCRIPTION("Hello, world in Linux Kernel Training"); MODULE_DESCRIPTION("Hello, world in Linux Kernel Training");
MODULE_LICENSE("Dual BSD/GPL"); MODULE_LICENSE("Dual BSD/GPL");
static unsigned int msg_count = 1;
static int __init hello_init(void) static int __init hello_init(void)
{ {
print_hello(); if (msg_count > 10) {
pr_err("Error: msg_count too large (%d > 10)\n", msg_count);
return -EINVAL;
}
if (msg_count == 0 || msg_count >= 5) {
pr_warn("Warning: msg_count = %d (msg_count == 0 or 5 <= msg_count <= 10)\n", msg_count);
}
print_hello(msg_count);
return 0; return 0;
} }
@ -51,5 +62,8 @@ static void __exit hello_exit(void)
destroy_list(); destroy_list();
} }
module_param(msg_count, uint, 0444);
MODULE_PARM_DESC(msg_count, "Amount of hello world outputs on load");
module_init(hello_init); module_init(hello_init);
module_exit(hello_exit); module_exit(hello_exit);

View File

@ -1,2 +1,2 @@
void print_hello(void); void print_hello(int);
void destroy_list(void); void destroy_list(void);