RE: [PATCH v2 1/6] Add ancillary bus support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> 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.

> -DaveE




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux