On 06/29/2020 04:38 PM, kernel test robot wrote:
Hi Anshuman,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on v5.8-rc3]
[also build test WARNING on next-20200629]
[cannot apply to arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Anshuman-Khandual/arm64-hugetlb-...
base: 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68
config: arm64-defconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> arch/arm64/mm/hugetlbpage.c:40:13: warning: no previous prototype for
'arm64_hugetlb_cma_reserve' [-Wmissing-prototypes]
40 | void __init arm64_hugetlb_cma_reserve(void)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
This only comes up with W=1 and I wonder if this is truly a
valid warning. Should all non-static function needs to have
a declaration in a header file ? In this case, there is a
declaration for this function near the call site itself, why
should not that be sufficient.
#if defined(CONFIG_HUGETLB_PAGE) && defined(CONFIG_CMA)
void arm64_hugetlb_cma_reserve(void); <--------- Declaration
#else
static inline void arm64_hugetlb_cma_reserve(void)
{
}
#endif