[PATCH v1 1/1] i2c: core: Do not dereference fwnode in struct device

From: Andy Shevchenko
Date: Tue Dec 07 2021 - 11:27:15 EST


In order to make the underneath API easier to change in the future,
prevent users from dereferencing fwnode from struct device.
Instead, use the specific device_set_node() API for that.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
---
drivers/i2c/i2c-core-base.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
index 80f36709e36a..e685a46fd07a 100644
--- a/drivers/i2c/i2c-core-base.c
+++ b/drivers/i2c/i2c-core-base.c
@@ -1049,12 +1049,13 @@ i2c_new_client_device(struct i2c_adapter *adap, struct i2c_board_info const *inf
client->dev.parent = &client->adapter->dev;
client->dev.bus = &i2c_bus_type;
client->dev.type = &i2c_client_type;
- client->dev.of_node = of_node_get(info->of_node);
- client->dev.fwnode = info->fwnode;

device_enable_async_suspend(&client->dev);
i2c_dev_set_name(adap, client, info);

+ device_set_node(&client->dev, info->fwnode);
+ client->dev.of_node = of_node_get(info->of_node);
+
if (info->swnode) {
status = device_add_software_node(&client->dev, info->swnode);
if (status) {
--
2.33.0