pinctrl: cherryview: Allocate IRQ chip dynamic
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 24 Oct 2019 13:34:41 +0000 (16:34 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 30 Oct 2019 14:05:18 +0000 (16:05 +0200)
commite58e177392b9df5699373f7fee1329a7145b0c88
tree1c0f4feb2b4dc7ca38ded91960312a368929f080
parent17d49c6258e6aa43981c0e3bcf94091af17b607b
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