mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
Revert "i3c: Make i3c_master_unregister() return void"
This reverts commit87e0f28edawhich is commit0f74f8b667upstream. It breaks the Android kernel abi and can be brought back in the future in an abi-safe way if it is really needed. Bug: 161946584 Change-Id: Ia86a905c65bddaf79dc1e8fffc0609cb2b5b115c Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -2696,13 +2696,17 @@ EXPORT_SYMBOL_GPL(i3c_master_register);
|
||||
* @master: master used to send frames on the bus
|
||||
*
|
||||
* Basically undo everything done in i3c_master_register().
|
||||
*
|
||||
* Return: 0 in case of success, a negative error code otherwise.
|
||||
*/
|
||||
void i3c_master_unregister(struct i3c_master_controller *master)
|
||||
int i3c_master_unregister(struct i3c_master_controller *master)
|
||||
{
|
||||
i3c_master_i2c_adapter_cleanup(master);
|
||||
i3c_master_unregister_i3c_devs(master);
|
||||
i3c_master_bus_cleanup(master);
|
||||
device_unregister(&master->dev);
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(i3c_master_unregister);
|
||||
|
||||
|
||||
@@ -1184,8 +1184,11 @@ err_disable_core_clk:
|
||||
static int dw_i3c_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct dw_i3c_master *master = platform_get_drvdata(pdev);
|
||||
int ret;
|
||||
|
||||
i3c_master_unregister(&master->base);
|
||||
ret = i3c_master_unregister(&master->base);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
reset_control_assert(master->core_rst);
|
||||
|
||||
|
||||
@@ -1666,8 +1666,11 @@ err_disable_pclk:
|
||||
static int cdns_i3c_master_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct cdns_i3c_master *master = platform_get_drvdata(pdev);
|
||||
int ret;
|
||||
|
||||
i3c_master_unregister(&master->base);
|
||||
ret = i3c_master_unregister(&master->base);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
clk_disable_unprepare(master->sysclk);
|
||||
clk_disable_unprepare(master->pclk);
|
||||
|
||||
@@ -769,9 +769,7 @@ static int i3c_hci_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct i3c_hci *hci = platform_get_drvdata(pdev);
|
||||
|
||||
i3c_master_unregister(&hci->master);
|
||||
|
||||
return 0;
|
||||
return i3c_master_unregister(&hci->master);
|
||||
}
|
||||
|
||||
static const __maybe_unused struct of_device_id i3c_hci_of_match[] = {
|
||||
|
||||
@@ -1651,8 +1651,11 @@ err_disable_clks:
|
||||
static int svc_i3c_master_remove(struct platform_device *pdev)
|
||||
{
|
||||
struct svc_i3c_master *master = platform_get_drvdata(pdev);
|
||||
int ret;
|
||||
|
||||
i3c_master_unregister(&master->base);
|
||||
ret = i3c_master_unregister(&master->base);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
pm_runtime_dont_use_autosuspend(&pdev->dev);
|
||||
pm_runtime_disable(&pdev->dev);
|
||||
|
||||
@@ -541,7 +541,7 @@ int i3c_master_register(struct i3c_master_controller *master,
|
||||
struct device *parent,
|
||||
const struct i3c_master_controller_ops *ops,
|
||||
bool secondary);
|
||||
void i3c_master_unregister(struct i3c_master_controller *master);
|
||||
int i3c_master_unregister(struct i3c_master_controller *master);
|
||||
|
||||
/**
|
||||
* i3c_dev_get_master_data() - get master private data attached to an I3C
|
||||
|
||||
Reference in New Issue
Block a user