[PATCH v2 1/6] Add ancillary bus support
Parav Pandit
parav at nvidia.com
Thu Oct 8 19:35:04 CEST 2020
> 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.
> -DaveE
More information about the Alsa-devel
mailing list