arch/powerpc/platforms/52xx/mpc52xx_pm.c:58:5: error: stack frame size of 1040 bytes in function 'mpc52xx_pm_prepare'

From: kbuild test robot
Date: Mon Apr 13 2020 - 06:21:46 EST


Hi Dirk,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8f3d9f354286745c751374f5f1fcafee6b3f3136
commit: e33a814e772cdc36436c8c188d8c42d019fda639 scripts/dtc: Remove redundant YYLOC global declaration
date: 2 weeks ago
config: powerpc-randconfig-a001-20200413 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project dd030036f0a2ace74d0bd2242cfdbcf726ef565d)
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout e33a814e772cdc36436c8c188d8c42d019fda639
# save the attached .config to linux build tree
COMPILER=clang make.cross ARCH=powerpc

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

>> arch/powerpc/platforms/52xx/mpc52xx_pm.c:58:5: error: stack frame size of 1040 bytes in function 'mpc52xx_pm_prepare' [-Werror,-Wframe-larger-than=]
int mpc52xx_pm_prepare(void)
^
1 error generated.
--
>> arch/powerpc/platforms/embedded6xx/wii.c:195:7: error: attribute declaration must precede definition [-Werror,-Wignored-attributes]
if (!machine_is(wii))
^
arch/powerpc/include/asm/machdep.h:248:19: note: expanded from macro 'machine_is'
__attribute__((weak)); \
^
arch/powerpc/platforms/embedded6xx/wii.c:175:1: note: previous definition is here
define_machine(wii) {
^
arch/powerpc/include/asm/machdep.h:243:23: note: expanded from macro 'define_machine'
struct machdep_calls mach_##name __machine_desc =
^
<scratch space>:89:1: note: expanded from here
mach_wii
^
1 error generated.
--
>> arch/powerpc/platforms/embedded6xx/mvme5100.c:135:58: error: incompatible pointer types passing 'phys_addr_t *' (aka 'unsigned long long *') to parameter of type 'u32 *' (aka 'unsigned int *') [-Werror,-Wincompatible-pointer-types]
early_read_config_dword(hose, 0, 0, PCI_BASE_ADDRESS_1, &pci_membase);
^~~~~~~~~~~~
arch/powerpc/include/asm/pci-bridge.h:139:32: note: passing argument to parameter 'val' here
int dev_fn, int where, u32 *val);
^
1 error generated.
--
>> lib/mpi/generic_mpih-mul1.c:37:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
: "=r" ((USItype) ph) \
~~~~~~~~~~^~
1 error generated.
--
>> lib/mpi/generic_mpih-mul2.c:36:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
: "=r" ((USItype) ph) \
~~~~~~~~~~^~
1 error generated.
--
>> lib/mpi/generic_mpih-mul3.c:36:13: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
umul_ppmm(prod_high, prod_low, s1_ptr[j], s2_limb);
~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
: "=r" ((USItype) ph) \
~~~~~~~~~~^~
1 error generated.
--
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:750:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:751:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:757:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:758:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:764:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:765:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:771:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:772:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
>> lib/mpi/mpih-div.c:99:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:778:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:99:20: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, d1, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:779:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~^~~~~~~~~~~~~~~
lib/mpi/longlong.h:725:21: note: expanded from macro 'add_ssaaaa'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~~~~~^~~~~~~~~~~
lib/mpi/longlong.h:726:20: note: expanded from macro 'add_ssaaaa'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~^~~~~~~~~~~~~~~
lib/mpi/longlong.h:732:21: note: expanded from macro 'add_ssaaaa'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~~~~~^~~~~~~~~~~
lib/mpi/longlong.h:733:20: note: expanded from macro 'add_ssaaaa'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:18: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~^~~~~~~~~~~~~~~
lib/mpi/longlong.h:739:21: note: expanded from macro 'add_ssaaaa'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:120:22: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
add_ssaaaa(n1, n0, r - d0,
~~~~~~~~~~~~~~~^~~~~~~~~~~
lib/mpi/longlong.h:740:20: note: expanded from macro 'add_ssaaaa'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:129:16: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
umul_ppmm(n1, n0, d0, q);
~~~~~~~~~~^~~~~~~~~~~~~~
lib/mpi/longlong.h:790:20: note: expanded from macro 'umul_ppmm'
: "=r" ((USItype) ph) \
~~~~~~~~~~^~
lib/mpi/mpih-div.c:137:17: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, 0, d0);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:750:21: note: expanded from macro 'sub_ddmmss'
: "=r" ((USItype)(sh)), \
~~~~~~~~~~^~~
lib/mpi/mpih-div.c:137:21: error: invalid use of a cast in a inline asm context requiring an l-value: remove the cast or build with -fheinous-gnu-extensions
sub_ddmmss(n1, n0, n1, n0, 0, d0);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
lib/mpi/longlong.h:751:20: note: expanded from macro 'sub_ddmmss'
"=&r" ((USItype)(sl)) \
~~~~~~~~~~^~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.

vim +/mpc52xx_pm_prepare +58 arch/powerpc/platforms/52xx/mpc52xx_pm.c

2e1ee1f76684c5 Domen Puncer 2007-05-07 57
e6c5eb9541f219 Rafael J. Wysocki 2007-10-18 @58 int mpc52xx_pm_prepare(void)
2e1ee1f76684c5 Domen Puncer 2007-05-07 59 {
75ca399e82726f Grant Likely 2008-01-18 60 struct device_node *np;
66ffbe490b6156 Grant Likely 2008-01-24 61 const struct of_device_id immr_ids[] = {
66ffbe490b6156 Grant Likely 2008-01-24 62 { .compatible = "fsl,mpc5200-immr", },
66ffbe490b6156 Grant Likely 2008-01-24 63 { .compatible = "fsl,mpc5200b-immr", },
66ffbe490b6156 Grant Likely 2008-01-24 64 { .type = "soc", .compatible = "mpc5200", }, /* lite5200 */
66ffbe490b6156 Grant Likely 2008-01-24 65 { .type = "builtin", .compatible = "mpc5200", }, /* efika */
66ffbe490b6156 Grant Likely 2008-01-24 66 {}
66ffbe490b6156 Grant Likely 2008-01-24 67 };
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 68 struct resource res;
75ca399e82726f Grant Likely 2008-01-18 69
2e1ee1f76684c5 Domen Puncer 2007-05-07 70 /* map the whole register space */
66ffbe490b6156 Grant Likely 2008-01-24 71 np = of_find_matching_node(NULL, immr_ids);
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 72
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 73 if (of_address_to_resource(np, 0, &res)) {
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 74 pr_err("mpc52xx_pm_prepare(): could not get IMMR address\n");
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 75 of_node_put(np);
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 76 return -ENOSYS;
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 77 }
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 78
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 79 mbar = ioremap(res.start, 0xc000); /* we should map whole region including SRAM */
fb73538e10c7fc Dmitry Eremin-Solenikov 2010-06-11 80
75ca399e82726f Grant Likely 2008-01-18 81 of_node_put(np);
2e1ee1f76684c5 Domen Puncer 2007-05-07 82 if (!mbar) {
75ca399e82726f Grant Likely 2008-01-18 83 pr_err("mpc52xx_pm_prepare(): could not map registers\n");
2e1ee1f76684c5 Domen Puncer 2007-05-07 84 return -ENOSYS;
2e1ee1f76684c5 Domen Puncer 2007-05-07 85 }
2e1ee1f76684c5 Domen Puncer 2007-05-07 86 /* these offsets are from mpc5200 users manual */
2e1ee1f76684c5 Domen Puncer 2007-05-07 87 sdram = mbar + 0x100;
2e1ee1f76684c5 Domen Puncer 2007-05-07 88 cdm = mbar + 0x200;
2e1ee1f76684c5 Domen Puncer 2007-05-07 89 intr = mbar + 0x500;
2e1ee1f76684c5 Domen Puncer 2007-05-07 90 gpiow = mbar + 0xc00;
2e1ee1f76684c5 Domen Puncer 2007-05-07 91 sram = mbar + 0x8000; /* Those will be handled by the */
2e1ee1f76684c5 Domen Puncer 2007-05-07 92 sram_size = 0x4000; /* bestcomm driver soon */
2e1ee1f76684c5 Domen Puncer 2007-05-07 93
2e1ee1f76684c5 Domen Puncer 2007-05-07 94 /* call board suspend code, if applicable */
2e1ee1f76684c5 Domen Puncer 2007-05-07 95 if (mpc52xx_suspend.board_suspend_prepare)
2e1ee1f76684c5 Domen Puncer 2007-05-07 96 mpc52xx_suspend.board_suspend_prepare(mbar);
2e1ee1f76684c5 Domen Puncer 2007-05-07 97 else {
2e1ee1f76684c5 Domen Puncer 2007-05-07 98 printk(KERN_ALERT "%s: %i don't know how to wake up the board\n",
2e1ee1f76684c5 Domen Puncer 2007-05-07 99 __func__, __LINE__);
2e1ee1f76684c5 Domen Puncer 2007-05-07 100 goto out_unmap;
2e1ee1f76684c5 Domen Puncer 2007-05-07 101 }
2e1ee1f76684c5 Domen Puncer 2007-05-07 102
2e1ee1f76684c5 Domen Puncer 2007-05-07 103 return 0;
2e1ee1f76684c5 Domen Puncer 2007-05-07 104
2e1ee1f76684c5 Domen Puncer 2007-05-07 105 out_unmap:
2e1ee1f76684c5 Domen Puncer 2007-05-07 106 iounmap(mbar);
2e1ee1f76684c5 Domen Puncer 2007-05-07 107 return -ENOSYS;
2e1ee1f76684c5 Domen Puncer 2007-05-07 108 }
2e1ee1f76684c5 Domen Puncer 2007-05-07 109

:::::: The code at line 58 was first introduced by commit
:::::: e6c5eb9541f2197a3ffab90b1c7a3250a9b51bf6 PM: Rework struct platform_suspend_ops

:::::: TO: Rafael J. Wysocki <rjw@xxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip