> -----Original Message----- > From: Parav Pandit <parav@xxxxxxxxxx> > Sent: Thursday, October 8, 2020 10:35 AM > To: Ertman, David M <david.m.ertman@xxxxxxxxx>; Pierre-Louis Bossart > <pierre-louis.bossart@xxxxxxxxxxxxxxx>; Leon Romanovsky > <leon@xxxxxxxxxx> > Cc: alsa-devel@xxxxxxxxxxxxxxxx; parav@xxxxxxxxxxxx; tiwai@xxxxxxx; > netdev@xxxxxxxxxxxxxxx; ranjani.sridharan@xxxxxxxxxxxxxxx; > fred.oh@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; > dledford@xxxxxxxxxx; broonie@xxxxxxxxxx; Jason Gunthorpe > <jgg@xxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx; kuba@xxxxxxxxxx; Williams, > Dan J <dan.j.williams@xxxxxxxxx>; Saleem, Shiraz > <shiraz.saleem@xxxxxxxxx>; davem@xxxxxxxxxxxxx; Patil, Kiran > <kiran.patil@xxxxxxxxx> > Subject: RE: [PATCH v2 1/6] Add ancillary bus support > > > > > From: Ertman, David M <david.m.ertman@xxxxxxxxx> > > Sent: Thursday, October 8, 2020 10:24 PM > > > > From: Parav Pandit <parav@xxxxxxxxxx> > > > Sent: Wednesday, October 7, 2020 9:56 PM > > > > > /** > > > * ancillar_device_register() - register an ancillary device > > > * NOTE: __never directly free @adev after calling this function, even > > > if it returned > > > * an error. Always use ancillary_device_put() to give up the > > > reference initialized by this function. > > > * This note matches with the core and caller knows exactly what to be > > done. > > > */ > > > ancillary_device_register() > > > { > > > device_initialize(&adev->dev); > > > if (!dev->parent || !adev->name) > > > return -EINVAL; > > > if (!dev->release && !(dev->type && dev->type->release)) { > > > /* core is already capable and throws the warning when > > release > > > callback is not set. > > > * It is done at drivers/base/core.c:1798. > > > * For NULL release it says, "does not have a release() > > function, it > > > is broken and must be fixed" > > > */ > > > return -EINVAL; > > > } > > That code is in device_release(). Because of this check we will never hit > that > > code. > > > > We either need to leave the error message here, or if we are going to rely > on > > the core to find this condition at the end of the process, then we need to > > completely remove this check from the registration flow. > > > Yes. Since the core is checking it, ancillary bus doesn't need to check here and > release callback check can be removed. Will do > > > -DaveE