]> git.baikalelectronics.ru Git - kernel.git/commit
i2c: mark device nodes only in case of successful instantiation
authorRalf Ramsauer <ralf@ramses-pyramidenbau.de>
Mon, 17 Oct 2016 13:59:57 +0000 (15:59 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Tue, 25 Oct 2016 09:48:48 +0000 (11:48 +0200)
commitc5e9e48d6ab46bba4e5d3a88fd11ce8bb34cffd5
tree56c420e9ca21a6899e0d7004f0581fdc2d6eee24
parentd69370188893e3a2c591300d944ed9d36bd110a0
i2c: mark device nodes only in case of successful instantiation

Instantiated I2C device nodes are marked with OF_POPULATE. This was
introduced in 9a9b6f9ec7013a. On unloading, loaded device nodes will of
course be unmarked. The problem are nodes that fail during
initialisation: If a node fails, it won't be unloaded and hence not be
unmarked.

If a I2C driver module is unloaded and reloaded, it will skip nodes that
failed before.

Skip device nodes that are already populated and mark them only in case
of success.

Fixes: 9a9b6f9ec7013a ("i2c: Mark instantiated device nodes with OF_POPULATE")
Signed-off-by: Ralf Ramsauer <ralf@ramses-pyramidenbau.de>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com>
[wsa: use 14-digit commit sha]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
drivers/i2c/i2c-core.c