On Tue, Jan 28, 2020 at 11:35 AM Tim.Bird@sony.com wrote:
-----Original Message----- From: Frank Rowand on January 28, 2020 11:37 AM
On 1/28/20 1:19 AM, Brendan Higgins wrote:
On Mon, Jan 27, 2020 at 9:40 AM Frank Rowand firstname.lastname@example.org wrote:
we could add Kconfigs to control this, but the compiler nevertheless complains because it doesn't know what phase KUnit runs in.
Is there any way to tell the compiler that it is okay for non __init code to call __init code? I would prefer not to have a duplicate version of all the KUnit libraries with all the symbols marked __init.
I'm not sure. The build messages have always been useful and valid in my context, so I never thought to consider that possibility.
I'm not sure there's a restriction on non __init code calling __init code. In init/main.c arch_call_reset_init() is in __init, and it calls rest_init which is non __init, without any special handling.
Is the compiler complaint mentioned above related to calling into __init code, or with some other issue?
I distinctly remember having the compiler complain at me when I was messing around with the device tree unit tests because of KUnit calling code marked as __init. Maybe it's time to start converting those to KUnit to force the issue? Frank, does that work for you?