linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Benoit Parrot <bparrot@ti.com>
To: Joe Perches <joe@perches.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Prabhakar Lad <prabhakar.csengg@gmail.com>,
	<linux-media@vger.kernel.org>, <devicetree@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [Patch 10/13] media: am437x-vpfe: Remove print_fourcc helper
Date: Mon, 9 Sep 2019 12:12:15 -0500	[thread overview]
Message-ID: <20190909171215.2cyiulubzxcjqmf7@ti.com> (raw)
In-Reply-To: <7d870b0119afa378dc68c710670b9b550ef5bdd4.camel@perches.com>

Joe Perches <joe@perches.com> wrote on Mon [2019-Sep-09 09:39:37 -0700]:
> On Mon, 2019-09-09 at 11:27 -0500, Benoit Parrot wrote:
> > print_fourcc helper function was used for debug log the
> > convert a pixel format code into its readable form for display
> > purposes. But since it used a single static buffer to perform
> > the conversion this might lead to display format issue when more
> > than one instance was invoked simultaneously.
> > 
> > It turns out that print_fourcc can be safely replace by using
> > "%4.4s" instead and casting the pointer to the fourcc code
> > into a (char *).
> []
> > diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
> []
> > @@ -221,20 +221,6 @@ static void pix_to_mbus(struct vpfe_device *vpfe,
> []
> > @@ -700,8 +686,8 @@ static int vpfe_ccdc_set_pixel_format(struct vpfe_ccdc *ccdc, u32 pixfmt)
> >  {
> >  	struct vpfe_device *vpfe = container_of(ccdc, struct vpfe_device, ccdc);
> >  
> > -	vpfe_dbg(1, vpfe, "%s: if_type: %d, pixfmt:%s\n",
> > -		 __func__, ccdc->ccdc_cfg.if_type, print_fourcc(pixfmt));
> > +	vpfe_dbg(1, vpfe, "%s: if_type: %d, pixfmt:%4.4s\n",
> > +		 __func__, ccdc->ccdc_cfg.if_type, (char *)&pixfmt);
> 
> 
> To avoid any possible defect in the content of pixfmt, it's
> probably better to use vsprintf extension "%4pE", &pixfmt
> see: Documentation/core-api/printk-formats.rst
> 
> 	vpfe_dbg(1, vpfe, "%s: if_type: %d, pixfmt:%4pE\n",
> 		 __func__, ccdc->ccdc_cfg.if_type, &pixfmt);
> 

Thanks Joe, I was not aware of this feature.
I'll update this patch.

Benoit

> >  
> >  	if (ccdc->ccdc_cfg.if_type == VPFE_RAW_BAYER) {
> >  		ccdc->ccdc_cfg.bayer.pix_fmt = CCDC_PIXFMT_RAW;
> > @@ -989,8 +975,8 @@ static int vpfe_config_ccdc_image_format(struct vpfe_device *vpfe)
> >  
> >  	vpfe_dbg(2, vpfe, "%s:\n", __func__);
> >  
> > -	vpfe_dbg(1, vpfe, "pixelformat: %s\n",
> > -		print_fourcc(vpfe->v_fmt.fmt.pix.pixelformat));
> > +	vpfe_dbg(1, vpfe, "pixelformat: %4.4s\n",
> > +		 (char *)&vpfe->v_fmt.fmt.pix.pixelformat);
> 
> 	vpfe_dbg(1, vpfe, "pixelformat: %4pE\n",
> 		 &vpfe->v_fmt.fmt.pix.pixelformat);
> 
> etc...
> 
> 

  reply	other threads:[~2019-09-09 17:10 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-09 16:27 [Patch 00/13] media: am437x-vpfe: overdue maintenance Benoit Parrot
2019-09-09 16:27 ` [Patch 01/13] media: am437x-vpfe: Fix suspend path to always handle pinctrl config Benoit Parrot
2019-09-13 12:59   ` Hans Verkuil
2019-09-13 13:24     ` Benoit Parrot
2019-09-09 16:27 ` [Patch 02/13] media: am437x-vpfe: Fix missing first line Benoit Parrot
2019-09-13 13:00   ` Hans Verkuil
2019-09-13 13:25     ` Benoit Parrot
2019-09-09 16:27 ` [Patch 03/13] media: am437x-vpfe: Rework ISR routine for clarity Benoit Parrot
2019-09-09 16:27 ` [Patch 04/13] media: am437x-vpfe: Wait for end of frame before tear-down Benoit Parrot
2019-09-09 16:27 ` [Patch 05/13] media: am437x-vpfe: Streamlined vb2 buffer cleanup Benoit Parrot
2019-09-16  8:00   ` Lad, Prabhakar
2019-09-16 14:53     ` Benoit Parrot
2019-09-16 16:02       ` Lad, Prabhakar
2019-09-09 16:27 ` [Patch 06/13] media: am437x-vpfe: Setting STD to current value is not an error Benoit Parrot
2019-09-09 16:27 ` [Patch 07/13] media: am437x-vpfe: Use a per instance format array instead of a static one Benoit Parrot
2019-09-13 13:07   ` Hans Verkuil
2019-09-13 13:29     ` Benoit Parrot
2019-09-17 16:19     ` Benoit Parrot
2019-09-09 16:27 ` [Patch 08/13] media: am437x-vpfe: Maintain a reference to the current vpfe_fmt Benoit Parrot
2019-09-13 13:14   ` Hans Verkuil
2019-09-13 13:32     ` Benoit Parrot
2019-09-13 13:34       ` Hans Verkuil
2019-09-13 13:43         ` Benoit Parrot
2019-09-09 16:27 ` [Patch 09/13] media: am437x-vpfe: fix function trace debug log Benoit Parrot
2019-09-09 16:54   ` Joe Perches
2019-09-09 17:14     ` Benoit Parrot
2019-09-09 16:27 ` [Patch 10/13] media: am437x-vpfe: Remove print_fourcc helper Benoit Parrot
2019-09-09 16:39   ` Joe Perches
2019-09-09 17:12     ` Benoit Parrot [this message]
2019-09-09 16:27 ` [Patch 11/13] media: am437x-vpfe: TRY_FMT ioctl is not really trying anything Benoit Parrot
2019-09-09 16:27 ` [Patch 12/13] media: am437x-vpfe: Remove per bus width static data Benoit Parrot
2019-09-13 13:19   ` Hans Verkuil
2019-09-13 13:34     ` Benoit Parrot
2019-09-09 16:27 ` [Patch 13/13] media: am437x-vpfe: Switch to SPDX Licensing Benoit Parrot
2019-09-10 10:42 ` [Patch 00/13] media: am437x-vpfe: overdue maintenance Hans Verkuil
2019-09-10 16:20   ` Benoit Parrot

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=20190909171215.2cyiulubzxcjqmf7@ti.com \
    --to=bparrot@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hverkuil@xs4all.nl \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=prabhakar.csengg@gmail.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 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).