diff mbox series

[v2,1/6] scsi: ufs: Remove stringize operator '#' restriction

Message ID 20201214161502.13440-2-huobean@gmail.com (mailing list archive)
State Superseded
Headers show
Series Several changes for the UPIU trace | expand

Commit Message

Bean Huo Dec. 14, 2020, 4:14 p.m. UTC
From: Bean Huo <beanhuo@micron.com>

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.

Signed-off-by: Bean Huo <beanhuo@micron.com>
---
 include/trace/events/ufs.h | 40 +++++++++++++++++++-------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

Comments

Joe Perches Dec. 14, 2020, 4:46 p.m. UTC | #1
On Mon, 2020-12-14 at 17:14 +0100, Bean Huo wrote:
> From: Bean Huo <beanhuo@micron.com>
> 
> 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.

I think the other way (adding new definitions for the cases when the
name and string are different) is less error prone.

> diff --git a/include/trace/events/ufs.h b/include/trace/events/ufs.h
[]
> +#define UFS_LINK_STATES						\
> +	EM(UIC_LINK_OFF_STATE, "UIC_LINK_OFF_STATE")		\
> +	EM(UIC_LINK_ACTIVE_STATE, "UIC_LINK_ACTIVE_STATE,")	\

For instance:

Like here where you added an unnecessary and unwanted comma
Bean Huo Dec. 14, 2020, 6:51 p.m. UTC | #2
On Mon, 2020-12-14 at 08:46 -0800, Joe Perches wrote:
> > 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.
> 
> I think the other way (adding new definitions for the cases when the
> name and string are different) is less error prone.
> 
yes, agree with you, but here it is ok, it is not too much copy/paste.

> > diff --git a/include/trace/events/ufs.h
> > b/include/trace/events/ufs.h
> 
> []
> > +#define
> > UFS_LINK_STATES                                              \
> > +     EM(UIC_LINK_OFF_STATE, "UIC_LINK_OFF_STATE")            \
> > +     EM(UIC_LINK_ACTIVE_STATE, "UIC_LINK_ACTIVE_STATE,")     \
> 
> For instance:
> 
> Like here where you added an unnecessary and unwanted comma

Thanks, I will fix it in next version.

Bean
diff mbox series

Patch

diff --git a/include/trace/events/ufs.h b/include/trace/events/ufs.h
index 0bd54a184391..84e16868bb39 100644
--- a/include/trace/events/ufs.h
+++ b/include/trace/events/ufs.h
@@ -20,28 +20,28 @@ 
 		{ SYNCHRONIZE_CACHE,	"SYNC" },			\
 		{ UNMAP,		"UNMAP" })
 
-#define UFS_LINK_STATES			\
-	EM(UIC_LINK_OFF_STATE)		\
-	EM(UIC_LINK_ACTIVE_STATE)	\
-	EMe(UIC_LINK_HIBERN8_STATE)
-
-#define UFS_PWR_MODES			\
-	EM(UFS_ACTIVE_PWR_MODE)		\
-	EM(UFS_SLEEP_PWR_MODE)		\
-	EM(UFS_POWERDOWN_PWR_MODE)	\
-	EMe(UFS_DEEPSLEEP_PWR_MODE)
-
-#define UFSCHD_CLK_GATING_STATES	\
-	EM(CLKS_OFF)			\
-	EM(CLKS_ON)			\
-	EM(REQ_CLKS_OFF)		\
-	EMe(REQ_CLKS_ON)
+#define UFS_LINK_STATES						\
+	EM(UIC_LINK_OFF_STATE, "UIC_LINK_OFF_STATE")		\
+	EM(UIC_LINK_ACTIVE_STATE, "UIC_LINK_ACTIVE_STATE,")	\
+	EMe(UIC_LINK_HIBERN8_STATE, "UIC_LINK_HIBERN8_STATE")
+
+#define UFS_PWR_MODES						\
+	EM(UFS_ACTIVE_PWR_MODE, "UFS_ACTIVE_PWR_MODE")		\
+	EM(UFS_SLEEP_PWR_MODE, "UFS_SLEEP_PWR_MODE")		\
+	EM(UFS_POWERDOWN_PWR_MODE, "UFS_POWERDOWN_PWR_MODE")	\
+	EMe(UFS_DEEPSLEEP_PWR_MODE, "UFS_DEEPSLEEP_PWR_MODE")
+
+#define UFSCHD_CLK_GATING_STATES				\
+	EM(CLKS_OFF, "CLKS_OFF")				\
+	EM(CLKS_ON, "CLKS_ON")					\
+	EM(REQ_CLKS_OFF, "REQ_CLKS_OFF")			\
+	EMe(REQ_CLKS_ON, "REQ_CLKS_ON")
 
 /* Enums require being exported to userspace, for user tool parsing */
 #undef EM
 #undef EMe
-#define EM(a)	TRACE_DEFINE_ENUM(a);
-#define EMe(a)	TRACE_DEFINE_ENUM(a);
+#define EM(a, b)	TRACE_DEFINE_ENUM(a);
+#define EMe(a, b)	TRACE_DEFINE_ENUM(a);
 
 UFS_LINK_STATES;
 UFS_PWR_MODES;
@@ -53,8 +53,8 @@  UFSCHD_CLK_GATING_STATES;
  */
 #undef EM
 #undef EMe
-#define EM(a)	{ a, #a },
-#define EMe(a)	{ a, #a }
+#define EM(a, b)	{a, b},
+#define EMe(a, b)	{a, b}
 
 TRACE_EVENT(ufshcd_clk_gating,