diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2020-11-26 08:23:31 +0100 |
---|---|---|
committer | Wolfram Sang <wsa@kernel.org> | 2020-12-11 15:43:49 +0100 |
commit | 4e970a0ada5299d017a4263074f725227c2d2852 (patch) | |
tree | 994fe8d6019cfdbd1ab80dd9a116bdeedd04231c /drivers/i2c/i2c-core-base.c | |
parent | 71637c620a826434ca6f888b0364a036faa27ffa (diff) | |
download | linux-4e970a0ada5299d017a4263074f725227c2d2852.tar.gz linux-4e970a0ada5299d017a4263074f725227c2d2852.tar.bz2 linux-4e970a0ada5299d017a4263074f725227c2d2852.zip |
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/i2c-core-base.c')
-rw-r--r-- | drivers/i2c/i2c-core-base.c | 5 |
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; |