From: Dan Carpenter <dan.carpenter@oracle.com>
To: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>
Cc: gregkh@linuxfoundation.org, realwakka@gmail.com,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] staging: pi433: remove need to recompile code to debug fifo content
Date: Mon, 7 Feb 2022 13:06:01 +0300 [thread overview]
Message-ID: <20220207100601.GF1951@kadam> (raw)
In-Reply-To: <YgCj2P59AbFFmnbA@mail.google.com>
On Mon, Feb 07, 2022 at 05:45:12PM +1300, Paulo Miguel Almeida wrote:
> Debugging content present in the FIFO register is tricky as when we read
> the FIFO register that changes the content of fifo struct which reduces
> number of possible ways of debugging it. Rf69 uC has the possibility of
> triggering certain IRQs depending on how many items are in the FIFO
> queue, so being able to know what's in there is an important way to
> troubleshoot certain problems.
>
> This patch removes the requirement of having to compile pi433 driver
> with DEBUG_FIFO_ACCESS set and let that be driven by printk verbositity
> level and/or dynamic debug config instead.
>
> Signed-off-by: Paulo Miguel Almeida <paulo.miguel.almeida.rodenas@gmail.com>
> ---
> Meta-comments:
>
> #1
> In my mind, I didn't like the idea of having to change the code and then
> echo "module pi433 +p" > <debugfs>/dynamic_debug/control to only then
> be able to read stuff being sent/retrieved from fifo. It felt somewhat
> redundant at a certain level. On the other hand, I understand that
> removing the conditional compilation will force a for-loop to iterate
> for no real reason most of the time (max 66 iterations)... so I made a
> trade-off and in case anyone disagrees with that, just let me know and I
> will be happy to change to a different approach.
>
This is fine. It's useful information to you. It's makes the code
nicer by removing ifdefs. It's not going to show up in benchmarking.
> #2
> In the past, it's been pointed out to me during code review that I tend
> to add code comments which could be omitted. In this case, the for-loop
> seemed a bit odd without explaining why it's in there. Let me know if
> you think I should keep/remove it.
Remove. Everyone knows what dev_dbg() does and the "read from fifo"
vs "written from[sic] fifo" is built into the function name.
> int rf69_read_fifo(struct spi_device *spi, u8 *buffer, unsigned int size)
> {
> -#ifdef DEBUG_FIFO_ACCESS
> int i;
> -#endif
> struct spi_transfer transfer;
> u8 local_buffer[FIFO_SIZE + 1];
You did not introduce this but we are potentially printing out
uninitialized data if spi_sync_transfer() fails. Please initialize this
with:
u8 local_buffer[FIFO_SIZE + 1] = {};
Do that in a separate patch, though.
> int retval;
> @@ -851,10 +844,9 @@ int rf69_read_fifo(struct spi_device *spi, u8 *buffer, unsigned int size)
>
> retval = spi_sync_transfer(spi, &transfer, 1);
>
> -#ifdef DEBUG_FIFO_ACCESS
> + /* print content read from fifo for debugging purposes */
> for (i = 0; i < size; i++)
> dev_dbg(&spi->dev, "%d - 0x%x\n", i, local_buffer[i + 1]);
> -#endif
>
> memcpy(buffer, &local_buffer[1], size);
>
regards,
dan carpenter
next prev parent reply other threads:[~2022-02-07 10:06 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-07 4:45 [PATCH] staging: pi433: remove need to recompile code to debug fifo content Paulo Miguel Almeida
2022-02-07 10:06 ` Dan Carpenter [this message]
2022-02-07 10:15 ` Joe Perches
2022-02-08 3:54 ` Paulo Miguel Almeida
2022-02-08 3:56 ` Paulo Miguel Almeida
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=20220207100601.GF1951@kadam \
--to=dan.carpenter@oracle.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=paulo.miguel.almeida.rodenas@gmail.com \
--cc=realwakka@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).