i2c: Retain info->of_node in i2c_new_device()
authorBoris Brezillon <boris.brezillon@bootlin.com>
Sun, 25 Mar 2018 12:49:02 +0000 (14:49 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 22 May 2018 11:40:25 +0000 (13:40 +0200)
commit04782265641839fcead0383e23e3a799f55085e3
tree9a11c929ca858a9ac7181fcd87189858aed5e7b4
parent3d8b7a4ea310f3621a19d50cbe6cbc89bb23b82f
i2c: Retain info->of_node in i2c_new_device()

Currently, of_i2c_register_devices() is responsible for retaining
info->of_node, but we're about to expose a function to parse I2C board
info without registering the I2C device.

We could possibly let this function retain ->of_node, but this approach
is prone to reference leak since people will have to remember to call
of_node_put() if something goes wrong between the OF node parsing and
the registration step.
Let's just retain the ->of_node in i2c_new_register() instead.

Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/i2c-core-base.c
drivers/i2c/i2c-core-of.c