From efbc7c7549d580e92b9919d286dc8059e3c77930 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Fri, 16 Aug 2024 14:16:31 +0000 Subject: [PATCH] Revert "i2c: acpi: Unbind mux adapters before delete" This reverts commit b1574c8c0a80bd587a7651bf64f00be1f5391d27 which is commit 3f858bbf04dbac934ac279aaee05d49eb9910051 upstream. 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: Idee931998e80ee3ce1c11fa19a49daeea6388fbb Signed-off-by: Greg Kroah-Hartman --- drivers/i2c/i2c-core-acpi.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/drivers/i2c/i2c-core-acpi.c b/drivers/i2c/i2c-core-acpi.c index 14ae0cfc325e..d6037a328669 100644 --- a/drivers/i2c/i2c-core-acpi.c +++ b/drivers/i2c/i2c-core-acpi.c @@ -445,11 +445,6 @@ static struct i2c_client *i2c_acpi_find_client_by_adev(struct acpi_device *adev) return i2c_find_device_by_fwnode(acpi_fwnode_handle(adev)); } -static struct i2c_adapter *i2c_acpi_find_adapter_by_adev(struct acpi_device *adev) -{ - return i2c_find_adapter_by_fwnode(acpi_fwnode_handle(adev)); -} - static int i2c_acpi_notify(struct notifier_block *nb, unsigned long value, void *arg) { @@ -476,17 +471,11 @@ static int i2c_acpi_notify(struct notifier_block *nb, unsigned long value, break; client = i2c_acpi_find_client_by_adev(adev); - if (client) { - i2c_unregister_device(client); - put_device(&client->dev); - } - - adapter = i2c_acpi_find_adapter_by_adev(adev); - if (adapter) { - acpi_unbind_one(&adapter->dev); - put_device(&adapter->dev); - } + if (!client) + break; + i2c_unregister_device(client); + put_device(&client->dev); break; }