On Sun, Mar 22, 2020 at 05:08:15PM +0100, Tomek The Messenger wrote:
Hi I am writing some framework for my kernel drivers. I delegated to framework the code which is common amongs all kernel drivers. So my framework module core.c has none probe, remove functions. It has also none module_init, module_exit functions at those are not needed. 1.) When I do modprobe of my core.ko I got error: 15.092976] testframework_core: module license 'unspecified' taints kernel. [ 15.129532] testframework_core : Unknown symbol regmap_write (err 0) [ 15.129554] testframework_core : Unknown symbol devm_kmalloc (err 0) [ 15.129573] rstctl_core testframework_core : Unknown symbol of_property_read_variable_u32_array (err 0) [ 15.129598] testframework_core : Unknown symbol sysfs_remove_groups (err 0) etc
So I suppose I need to put in my core.c line: MODULE_LICENSE("GPL v2"); at the end of file in order to get rid of above problems. I will check if it helps.
Yes, that is what you need to do here, you are trying to access symbols that are GPL-only, and you did not specify the license of your module to the kernel. good luck! greg k-h