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 v2 2/2] staging: pi433: add debugfs interface
Date: Wed, 26 Jan 2022 16:21:16 +0300 [thread overview]
Message-ID: <20220126132116.GA1951@kadam> (raw)
In-Reply-To: <20220124042721.GA8078@mail.google.com>
Since you're going to have to redo these anyway can you make some
additional changes?
On Mon, Jan 24, 2022 at 05:27:21PM +1300, Paulo Miguel Almeida wrote:
> +static int pi433_debugfs_regs_show(struct seq_file *m, void *p)
> +{
> + struct pi433_device *dev;
> + u8 reg_data[114];
> + size_t i;
int i; unless the sizes are really going to exceed 2 billion.
> + char *fmt = "0x%02x, 0x%02x\n";
> +
> + dev = m->private;
> +
> + // acquire locks to avoid race conditions
This comment does not add any information. Delete it.
> + mutex_lock(&dev->tx_fifo_lock);
> + mutex_lock(&dev->rx_lock);
> +
> + // wait for on-going operations to finish
> + if (dev->tx_active)
This condition is unnecessary, it's already checked in wait_event_interruptible().
> + wait_event_interruptible(dev->rx_wait_queue, !dev->tx_active);
It makes me nervous that you're not checking the returns from these...
> +
> + if (dev->rx_active)
> + wait_event_interruptible(dev->tx_wait_queue, !dev->rx_active);
> +
> + // read contiguous regs
> + // skip FIFO register (0x0) otherwise this can affect some of uC ops
> + for (i = 1; i < 0x50; i++)
> + reg_data[i] = rf69_read_reg(dev->spi, i);
> +
> + // read non-contiguous regs
> + reg_data[REG_TESTLNA] = rf69_read_reg(dev->spi, REG_TESTLNA);
> + reg_data[REG_TESTPA1] = rf69_read_reg(dev->spi, REG_TESTPA1);
> + reg_data[REG_TESTPA2] = rf69_read_reg(dev->spi, REG_TESTPA2);
> + reg_data[REG_TESTDAGC] = rf69_read_reg(dev->spi, REG_TESTDAGC);
> + reg_data[REG_TESTAFC] = rf69_read_reg(dev->spi, REG_TESTAFC);
> +
> + seq_puts(m, "# reg, val\n");
> +
> + // print contiguous regs
These comments duplicate the comments a few lines earlier so they don't
add anything new.
> + for (i = 1; i < 0x50; i++)
> + seq_printf(m, fmt, i, reg_data[i]);
> +
> + // print non-contiguous regs
Delete.
> + seq_printf(m, fmt, REG_TESTLNA, reg_data[REG_TESTLNA]);
> + seq_printf(m, fmt, REG_TESTPA1, reg_data[REG_TESTPA1]);
> + seq_printf(m, fmt, REG_TESTPA2, reg_data[REG_TESTPA2]);
> + seq_printf(m, fmt, REG_TESTDAGC, reg_data[REG_TESTDAGC]);
> + seq_printf(m, fmt, REG_TESTAFC, reg_data[REG_TESTAFC]);
> +
> + // release locks
Delete this comment
> + mutex_unlock(&dev->tx_fifo_lock);
> + mutex_unlock(&dev->rx_lock);
Could you flip these locks around so they mirror the start of the
function? It doesn't affect runtime, but really it's nicer if the
ordering are always consistent. ABBA.
> +
> + return 0;
> +}
> +
> +static ssize_t pi433_debugfs_regs_open(struct inode *inode, struct file *filp)
> +{
> + return single_open(filp, pi433_debugfs_regs_show, inode->i_private);
> +}
> +
> +static const struct file_operations debugfs_fops = {
> + .llseek = seq_lseek,
> + .open = pi433_debugfs_regs_open,
> + .owner = THIS_MODULE,
> + .read = seq_read,
> + .release = single_release
> +};
> +
> /*-------------------------------------------------------------------------*/
>
> static int pi433_probe(struct spi_device *spi)
> {
> struct pi433_device *device;
> + struct dentry *entry; /* debugfs */
Delete the comment. The variable name is not good. "dir" would be
better.
> int retval;
>
> /* setup spi parameters */
> @@ -1256,6 +1324,11 @@ static int pi433_probe(struct spi_device *spi)
> /* spi setup */
> spi_set_drvdata(spi, device);
>
> + /* debugfs setup */
Delete comment (it does not add information).
> + entry = debugfs_create_dir(dev_name(device->dev),
> + debugfs_lookup(KBUILD_MODNAME, NULL));
> + debugfs_create_file("regs", 0400, entry, device, &debugfs_fops);
> +
> return 0;
>
> del_cdev:
> @@ -1279,6 +1352,10 @@ static int pi433_probe(struct spi_device *spi)
> static int pi433_remove(struct spi_device *spi)
> {
> struct pi433_device *device = spi_get_drvdata(spi);
> + struct dentry *mod_entry = debugfs_lookup(KBUILD_MODNAME, NULL);
> +
> + /* debugfs */
Delete comment.
> + debugfs_remove(debugfs_lookup(dev_name(device->dev), mod_entry));
>
> /* free GPIOs */
> free_gpio(device);
regards,
dan carpenter
next prev parent reply other threads:[~2022-01-26 13:21 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-23 7:38 [PATCH 0/2] staging: pi433: add debugfs interface Paulo Miguel Almeida
2022-01-23 7:39 ` [PATCH 1/2] staging: pi433: add missing register contants Paulo Miguel Almeida
2022-01-23 7:40 ` [PATCH 2/2] staging: pi433: add debugfs interface Paulo Miguel Almeida
2022-01-23 11:20 ` Greg KH
2022-01-24 4:14 ` Paulo Miguel Almeida
2022-01-24 4:25 ` [PATCH v2 0/2] " Paulo Miguel Almeida
2022-01-24 4:26 ` [PATCH v2 1/2] staging: pi433: add missing register contants Paulo Miguel Almeida
2022-01-24 4:27 ` [PATCH v2 2/2] staging: pi433: add debugfs interface Paulo Miguel Almeida
2022-01-26 12:03 ` Greg KH
2022-01-29 3:35 ` Paulo Miguel Almeida
2022-01-26 13:21 ` Dan Carpenter [this message]
2022-01-29 3:30 ` Paulo Miguel Almeida
2022-01-30 2:57 ` [PATCH v3] " Paulo Miguel Almeida
2022-01-31 13:45 ` Dan Carpenter
2022-01-31 16:45 ` Greg KH
2022-01-31 19:37 ` Paulo Miguel Almeida
2022-02-04 5:06 ` [PATCH v4] " Paulo Miguel Almeida
2022-02-04 8:04 ` [PATCH v5] " Paulo Miguel Almeida
2022-02-04 9:02 ` Dan Carpenter
2022-02-04 8:55 ` [PATCH v4] " Dan Carpenter
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=20220126132116.GA1951@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 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.