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