pinctrl: cherryview: Allocate IRQ chip dynamic
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 24 Oct 2019 13:34:41 +0000 (16:34 +0300)
committerMika Westerberg <mika.westerberg@linux.intel.com>
Fri, 25 Oct 2019 09:54:10 +0000 (12:54 +0300)
commit67d33aecd030226f0a577eb683aaa6853ecf8f91
treef346e70badae7aa7722bd2027a2f8d5e0957a49a
parent63bdef6cd6941917c823b9cc9aa0219d19fcb716
pinctrl: cherryview: Allocate IRQ chip dynamic

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>
drivers/pinctrl/intel/pinctrl-cherryview.c