2011-02-04 08:33:24

by Simon Horman

[permalink] [raw]
Subject: [PATCH] tmio_mmc: Improve readability of the output of pr_debug_status()

Signed-off-by: Simon Horman <[email protected]>
---
drivers/mmc/host/tmio_mmc.h | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
index 6f724de..811427d 100644
--- a/drivers/mmc/host/tmio_mmc.h
+++ b/drivers/mmc/host/tmio_mmc.h
@@ -237,12 +237,16 @@ static inline void tmio_mmc_kunmap_atomic(void *virt,

#define STATUS_TO_TEXT(a) \
do { \
- if (status & TMIO_STAT_##a) \
+ if (status & TMIO_STAT_##a) { \
+ if (i++) \
+ printk("|"); \
printk(#a); \
+ } \
} while (0)

void pr_debug_status(u32 status)
{
+ int i = 0;
printk(KERN_DEBUG "status: %08x = ", status);
STATUS_TO_TEXT(CARD_REMOVE);
STATUS_TO_TEXT(CARD_INSERT);
--
1.7.2.3


2011-02-04 19:35:05

by Guennadi Liakhovetski

[permalink] [raw]
Subject: Re: [PATCH] tmio_mmc: Improve readability of the output of pr_debug_status()

On Fri, 4 Feb 2011, Simon Horman wrote:

> Signed-off-by: Simon Horman <[email protected]>
> ---
> drivers/mmc/host/tmio_mmc.h | 6 +++++-
> 1 files changed, 5 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
> index 6f724de..811427d 100644
> --- a/drivers/mmc/host/tmio_mmc.h
> +++ b/drivers/mmc/host/tmio_mmc.h
> @@ -237,12 +237,16 @@ static inline void tmio_mmc_kunmap_atomic(void *virt,
>
> #define STATUS_TO_TEXT(a) \
> do { \
> - if (status & TMIO_STAT_##a) \
> + if (status & TMIO_STAT_##a) { \
> + if (i++) \
> + printk("|"); \
> printk(#a); \
> + } \

Personally, I find it a bad idea to use variables in macros without
explicitly passing them in the parameter list. Yes, this macro is already
using "status" in that way, still, I don't think, that adding more such
variables is good. Why not make it STATUS_TO_TEXT(a, status, i) and also
add spaces for better yet readability like printk(" | ")?

Thanks
Guennadi

> } while (0)
>
> void pr_debug_status(u32 status)
> {
> + int i = 0;
> printk(KERN_DEBUG "status: %08x = ", status);
> STATUS_TO_TEXT(CARD_REMOVE);
> STATUS_TO_TEXT(CARD_INSERT);
> --
> 1.7.2.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/

2011-02-04 21:41:30

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH] tmio_mmc: Improve readability of the output of pr_debug_status()

On Fri, Feb 04, 2011 at 08:34:54PM +0100, Guennadi Liakhovetski wrote:
> On Fri, 4 Feb 2011, Simon Horman wrote:
>
> > Signed-off-by: Simon Horman <[email protected]>
> > ---
> > drivers/mmc/host/tmio_mmc.h | 6 +++++-
> > 1 files changed, 5 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/mmc/host/tmio_mmc.h b/drivers/mmc/host/tmio_mmc.h
> > index 6f724de..811427d 100644
> > --- a/drivers/mmc/host/tmio_mmc.h
> > +++ b/drivers/mmc/host/tmio_mmc.h
> > @@ -237,12 +237,16 @@ static inline void tmio_mmc_kunmap_atomic(void *virt,
> >
> > #define STATUS_TO_TEXT(a) \
> > do { \
> > - if (status & TMIO_STAT_##a) \
> > + if (status & TMIO_STAT_##a) { \
> > + if (i++) \
> > + printk("|"); \
> > printk(#a); \
> > + } \
>
> Personally, I find it a bad idea to use variables in macros without
> explicitly passing them in the parameter list. Yes, this macro is already
> using "status" in that way, still, I don't think, that adding more such
> variables is good. Why not make it STATUS_TO_TEXT(a, status, i) and also
> add spaces for better yet readability like printk(" | ")?

Point taken, I will send v2 shortly.
Though the STATUS_TO_TEXT(a, status, i) change
does seem to make pr_debug_status() rather a lot noisier.