On 4/14/23 08:24, Terry Bowman wrote: > > > On 4/14/23 06:48, Jonathan Cameron wrote: >> On Thu, 13 Apr 2023 14:40:10 -0500 >> Terry Bowman <Terry.Bowman@xxxxxxx> wrote: >> >>> Hi Jonathan, >>> >>> On 4/13/23 11:08, Jonathan Cameron wrote: >>>> On Tue, 11 Apr 2023 13:02:58 -0500 >>>> Terry Bowman <terry.bowman@xxxxxxx> wrote: >>>> >>>>> The CXL driver plans to use cper_print_aer() for restricted CXL host (RCH) >>>>> logging. This is not currently possible if CXL is built as a loadable >>>>> module because cper_print_aer() depends on cper_mem_err_unpack() which >>>>> is not exported. >>>>> >>>>> Export cper_mem_err_unpack() to enable cper_print_aer() usage in >>>>> CXL and other loadable modules. >>>> >>>> No problem with the export, but I'm struggling to see the path that needs it. >>>> Could you give a little more detail, perhaps a call path? >>>> >>> >>> The cper_print_aer() is used to log RCH dport AER errors. This is needed >>> because the RCH dport AER errors are not handled directly by the AER port >>> driver. I'll add these details to the patch. >> >> Ah. I wasn't particularly clear. cper_print_aer() is fine, but oddly >> I'm not seeing where that results in a call to cper_mem_err_unpack() >> >> More than possible my grep skills are failing me! >> >> Jonathan >> > > I see. Without this patch, if include/ras/ras_event.h cper_mem_err_unpack() > > We use > > Testing shows this patch is no longer needed. This patch was required for earlier implementation calling the aer trace macros directly. I will remove this patch in next patchset revision. Regards, Terry >>> >>> Regards, >>> Terry >>> >>>> Thanks, >>>> >>>> Jonathan >>>> >>>>> >>>>> Signed-off-by: Terry Bowman <terry.bowman@xxxxxxx> >>>>> Cc: Ard Biesheuvel <ardb@xxxxxxxxxx> >>>>> Cc: linux-efi@xxxxxxxxxxxxxxx >>>>> --- >>>>> drivers/firmware/efi/cper.c | 1 + >>>>> 1 file changed, 1 insertion(+) >>>>> >>>>> diff --git a/drivers/firmware/efi/cper.c b/drivers/firmware/efi/cper.c >>>>> index 35c37f667781..ff15e12160ae 100644 >>>>> --- a/drivers/firmware/efi/cper.c >>>>> +++ b/drivers/firmware/efi/cper.c >>>>> @@ -350,6 +350,7 @@ const char *cper_mem_err_unpack(struct trace_seq *p, >>>>> >>>>> return ret; >>>>> } >>>>> +EXPORT_SYMBOL_GPL(cper_mem_err_unpack); >>>>> >>>>> static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem, >>>>> int len) >>>> >>