]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
pinctrl: cherryview: Allocate IRQ chip dynamic
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 24 Oct 2019 13:34:41 +0000 (16:34 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 4 Dec 2019 21:33:11 +0000 (22:33 +0100)
commit3ebc2bb22d5a408dc2bec0a538b21e5d50a14d07
tree63eae819d036742eaad365b70329dc017d0700f8
parentbcbf7c2e1bb1d4e3bf01d84bb84a5ffc949b2c34
pinctrl: cherryview: Allocate IRQ chip dynamic

[ Upstream commit 67d33aecd030226f0a577eb683aaa6853ecf8f91 ]

Keeping the IRQ chip definition static shares it with multiple instances
of the GPIO chip in the system. This is bad and now we get this warning
from GPIO library:

"detected irqchip that is shared with multiple gpiochips: please fix the driver."

Hence, move the IRQ chip definition from being driver static into the struct
intel_pinctrl. So a unique IRQ chip is used for each GPIO chip instance.

This patch is heavily based on the attachment to the bug by Christoph Marz.

BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=202543
Fixes: 6e08d6bbebeb ("pinctrl: Add Intel Cherryview/Braswell pin controller support")
Depends-on: 83b9dc11312f ("pinctrl: cherryview: Associate IRQ descriptors to irqdomain")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pinctrl/intel/pinctrl-cherryview.c