Messages in this thread Patch in this message |  | | From | Jim Cromie <> | Subject | [PATCH v2 23/24] kset-example: add pr_debug()s for easy visibility of its operation | Date | Sat, 13 Jun 2020 09:57:37 -0600 |
| |
put pr_debug()s into most functions, to easily see code operate when module is loaded and used.
#> dmesg -w & #> modprobe kset-example dyndbg=+pfml #> cat /sys/kernel/kset-example/*/* --- samples/kobject/kset-example.c | 11 +++++++++++ 1 file changed, 11 insertions(+)
diff --git a/samples/kobject/kset-example.c b/samples/kobject/kset-example.c index c8010f126808..27c9b1beec28 100644 --- a/samples/kobject/kset-example.c +++ b/samples/kobject/kset-example.c @@ -56,6 +56,7 @@ static ssize_t foo_attr_show(struct kobject *kobj, struct foo_attribute *attribute; struct foo_obj *foo; + pr_debug("called"); attribute = to_foo_attr(attr); foo = to_foo_obj(kobj); @@ -76,6 +77,7 @@ static ssize_t foo_attr_store(struct kobject *kobj, struct foo_attribute *attribute; struct foo_obj *foo; + pr_debug("called"); attribute = to_foo_attr(attr); foo = to_foo_obj(kobj); @@ -102,6 +104,7 @@ static void foo_release(struct kobject *kobj) { struct foo_obj *foo; + pr_debug("called"); foo = to_foo_obj(kobj); kfree(foo); } @@ -112,6 +115,7 @@ static void foo_release(struct kobject *kobj) static ssize_t foo_show(struct foo_obj *foo_obj, struct foo_attribute *attr, char *buf) { + pr_debug("called"); return sprintf(buf, "%d\n", foo_obj->foo); } @@ -120,6 +124,7 @@ static ssize_t foo_store(struct foo_obj *foo_obj, struct foo_attribute *attr, { int ret; + pr_debug("called"); ret = kstrtoint(buf, 10, &foo_obj->foo); if (ret < 0) return ret; @@ -140,6 +145,7 @@ static ssize_t b_show(struct foo_obj *foo_obj, struct foo_attribute *attr, { int var; + pr_debug("called"); if (strcmp(attr->attr.name, "baz") == 0) var = foo_obj->baz; else @@ -152,6 +158,7 @@ static ssize_t b_store(struct foo_obj *foo_obj, struct foo_attribute *attr, { int var, ret; + pr_debug("called"); ret = kstrtoint(buf, 10, &var); if (ret < 0) return ret; @@ -201,6 +208,7 @@ static struct foo_obj *create_foo_obj(const char *name) struct foo_obj *foo; int retval; + pr_debug("called"); /* allocate the memory for the whole object */ foo = kzalloc(sizeof(*foo), GFP_KERNEL); if (!foo) @@ -235,11 +243,13 @@ static struct foo_obj *create_foo_obj(const char *name) static void destroy_foo_obj(struct foo_obj *foo) { + pr_debug("called"); kobject_put(&foo->kobj); } static int __init example_init(void) { + pr_debug("called"); /* * Create a kset with the name of "kset_example", * located under /sys/kernel/ @@ -276,6 +286,7 @@ static int __init example_init(void) static void __exit example_exit(void) { + pr_debug("called"); destroy_foo_obj(baz_obj); destroy_foo_obj(bar_obj); destroy_foo_obj(foo_obj); -- 2.26.2
|  |