i2c: Mark instantiated device nodes with OF_POPULATE
authorPantelis Antoniou <pantelis.antoniou@konsulko.com>
Thu, 15 Jan 2015 18:33:18 +0000 (20:33 +0200)
committerMark Brown <broonie@kernel.org>
Sat, 21 Feb 2015 03:14:29 +0000 (12:14 +0900)
Mark (and unmark) device nodes with the POPULATE flag as appropriate.
This is required to avoid multi probing when using I2C and device
overlays containing a mux.

Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
(cherry picked from commit 6d0a0d9ad09be16e3ca676b245643945b4bff47d)
Signed-off-by: Mark Brown <broonie@kernel.org>
Conflicts:
drivers/i2c/i2c-core.c

drivers/i2c/i2c-core.c

index 92588d3bae45a24131c43ee4399bf135e22b70a9..780599ce4657c74e433e48121453a82fcbec09af 100644 (file)
@@ -704,8 +704,10 @@ EXPORT_SYMBOL_GPL(i2c_new_device);
  */
 void i2c_unregister_device(struct i2c_client *client)
 {
+#if IS_ENABLED(CONFIG_OF_DYNAMIC)
        if (client->dev.of_node)
                of_node_clear_flag(client->dev.of_node, OF_POPULATED);
+#endif
        device_unregister(&client->dev);
 }
 EXPORT_SYMBOL_GPL(i2c_unregister_device);