From: Joe Perches <joe@perches.com>
To: Greg KH <gregkh@linuxfoundation.org>, trix@redhat.com
Cc: b-liu@ti.com, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] usb: musb: add printf attribute to log function
Date: Tue, 22 Dec 2020 01:52:48 -0800 [thread overview]
Message-ID: <6ea843411793073040bb8d518fca84f5b66b86aa.camel@perches.com> (raw)
In-Reply-To: <X+Gzvo3vPBFGKAy+@kroah.com>
On Tue, 2020-12-22 at 09:52 +0100, Greg KH wrote:
> On Mon, Dec 21, 2020 at 08:25:47AM -0800, trix@redhat.com wrote:
> > From: Tom Rix <trix@redhat.com>
> >
> > Attributing the function allows the compiler to more thoroughly
> > check the use of the function with -Wformat and similar flags.
> >
> > Signed-off-by: Tom Rix <trix@redhat.com>
> > ---
> > drivers/usb/musb/musb_debug.h | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/usb/musb/musb_debug.h b/drivers/usb/musb/musb_debug.h
> > index e5b3506c7b3f..dfc0d02695fa 100644
> > --- a/drivers/usb/musb/musb_debug.h
> > +++ b/drivers/usb/musb/musb_debug.h
> > @@ -17,6 +17,7 @@
> > #define INFO(fmt, args...) yprintk(KERN_INFO, fmt, ## args)
> > #define ERR(fmt, args...) yprintk(KERN_ERR, fmt, ## args)
> >
> >
> > +__printf(2, 3)
> > void musb_dbg(struct musb *musb, const char *fmt, ...);
>
> While I understand the need for this, did this find any problems?
> If not, then it's not worth adding,
I have to disagree with that Greg. While the driver isn't in active
development, a trivial mod to make it less likely a defect is introduced
by any additional code is still a useful addition.
> the driver-specific debugging macros
> should be removed entirely and just use dev_dbg() and friends instead.
Read the suggested change I posted in reply.
btw: the musb_dbg function is actually a trace function and not a
dmesg/logging mechanism.
drivers/usb/musb/musb_trace.c:void musb_dbg(struct musb *musb, const char *fmt, ...)
drivers/usb/musb/musb_trace.c-{
drivers/usb/musb/musb_trace.c- struct va_format vaf;
drivers/usb/musb/musb_trace.c- va_list args;
drivers/usb/musb/musb_trace.c-
drivers/usb/musb/musb_trace.c- va_start(args, fmt);
drivers/usb/musb/musb_trace.c- vaf.fmt = fmt;
drivers/usb/musb/musb_trace.c- vaf.va = &args;
drivers/usb/musb/musb_trace.c-
drivers/usb/musb/musb_trace.c- trace_musb_log(musb, &vaf);
drivers/usb/musb/musb_trace.c-
drivers/usb/musb/musb_trace.c- va_end(args);
drivers/usb/musb/musb_trace.c-}
drivers/usb/musb/musb_trace.h:TRACE_EVENT(musb_log,
drivers/usb/musb/musb_trace.h- TP_PROTO(struct musb *musb, struct va_format *vaf),
drivers/usb/musb/musb_trace.h- TP_ARGS(musb, vaf),
drivers/usb/musb/musb_trace.h- TP_STRUCT__entry(
drivers/usb/musb/musb_trace.h- __string(name, dev_name(musb->controller))
drivers/usb/musb/musb_trace.h- __dynamic_array(char, msg, MUSB_MSG_MAX)
drivers/usb/musb/musb_trace.h- ),
drivers/usb/musb/musb_trace.h- TP_fast_assign(
drivers/usb/musb/musb_trace.h- __assign_str(name, dev_name(musb->controller));
drivers/usb/musb/musb_trace.h- vsnprintf(__get_str(msg), MUSB_MSG_MAX, vaf->fmt, *vaf->va);
drivers/usb/musb/musb_trace.h- ),
drivers/usb/musb/musb_trace.h- TP_printk("%s: %s", __get_str(name), __get_str(msg))
drivers/usb/musb/musb_trace.h-);
Is that trace mechanism useful though? I think it's somewhat odd.
next prev parent reply other threads:[~2020-12-22 9:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-21 16:25 [PATCH] usb: musb: add printf attribute to log function trix
2020-12-21 20:33 ` Joe Perches
2020-12-21 20:55 ` Tom Rix
2020-12-22 8:52 ` Greg KH
2020-12-22 9:52 ` Joe Perches [this message]
2021-01-07 20:09 ` Bin Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6ea843411793073040bb8d518fca84f5b66b86aa.camel@perches.com \
--to=joe@perches.com \
--cc=b-liu@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=trix@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.