[Accel-config] Re: [PATCH v1 01/11] accel-config: Add mdev path to device context

Thomas, Ramesh <ramesh.thomas at intel.com>
Newsgroups dev.linux.lists.accel-config
Message-ID <BYAPR11MB25359E5C482BAB885993C19FEDF10@BYAPR11MB2535.namprd11.prod.outlook.com>
On Fri, Dec 04, 2020 at 03:36:29PM, Dave Jiang wrote:
> 
> 
> > -----Original Message-----
> > From: ramesh.thomas(a)intel.com <ramesh.thomas(a)intel.com>
> > Sent: Wednesday, December 2, 2020 12:31 PM
> > To: accel-config(a)lists.01.org
> > Cc: Thomas, Ramesh <ramesh.thomas(a)intel.com>; Luck, Tony
> > <tony.luck(a)intel.com>; Jiang, Dave <dave.jiang(a)intel.com>
> > Subject: [PATCH v1 01/11] accel-config: Add mdev path to device context
> >
> > From: Ramesh Thomas <ramesh.thomas(a)intel.com>
> >
> > /sys/class/mdev_bus/<bdf> is used often to access mdevs associated with
> > the device. Generate and store in device so it need not be constructed
> > everytime.
> >
> > Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
> 
> Reviewed-by: Dave Jiang <dave.jiang(a)intel.com>
> 
> Does private.h have a spacing issue? The diff looks rather odd.

Yes, it does. Maybe I will add a patch to clean it up.

> 
> 
> > ---
> >  accfg/lib/libaccfg.c | 17 +++++++++++++++++  accfg/lib/private.h  |  1 +
> >  2 files changed, 18 insertions(+)
> >
> > diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c index cd9da42..9b5615a
> > 100644
> > --- a/accfg/lib/libaccfg.c
> > +++ b/accfg/lib/libaccfg.c
> > @@ -194,6 +194,7 @@ static void free_device(struct accfg_device *device,
> > struct list_head *head)
> >  list_del_from(head, &device->list);
> >  free(device->device_path);
> >  free(device->device_buf);
> > +free(device->mdev_path);
> >  free(device);
> >  }
> >
> > @@ -413,6 +414,7 @@ static void *add_device(void *parent, int id, const
> > char *ctl_base, char *dev_pr
> >  char *path;
> >  int dfd;
> >  int rc;
> > +char *p;
> >
> >  path = calloc(1, strlen(ctl_base) + MAX_PARAM_LEN);
> >  if (!path) {
> > @@ -470,6 +472,20 @@ static void *add_device(void *parent, int id, const
> > char *ctl_base, char *dev_pr
> >  goto err_dev_path;
> >  }
> >
> > +device->mdev_path = strdup(device->device_path);
> > +if (!device->mdev_path) {
> > +err(ctx, "strdup of device_path failed\n");
> > +goto err_dev_path;
> > +}
> > +
> > +if (asprintf(&p, "%s/%s", MDEV_BUS,
> > +basename(dirname(device->mdev_path))) < 0) {
> > +err(ctx, "device mdev_path allocation failed\n");
> > +goto err_dev_path;
> > +}
> > +free(device->mdev_path);
> > +device->mdev_path = p;
> > +
> >  device->device_buf = calloc(1, strlen(device->device_path) +
> >  MAX_PARAM_LEN);
> >  if (!device->device_buf) {
> > @@ -490,6 +506,7 @@ static void *add_device(void *parent, int id, const
> > char *ctl_base, char *dev_pr
> >  err_dev_path:
> >  err_read:
> >  free(device->device_buf);
> > +free(device->mdev_path);
> >  free(device);
> >  err_device:
> >  free(path);
> > diff --git a/accfg/lib/private.h b/accfg/lib/private.h index f38ff23..365d484
> > 100644
> > --- a/accfg/lib/private.h
> > +++ b/accfg/lib/private.h
> > @@ -30,6 +30,7 @@ struct accfg_device {
> >          struct list_node list;
> >  int group_init;
> >          char *device_path;
> > +char *mdev_path;
> >          char *device_buf;
> >  char *device_type_str;
> >  enum accfg_device_type type;
> > --
> > 2.26.2
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.