Re: [PATCH v2 2/2] tpm: add support for nonblocking operation

From: Tadeusz Struk
Date: Tue Jun 12 2018 - 13:39:10 EST

On 06/11/2018 07:53 PM, kbuild test robot wrote:
> Hi Tadeusz,
> # save the attached .config to linux build tree
> make ARCH=i386
> All error/warnings (new ones prefixed by >>):
>>> drivers/char//tpm/tpm-dev-common.c:223:1: warning: data definition has no type or storage class
> __exitcall(tpm_dev_common_exit);
> ^~~~~~~~~~
>>> drivers/char//tpm/tpm-dev-common.c:223:1: error: type defaults to 'int' in declaration of '__exitcall' [-Werror=implicit-int]
>>> drivers/char//tpm/tpm-dev-common.c:223:1: warning: parameter names (without types) in function declaration
> drivers/char//tpm/tpm-dev-common.c:215:20: warning: 'tpm_dev_common_exit' defined but not used [-Wunused-function]
> static void __exit tpm_dev_common_exit(void)
> ^~~~~~~~~~~~~~~~~~~
> cc1: some warnings being treated as errors
> vim +223 drivers/char//tpm/tpm-dev-common.c
> 222
> > 223 __exitcall(tpm_dev_common_exit);

It is complaining about __exitcall here, because there is a module_exit() call
in drivers/char/tpm/tpm-interface.c already and the two files are build into the same object.
It is strange that the problem only manifests itself when cross compiling with ARCH=i386. Native 64bit build works fine.
I will simply call the tpm_dev_common_exit() from the tpm_exit() and re-spin a v3.
Thanks again for the report.