* [PATCH] Input - elantech: fix debug dump of the current packet @ 2016-07-28 9:58 Benjamin Tissoires 2016-07-28 18:22 ` Dmitry Torokhov 2016-07-28 18:30 ` Joe Perches 0 siblings, 2 replies; 8+ messages in thread From: Benjamin Tissoires @ 2016-07-28 9:58 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: linux-input, linux-kernel The use of mixed psmouse_printk() and printk creates 2 lines in the log, while the use of %*ph solves everything. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> --- drivers/input/mouse/elantech.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c index 615d23e..3461d04 100644 --- a/drivers/input/mouse/elantech.c +++ b/drivers/input/mouse/elantech.c @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, */ static void elantech_packet_dump(struct psmouse *psmouse) { - int i; - - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); - for (i = 0; i < psmouse->pktsize; i++) - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); - printk("]\n"); + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", + psmouse->pktsize, psmouse->packet); } /* -- 2.5.5 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 9:58 [PATCH] Input - elantech: fix debug dump of the current packet Benjamin Tissoires @ 2016-07-28 18:22 ` Dmitry Torokhov 2016-07-28 18:30 ` Joe Perches 1 sibling, 0 replies; 8+ messages in thread From: Dmitry Torokhov @ 2016-07-28 18:22 UTC (permalink / raw) To: Benjamin Tissoires; +Cc: linux-input, linux-kernel On Thu, Jul 28, 2016 at 11:58:55AM +0200, Benjamin Tissoires wrote: > The use of mixed psmouse_printk() and printk creates 2 lines in the log, > while the use of %*ph solves everything. > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Applied, thank you. > --- > drivers/input/mouse/elantech.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index 615d23e..3461d04 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, > */ > static void elantech_packet_dump(struct psmouse *psmouse) > { > - int i; > - > - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); > - for (i = 0; i < psmouse->pktsize; i++) > - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); > - printk("]\n"); > + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", > + psmouse->pktsize, psmouse->packet); > } > > /* > -- > 2.5.5 > -- Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 9:58 [PATCH] Input - elantech: fix debug dump of the current packet Benjamin Tissoires 2016-07-28 18:22 ` Dmitry Torokhov @ 2016-07-28 18:30 ` Joe Perches 2016-07-28 18:40 ` Dmitry Torokhov 1 sibling, 1 reply; 8+ messages in thread From: Joe Perches @ 2016-07-28 18:30 UTC (permalink / raw) To: Benjamin Tissoires, Dmitry Torokhov; +Cc: linux-input, linux-kernel On Thu, 2016-07-28 at 11:58 +0200, Benjamin Tissoires wrote: > The use of mixed psmouse_printk() and printk creates 2 lines in the log, > while the use of %*ph solves everything. > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > --- > drivers/input/mouse/elantech.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > index 615d23e..3461d04 100644 > --- a/drivers/input/mouse/elantech.c > +++ b/drivers/input/mouse/elantech.c > @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, > */ > static void elantech_packet_dump(struct psmouse *psmouse) > { > - int i; > - > - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); > - for (i = 0; i < psmouse->pktsize; i++) > - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); > - printk("]\n"); > + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", > + psmouse->pktsize, psmouse->packet); > } > > /* This should add a newline "\n" format termination but how does the original produce multiple lines of output? It looks more like psmouse_printk should be removed altogether and dev_debug should be used instead. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 18:30 ` Joe Perches @ 2016-07-28 18:40 ` Dmitry Torokhov 2016-07-28 18:49 ` Joe Perches 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Torokhov @ 2016-07-28 18:40 UTC (permalink / raw) To: Joe Perches; +Cc: Benjamin Tissoires, linux-input, linux-kernel On Thu, Jul 28, 2016 at 11:30:56AM -0700, Joe Perches wrote: > On Thu, 2016-07-28 at 11:58 +0200, Benjamin Tissoires wrote: > > The use of mixed psmouse_printk() and printk creates 2 lines in the log, > > while the use of %*ph solves everything. > > > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > --- > > drivers/input/mouse/elantech.c | 8 ++------ > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > > index 615d23e..3461d04 100644 > > --- a/drivers/input/mouse/elantech.c > > +++ b/drivers/input/mouse/elantech.c > > @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, > > */ > > static void elantech_packet_dump(struct psmouse *psmouse) > > { > > - int i; > > - > > - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); > > - for (i = 0; i < psmouse->pktsize; i++) > > - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); > > - printk("]\n"); > > + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", > > + psmouse->pktsize, psmouse->packet); > > } > > > > /* > > This should add a newline "\n" format termination but I added it, thanks for alerting me. > how does the original produce multiple lines of output? > > It looks more like psmouse_printk should be removed altogether > and dev_debug should be used instead. That does not produce output by default whereas elantech driver uses elantech_packet_dump() to drop unexpected packets. Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 18:40 ` Dmitry Torokhov @ 2016-07-28 18:49 ` Joe Perches 2016-07-28 18:54 ` Dmitry Torokhov 0 siblings, 1 reply; 8+ messages in thread From: Joe Perches @ 2016-07-28 18:49 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: Benjamin Tissoires, linux-input, linux-kernel On Thu, 2016-07-28 at 11:40 -0700, Dmitry Torokhov wrote: > On Thu, Jul 28, 2016 at 11:30:56AM -0700, Joe Perches wrote: > > > > On Thu, 2016-07-28 at 11:58 +0200, Benjamin Tissoires wrote: > > > > > > The use of mixed psmouse_printk() and printk creates 2 lines in the log, > > > while the use of %*ph solves everything. > > > > > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > > --- > > > drivers/input/mouse/elantech.c | 8 ++------ > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > > > index 615d23e..3461d04 100644 > > > --- a/drivers/input/mouse/elantech.c > > > +++ b/drivers/input/mouse/elantech.c > > > @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, > > > */ > > > static void elantech_packet_dump(struct psmouse *psmouse) > > > { > > > - int i; > > > - > > > - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); > > > - for (i = 0; i < psmouse->pktsize; i++) > > > - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); > > > - printk("]\n"); > > > + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", > > > + psmouse->pktsize, psmouse->packet); > > > } > > > > > > /* > > This should add a newline "\n" format termination but > I added it, thanks for alerting me. > > > > > how does the original produce multiple lines of output? > > > > It looks more like psmouse_printk should be removed altogether > > and dev_debug should be used instead. > That does not produce output by default whereas elantech driver uses > elantech_packet_dump() to drop unexpected packets. So use dev_printk(KERN_DEBUG, etc... But I still don't see a mechanism for the original code to be emitted on multiple lines. How long is the longest packet? This might truncate it. Should this be ratelimited? ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 18:49 ` Joe Perches @ 2016-07-28 18:54 ` Dmitry Torokhov 2016-07-28 18:58 ` Joe Perches 0 siblings, 1 reply; 8+ messages in thread From: Dmitry Torokhov @ 2016-07-28 18:54 UTC (permalink / raw) To: Joe Perches; +Cc: Benjamin Tissoires, linux-input, linux-kernel On Thu, Jul 28, 2016 at 11:49:57AM -0700, Joe Perches wrote: > On Thu, 2016-07-28 at 11:40 -0700, Dmitry Torokhov wrote: > > On Thu, Jul 28, 2016 at 11:30:56AM -0700, Joe Perches wrote: > > > > > > On Thu, 2016-07-28 at 11:58 +0200, Benjamin Tissoires wrote: > > > > > > > > The use of mixed psmouse_printk() and printk creates 2 lines in the log, > > > > while the use of %*ph solves everything. > > > > > > > > Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> > > > > --- > > > > drivers/input/mouse/elantech.c | 8 ++------ > > > > 1 file changed, 2 insertions(+), 6 deletions(-) > > > > > > > > diff --git a/drivers/input/mouse/elantech.c b/drivers/input/mouse/elantech.c > > > > index 615d23e..3461d04 100644 > > > > --- a/drivers/input/mouse/elantech.c > > > > +++ b/drivers/input/mouse/elantech.c > > > > @@ -222,12 +222,8 @@ static int elantech_write_reg(struct psmouse *psmouse, unsigned char reg, > > > > */ > > > > static void elantech_packet_dump(struct psmouse *psmouse) > > > > { > > > > - int i; > > > > - > > > > - psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); > > > > - for (i = 0; i < psmouse->pktsize; i++) > > > > - printk("%s0x%02x ", i ? ", " : " ", psmouse->packet[i]); > > > > - printk("]\n"); > > > > + psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet [%*ph]", > > > > + psmouse->pktsize, psmouse->packet); > > > > } > > > > > > > > /* > > > This should add a newline "\n" format termination but > > I added it, thanks for alerting me. > > > > > > > > how does the original produce multiple lines of output? > > > > > > It looks more like psmouse_printk should be removed altogether > > > and dev_debug should be used instead. > > That does not produce output by default whereas elantech driver uses > > elantech_packet_dump() to drop unexpected packets. > > So use dev_printk(KERN_DEBUG, etc... #define psmouse_printk(level, psmouse, format, ...) \ dev_printk(level, \ &(psmouse)->ps2dev.serio->dev, \ psmouse_fmt(format), ##__VA_ARGS__) I want to see current protocol module in th eoutput and I do not want to write "&(psmouse)->ps2dev.serio->dev" all the time. > > > But I still don't see a mechanism for the original code to be > emitted on multiple lines. Message from another driver snuck in? > > How long is the longest packet? > > This might truncate it. No, buffer is 8 bytes. > > Should this be ratelimited? So far there wasn't a need. -- Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 18:54 ` Dmitry Torokhov @ 2016-07-28 18:58 ` Joe Perches 2016-07-28 19:03 ` Dmitry Torokhov 0 siblings, 1 reply; 8+ messages in thread From: Joe Perches @ 2016-07-28 18:58 UTC (permalink / raw) To: Dmitry Torokhov; +Cc: Benjamin Tissoires, linux-input, linux-kernel On Thu, 2016-07-28 at 11:54 -0700, Dmitry Torokhov wrote: > On Thu, Jul 28, 2016 at 11:49:57AM -0700, Joe Perches wrote: [] > > So use dev_printk(KERN_DEBUG, etc... > #define psmouse_printk(level, psmouse, format, ...) \ > dev_printk(level, \ > &(psmouse)->ps2dev.serio->dev, \ > psmouse_fmt(format), ##__VA_ARGS__) > > I want to see current protocol module in th eoutput and I do not want to > write "&(psmouse)->ps2dev.serio->dev" all the time. There are only 2 uses of the macro. $ git grep psmouse_printk drivers/input/mouse/elantech.c: psmouse_printk(KERN_DEBUG, psmouse, \ drivers/input/mouse/elantech.c: psmouse_printk(KERN_DEBUG, psmouse, "PS/2 packet ["); drivers/input/mouse/psmouse.h:#define psmouse_printk(level, psmouse, format, ...) \ ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Input - elantech: fix debug dump of the current packet 2016-07-28 18:58 ` Joe Perches @ 2016-07-28 19:03 ` Dmitry Torokhov 0 siblings, 0 replies; 8+ messages in thread From: Dmitry Torokhov @ 2016-07-28 19:03 UTC (permalink / raw) To: Joe Perches; +Cc: Benjamin Tissoires, linux-input, linux-kernel On July 28, 2016 11:58:29 AM PDT, Joe Perches <joe@perches.com> wrote: >On Thu, 2016-07-28 at 11:54 -0700, Dmitry Torokhov wrote: >> On Thu, Jul 28, 2016 at 11:49:57AM -0700, Joe Perches wrote: >[] >> > So use dev_printk(KERN_DEBUG, etc... >> #define psmouse_printk(level, psmouse, format, ...) \ >> dev_printk(level, \ >> &(psmouse)->ps2dev.serio->dev, \ >> psmouse_fmt(format), ##__VA_ARGS__) >> >> I want to see current protocol module in th eoutput and I do not want >to >> write "&(psmouse)->ps2dev.serio->dev" all the time. > >There are only 2 uses of the macro. > >$ git grep psmouse_printk >drivers/input/mouse/elantech.c: psmouse_printk(KERN_DEBUG, >psmouse, \ >drivers/input/mouse/elantech.c: psmouse_printk(KERN_DEBUG, psmouse, >"PS/2 packet ["); >drivers/input/mouse/psmouse.h:#define psmouse_printk(level, psmouse, >format, ...) \ Yes, but many more of psmouse_<severity> calls and I like consistency. Thanks. -- Dmitry ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-07-28 19:03 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-07-28 9:58 [PATCH] Input - elantech: fix debug dump of the current packet Benjamin Tissoires 2016-07-28 18:22 ` Dmitry Torokhov 2016-07-28 18:30 ` Joe Perches 2016-07-28 18:40 ` Dmitry Torokhov 2016-07-28 18:49 ` Joe Perches 2016-07-28 18:54 ` Dmitry Torokhov 2016-07-28 18:58 ` Joe Perches 2016-07-28 19:03 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).