Re: [PATCH 1/8] rsxx: Adding in debugfs entries.

From: Andy Shevchenko
Date: Wed May 29 2013 - 14:18:23 EST


On Wed, May 29, 2013 at 12:08 AM, Philip J. Kelleher
<pjk1939@xxxxxxxxxxxxxxxxxx> wrote:
> From: Philip J Kelleher <pjk1939@xxxxxxxxxxxxxxxxxx>
>
> Adding in some debugfs entries to help with debugging and
> testing code.

> +++ linux-block/drivers/block/rsxx/core.c 2013-05-02 17:18:22.944239791 -0500
> @@ -52,6 +54,191 @@ MODULE_PARM_DESC(force_legacy, "Force th
> static DEFINE_IDA(rsxx_disk_ida);
> static DEFINE_SPINLOCK(rsxx_ida_lock);
>
> +/* --------------------Debugfs Setup ------------------- */
> +
> +static struct dentry *rsxx_debugfs_root;

I didn't get if you use only one debugfs_root per instance? How do you
distinguish two or more cards then?

> +static void rsxx_debugfs_dev_new(struct rsxx_cardinfo *card)
> +{
> + if (!rsxx_debugfs_root)
> + return;

It seems you always call this after debugfs_init(). So, remove this
check (keep in mind you have to check debugfs_init() return code - see
below).

> +static void rsxx_debugfs_dev_remove(struct rsxx_cardinfo *card)
> +{
> +}

Useless function. See below.

> +static void rsxx_debugfs_init(void)
> +{
> + rsxx_debugfs_root = debugfs_create_dir(DRIVER_NAME, NULL);

Same comment for DRIVER_NAME as for global variable debugfs_root above.

> + if (!rsxx_debugfs_root)
> + return;

It should be checked for NULL and for ERR_PTR. Return error instead of void.

> +static void rsxx_debugfs_destroy(void)
> +{
> + if (!rsxx_debugfs_root)
> + return;

Use debugfs_remove_recursive().
It's also NULL-proof.

> + debugfs_remove(rsxx_debugfs_root);
> + rsxx_debugfs_root = NULL;

If you will use this on card based, you probably have to move this
from global space to card space.

> +++ linux-block/drivers/block/rsxx/rsxx_priv.h 2013-05-02 17:17:25.154498245 -0500
> @@ -181,6 +181,11 @@ struct rsxx_cardinfo {
>
> int n_targets;
> struct rsxx_dma_ctrl *ctrl;
> +
> + /* Debugfs Variables */
> + struct dentry *debugfs_dir;
> + struct dentry *debugfs_stats;
> + struct dentry *debugfs_pci_regs;

No need to keep those pointers since you may use debugfs_remove_recursive().

--
With Best Regards,
Andy Shevchenko
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/