mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-05 00:20:32 +00:00
soundwire: bus_type: fix remove and shutdown support
[ Upstream commitdf64077829
] The bus sdw_drv_remove() and sdw_drv_shutdown() helpers are used conditionally, if the driver provides these routines. These helpers already test if the driver provides a .remove or .shutdown callback, so there's no harm in invoking the sdw_drv_remove() and sdw_drv_shutdown() unconditionally. In addition, the current code is imbalanced with dev_pm_domain_attach() called from sdw_drv_probe(), but dev_pm_domain_detach() called from sdw_drv_remove() only if the driver provides a .remove callback. Fixes:9251345dca
("soundwire: Add SoundWire bus type") Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Rander Wang <rander.wang@intel.com> Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Link: https://lore.kernel.org/r/20220610015105.25987-1-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
30c1ad430e
commit
ed2ba7f3ba
1 changed files with 2 additions and 6 deletions
|
@ -154,12 +154,8 @@ int __sdw_register_driver(struct sdw_driver *drv, struct module *owner)
|
|||
|
||||
drv->driver.owner = owner;
|
||||
drv->driver.probe = sdw_drv_probe;
|
||||
|
||||
if (drv->remove)
|
||||
drv->driver.remove = sdw_drv_remove;
|
||||
|
||||
if (drv->shutdown)
|
||||
drv->driver.shutdown = sdw_drv_shutdown;
|
||||
drv->driver.remove = sdw_drv_remove;
|
||||
drv->driver.shutdown = sdw_drv_shutdown;
|
||||
|
||||
return driver_register(&drv->driver);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue