<div dir="ltr">Hi<div>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.</div><div>1.) When I do modprobe of my core.ko I got error:</div><div>15.092976] testframework_core: module license 'unspecified' taints kernel.<br></div><div>[   15.129532] 

testframework_core

: Unknown symbol regmap_write (err 0)<br>[   15.129554]

testframework_core

: Unknown symbol devm_kmalloc (err 0)<br>[   15.129573] rstctl_core

testframework_core

: Unknown symbol of_property_read_variable_u32_array (err 0)<br>[   15.129598] 

testframework_core

: Unknown symbol sysfs_remove_groups (err 0)<br></div><div>etc</div><div><br></div><div>So I suppose I need to put in my core.c line:</div><div>MODULE_LICENSE("GPL v2");<br></div><div>at the end of file in order to get rid of above problems. I will check if it helps.</div><div>However when I am looking at build-in frameworks in linux kernel nobody put line:<br></div><div>  MODULE_LICENSE("GPL v2"); </div><div>So why I have to and for example  here:<br></div><div><a href="https://elixir.bootlin.com/linux/latest/source/drivers/reset/core.c">https://elixir.bootlin.com/linux/latest/source/drivers/reset/core.c</a> </div><div>there is none such line and everything works?</div><div>This is what I completely don't understand. My framework is external module, maybe this is the reason???</div></div>