| From 162fbd3f672ddbb84ad909f3a4e3dfeb43102508 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 16 Dec 2021 17:50:14 +0800 |
| Subject: MIPS: Octeon: Fix build errors using clang |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> |
| |
| [ Upstream commit 95339b70677dc6f9a2d669c4716058e71b8dc1c7 ] |
| |
| A large number of the following errors is reported when compiling |
| with clang: |
| |
| cvmx-bootinfo.h:326:3: error: adding 'int' to a string does not append to the string [-Werror,-Wstring-plus-int] |
| ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL) |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| cvmx-bootinfo.h:321:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE' |
| case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */ |
| ~~~^~~~ |
| cvmx-bootinfo.h:326:3: note: use array indexing to silence this warning |
| cvmx-bootinfo.h:321:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE' |
| case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */ |
| ^ |
| |
| Follow the prompts to use the address operator '&' to fix this error. |
| |
| Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com> |
| Reviewed-by: Nathan Chancellor <nathan@kernel.org> |
| Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> |
| Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| arch/mips/include/asm/octeon/cvmx-bootinfo.h | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h |
| index 0e6bf220db618..6c61e0a639249 100644 |
| --- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h |
| +++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h |
| @@ -318,7 +318,7 @@ enum cvmx_chip_types_enum { |
| |
| /* Functions to return string based on type */ |
| #define ENUM_BRD_TYPE_CASE(x) \ |
| - case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */ |
| + case x: return (&#x[16]); /* Skip CVMX_BOARD_TYPE_ */ |
| static inline const char *cvmx_board_type_to_string(enum |
| cvmx_board_types_enum type) |
| { |
| @@ -410,7 +410,7 @@ static inline const char *cvmx_board_type_to_string(enum |
| } |
| |
| #define ENUM_CHIP_TYPE_CASE(x) \ |
| - case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */ |
| + case x: return (&#x[15]); /* Skip CVMX_CHIP_TYPE */ |
| static inline const char *cvmx_chip_type_to_string(enum |
| cvmx_chip_types_enum type) |
| { |
| -- |
| 2.34.1 |
| |