[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20230609120852.00003c6c@Huawei.com>
Date: Fri, 9 Jun 2023 12:08:52 +0100
From: Jonathan Cameron <Jonathan.Cameron@...wei.com>
To: "Verma, Vishal L" <vishal.l.verma@...el.com>
CC: "Jiang, Dave" <dave.jiang@...el.com>,
"Schofield, Alison" <alison.schofield@...el.com>,
"linux-cxl@...r.kernel.org" <linux-cxl@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Williams, Dan J" <dan.j.williams@...el.com>,
"Weight, Russell H" <russell.h.weight@...el.com>,
"bwidawsk@...nel.org" <bwidawsk@...nel.org>,
"Weiny, Ira" <ira.weiny@...el.com>,
"dave@...olabs.net" <dave@...olabs.net>
Subject: Re: [PATCH v2 1/4] cxl: add a firmware update mechanism using the
sysfs firmware loader
On Thu, 8 Jun 2023 20:26:43 +0000
"Verma, Vishal L" <vishal.l.verma@...el.com> wrote:
> On Thu, 2023-06-08 at 20:15 +0000, Verma, Vishal L wrote:
> >
> > > > +
> > > > + fwl = firmware_upload_register(THIS_MODULE, &cxlmd->dev,
> > > > + dev_name(&cxlmd->dev),
> > > > + &cxl_memdev_fw_ops, cxlds);
> > > > + if (IS_ERR(fwl)) {
> > > > + dev_err(&cxlmd->dev, "Failed to register firmware loader\n");
> > > > + return PTR_ERR(fwl);
> > >
> > > It's called from probe only so could use dev_err_probe() for slight
> > > simplification.
> >
> > From what I can tell, this ends up looking like:
> >
> > fwl = firmware_upload_register(THIS_MODULE, dev, dev_name(dev),
> > &cxl_memdev_fw_ops, cxlds);
> > rc = dev_err_probe(dev, PTR_ERR(fwl),
> > "Failed to register firmware loader\n");
> > if (rc)
> > return rc;
> >
> > Is that what you meant? Happy to make the change if so.
> >
> >
> Actually I can't drop the IS_ERR() check - so unless I'm missing
> something, this doesn't look like much of a simplification:
>
>
> if (IS_ERR(fwl)) {
> rc = dev_err_probe(dev, PTR_ERR(fwl),
> "Failed to register firmware loader\n");
> if (rc)
> return rc;
> }
>
Ah. I replied to previous. It's simpler than that as you know rc != 0 as
it's IS_ERR(fwl)
dev_err_probe() does two helpful things over dev_err()
1. Handles stashing the debug messages for the deferred probe cases (not
relevant here but harmless)
2. Returns the variable you pass in as second argument to allow
return dev_err_probe()
Jonathan
Powered by blists - more mailing lists