On 11 December 2017 at 21:06, Tyler Baicar <tbaicar@xxxxxxxxxxxxxx> wrote: > On 12/7/2017 3:07 PM, Tyler Baicar wrote: >> >> On 12/7/2017 2:38 PM, Ard Biesheuvel wrote: >>>> >>>> diff --git a/include/linux/cper.h b/include/linux/cper.h >>>> index 723e952..0a2d5c5 100644 >>>> --- a/include/linux/cper.h >>>> +++ b/include/linux/cper.h >>>> @@ -494,6 +494,13 @@ struct cper_sec_pcie { >>>> /* Reset to default packing */ >>>> #pragma pack() >>>> >>>> +static const char * const proc_error_type_strs[] = { >>>> + "cache error", >>>> + "TLB error", >>>> + "bus error", >>>> + "micro-architectural error", >>>> +}; >>>> + >>> >>> Could we keep this in cper.c, and replace this with >>> >>> extern const char * const cper_proc_error_type_strs[]; >>> >>> instead? I'm not too keen on putting definitions (other than static >>> inline functions) in header files. >>> >> Yes, I will make this change. > > Hello Ard, > > This actually won't work because of the ARRAY_SIZE use. If this definition > is in cper.c, then cper-arm.c won't be able to use ARRAY_SIZE even with the > extern statement in cper.h. > > drivers/firmware/efi/cper-arm.c: In function ‘cper_print_proc_arm’: > ./include/linux/kernel.h:71:32: error: invalid application of ‘sizeof’ to > incomplete type ‘const char * const[]’ > #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + > __must_be_array(arr)) > ^ > drivers/firmware/efi/cper-arm.c:103:21: note: in expansion of macro > ‘ARRAY_SIZE’ > err_info->type < ARRAY_SIZE(cper_proc_error_type_strs) ? > ^~~~~~~~~~ > > Any other suggestions? > Add '4' between the square brackets? -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html