> -----Original Message-----
> From: Parav Pandit <[email protected]>
> Sent: Thursday, October 8, 2020 10:35 AM
> To: Ertman, David M <[email protected]>; Pierre-Louis Bossart
> <[email protected]>; Leon Romanovsky
> <[email protected]>
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; Jason Gunthorpe
> <[email protected]>; [email protected]; [email protected]; Williams,
> Dan J <[email protected]>; Saleem, Shiraz
> <[email protected]>; [email protected]; Patil, Kiran
> <[email protected]>
> Subject: RE: [PATCH v2 1/6] Add ancillary bus support
> 
> 
> 
> > From: Ertman, David M <[email protected]>
> > Sent: Thursday, October 8, 2020 10:24 PM
> 
> > > From: Parav Pandit <[email protected]>
> > > 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

Reply via email to