diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2017-10-31 16:21:35 +0200 |
---|---|---|
committer | Ryo Kataoka <ryo.kataoka.wt@renesas.com> | 2019-03-22 20:50:23 +0900 |
commit | ae17a13f2667bdeac406e453a75479a559f5896a (patch) | |
tree | 9326d95653641f7acf5ada30a2b75c984119d5da | |
parent | 0bd03a21d13866cc348c096e5495642ed32b86c3 (diff) | |
download | renesas-bsp-ae17a13f2667bdeac406e453a75479a559f5896a.tar.gz |
i2c: Make i2c_unregister_device() NULL-aware
It's a common pattern to be NULL-aware when freeing resources.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit 7b43dd19c9b13a3f5478b9d88a49a5495399ad29)
Signed-off-by: Hiromitsu Yamasaki <hiromitsu.yamasaki.ym@renesas.com>
Conflicts:
drivers/i2c/i2c-core-base.c
-rw-r--r-- | drivers/i2c/i2c-core-base.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c index 8109170c30e197..ecc9c91130ef9b 100644 --- a/drivers/i2c/i2c-core-base.c +++ b/drivers/i2c/i2c-core-base.c @@ -871,6 +871,8 @@ EXPORT_SYMBOL_GPL(i2c_new_device); */ void i2c_unregister_device(struct i2c_client *client) { + if (!client) + return; if (client->dev.of_node) { of_node_clear_flag(client->dev.of_node, OF_POPULATED); of_node_put(client->dev.of_node); @@ -1483,8 +1485,7 @@ static int __unregister_client(struct device *dev, void *dummy) static int __unregister_dummy(struct device *dev, void *dummy) { struct i2c_client *client = i2c_verify_client(dev); - if (client) - i2c_unregister_device(client); + i2c_unregister_device(client); return 0; } |