]> git.baikalelectronics.ru Git - kernel.git/commit
s390: mark __cpacf_query() as __always_inline
authorJiri Kosina <jkosina@suse.cz>
Tue, 1 Oct 2019 20:08:01 +0000 (22:08 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Fri, 4 Oct 2019 14:37:33 +0000 (16:37 +0200)
commit81f78c1889c0d413ada2d1e7be7258ab5a0802bc
tree7c61961400b0d211d07d1a43103160d1f91650cb
parent22a1506f3eb21ba60a92f7ad3f9e69b80ab7d225
s390: mark __cpacf_query() as __always_inline

arch/s390/kvm/kvm-s390.c calls on several places __cpacf_query() directly,
which makes it impossible to meet the "i" constraint for the asm operands
(opcode in this case).

As we are now force-enabling CONFIG_OPTIMIZE_INLINING on all
architectures, this causes a build failure on s390:

   In file included from arch/s390/kvm/kvm-s390.c:44:
   ./arch/s390/include/asm/cpacf.h: In function '__cpacf_query':
   ./arch/s390/include/asm/cpacf.h:179:2: warning: asm operand 3 probably doesn't match constraints
     179 |  asm volatile(
         |  ^~~
   ./arch/s390/include/asm/cpacf.h:179:2: error: impossible constraint in 'asm'

Mark __cpacf_query() as __always_inline in order to fix that, analogically
how we fixes __cpacf_check_opcode(), cpacf_query_func() and scpacf_query()
already.

Reported-and-tested-by: Michal Kubecek <mkubecek@suse.cz>
Fixes: 34aea05df65a ("s390: mark __cpacf_check_opcode() and cpacf_query_func() as __always_inline")
Fixes: a16cfc796ab5 ("s390/cpacf: mark scpacf_query() as __always_inline")
Fixes: bfab67995487 ("compiler: enable CONFIG_OPTIMIZE_INLINING forcibly")
Fixes: f9797d32f5a3 ("compiler: allow all arches to enable CONFIG_OPTIMIZE_INLINING")
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Link: https://lore.kernel.org/lkml/nycvar.YFH.7.76.1910012203010.13160@cbobk.fhfr.pm
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
arch/s390/include/asm/cpacf.h