[PATCH v2 1/6] Add ancillary bus support

Ertman, David M david.m.ertman at intel.com
Thu Oct 8 20:13:15 CEST 2020


> -----Original Message-----
> From: Parav Pandit <parav at nvidia.com>
> Sent: Thursday, October 8, 2020 10:35 AM
> To: Ertman, David M <david.m.ertman at intel.com>; Pierre-Louis Bossart
> <pierre-louis.bossart at linux.intel.com>; Leon Romanovsky
> <leon at kernel.org>
> Cc: alsa-devel at alsa-project.org; parav at mellanox.com; tiwai at suse.de;
> netdev at vger.kernel.org; ranjani.sridharan at linux.intel.com;
> fred.oh at linux.intel.com; linux-rdma at vger.kernel.org;
> dledford at redhat.com; broonie at kernel.org; Jason Gunthorpe
> <jgg at nvidia.com>; gregkh at linuxfoundation.org; kuba at kernel.org; Williams,
> Dan J <dan.j.williams at intel.com>; Saleem, Shiraz
> <shiraz.saleem at intel.com>; davem at davemloft.net; Patil, Kiran
> <kiran.patil at intel.com>
> Subject: RE: [PATCH v2 1/6] Add ancillary bus support
> 
> 
> 
> > From: Ertman, David M <david.m.ertman at intel.com>
> > Sent: Thursday, October 8, 2020 10:24 PM
> 
> > > From: Parav Pandit <parav at nvidia.com>
> > > 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


More information about the Alsa-devel mailing list