summaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2020-11-26 08:23:31 +0100
committerWolfram Sang <wsa@kernel.org>2020-12-11 15:43:49 +0100
commit4e970a0ada5299d017a4263074f725227c2d2852 (patch)
tree994fe8d6019cfdbd1ab80dd9a116bdeedd04231c /drivers/i2c
parent71637c620a826434ca6f888b0364a036faa27ffa (diff)
i2c: remove check that can never be true
A driver remove callback is only called if the device was bound before. So it's sure that both dev and dev->driver are valid and dev is an i2c device. If the check fails something louder than "return 0" might be appropriate because the problem is grave (something like memory corruption), otherwise the check is useless. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: Wolfram Sang <wsa@kernel.org>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/i2c-core-base.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 6528d9e8f3ae..63ebf722a424 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -549,12 +549,9 @@ put_sync_adapter:
static int i2c_device_remove(struct device *dev)
{
- struct i2c_client *client = i2c_verify_client(dev);
+ struct i2c_client *client = to_i2c_client(dev);
struct i2c_driver *driver;
- if (!client || !dev->driver)
- return 0;
-
driver = to_i2c_driver(dev->driver);
if (driver->remove) {
int status;