Revert "i2c: core: Dispose OF IRQ mapping at client removal time"
authorJakub Kicinski <kubakici@wp.pl>
Wed, 11 Mar 2015 17:35:36 +0000 (18:35 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Thu, 12 Mar 2015 09:23:05 +0000 (10:23 +0100)
commita49445727014216703a3c28ccee4cef36d41571e
treeaeed53bea51b29a3b501dd43badfe87242d22e58
parent9eccca0843205f87c00404b663188b88eb248051
Revert "i2c: core: Dispose OF IRQ mapping at client removal time"

This reverts commit e4df3a0b6228
("i2c: core: Dispose OF IRQ mapping at client removal time")

Calling irq_dispose_mapping() will destroy the mapping and disassociate
the IRQ from the IRQ chip to which it belongs. Keeping it is OK, because
existent mappings are reused properly.

Also, this commit breaks drivers using devm* for IRQ management on
OF-based systems because devm* cleanup happens in device code, after
bus's remove() method returns.

Signed-off-by: Jakub Kicinski <kubakici@wp.pl>
Reported-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
[wsa: updated the commit message with findings fromt the other bug report]
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Cc: stable@kernel.org
Fixes: e4df3a0b6228
drivers/i2c/i2c-core.c