hotfix: move msg_count argument
Move msg_count handling to hello2 to comply with lab5 requirements
This commit is contained in:
parent
a64d55a819
commit
331a1ecb0b
15
hello1.c
15
hello1.c
|
@ -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);
|
||||||
|
|
||||||
|
|
16
hello2.c
16
hello2.c
|
@ -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);
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
void print_hello(void);
|
void print_hello(int);
|
||||||
void destroy_list(void);
|
void destroy_list(void);
|
||||||
|
|
Loading…
Reference in New Issue