RE: [PATCH 2/2] cdx: Create resource debugfs file for cdx device

From: Gangurde, Abhijit
Date: Wed Nov 22 2023 - 11:19:14 EST


> > resource debugfs file contains host addresses of CDX device resources.
> > Each line of the resource file describe a region with start, end and
> > flag fields.
> >
> > Signed-off-by: Abhijit Gangurde <abhijit.gangurde@xxxxxxx>
> > ---
> > drivers/cdx/cdx.c | 42 ++++++++++++++++++++++++++++++++++++-
> > include/linux/cdx/cdx_bus.h | 2 ++
> > 2 files changed, 43 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c
> > index 4edf64f9e98d..e01376272ed3 100644
> > --- a/drivers/cdx/cdx.c
> > +++ b/drivers/cdx/cdx.c
> > @@ -65,6 +65,7 @@
> > #include <linux/cdx/cdx_bus.h>
> > #include <linux/iommu.h>
> > #include <linux/dma-map-ops.h>
> > +#include <linux/debugfs.h>
> > #include "cdx.h"
> >
> > /* Default DMA mask for devices on a CDX bus */
> > @@ -75,6 +76,8 @@
> > static DEFINE_IDA(cdx_controller_ida);
> > /* Lock to protect controller ops */
> > static DEFINE_MUTEX(cdx_controller_lock);
> > +/* Debugfs dir for cdx bus */
> > +static struct dentry *cdx_debugfs_dir;
> >
> > static char *compat_node_name = "xlnx,versal-net-cdx";
> >
> > @@ -149,6 +152,7 @@ static int cdx_unregister_device(struct device *dev,
> > cdx->ops->bus_disable(cdx, cdx_dev->bus_num);
> > } else {
> > cdx_destroy_res_attr(cdx_dev, MAX_CDX_DEV_RESOURCES);
> > + debugfs_remove_recursive(cdx_dev->debugfs_dir);
> > kfree(cdx_dev->driver_override);
> > cdx_dev->driver_override = NULL;
> > }
> > @@ -552,6 +556,34 @@ static const struct attribute_group
> *cdx_dev_groups[] = {
> > NULL,
> > };
> >
> > +static int cdx_debug_resource_show(struct seq_file *s, void *data)
> > +{
> > + struct cdx_device *cdx_dev = s->private;
> > + int i;
> > +
> > + for (i = 0; i < MAX_CDX_DEV_RESOURCES; i++) {
> > + struct resource *res = &cdx_dev->res[i];
> > +
> > + seq_printf(s, "0x%016llx 0x%016llx 0x%016llx\n",
> > + (unsigned long long)res->start,
> > + (unsigned long long)res->end,
> > + (unsigned long long)res->flags);
>
> Why not just use %pR or %pr instead of creating your own style of
> format?

Will correct this in next spin.

Thanks,
Abhijit