Re: [PATCH v3 1/6] scsi: ufs: Remove stringize operator '#' restriction

From: Bean Huo
Date: Mon Dec 14 2020 - 17:27:47 EST


On Mon, 2020-12-14 at 13:23 -0800, Joe Perches wrote:
> > From: Bean Huo <beanhuo@xxxxxxxxxx>
> >
> > Current EM macro definition, we use stringize operator '#', which
> > turns
> > the argument it precedes into a quoted string. Thus requires the
> > symbol
> > of __print_symbolic() should be the string corresponding to the
> > name of
> > the enum.
> >
> > However, we have other cases, the symbol and enum name are not the
> > same,
> > we can redefine EM/EMe, but there will introduce some redundant
> > codes.
> > This patch is to remove this restriction, let others reuse the
> > current
> > EM/EMe definition.
>
> While this version doesn't have the copy/paste typo,
> I fail to see value in defining EMe as a trailing comma
> in an array declaration isn't meaningful and doesn't emit
> any error or warning.
>
> Maybe all the uses of EMe can be converted to EM and the
> macro definitions removed.

Hi Joe
I removed EMe, but there is this error:

./include/trace/trace_events.h:300:18: error: initializer element is
not constant
{ symbol_array, { -1, NULL }}; \

./include/trace/trace_events.h:300:18: error: expected expression
before ‘,’ token
{ symbol_array, { -1, NULL }}; \


did you choose kernel trace and event trace before compiling?


Thanks,
Bean