OpenCloudOS-Kernel/drivers/pinctrl/intel
Grygorii Strashko 845e405e5e pinctrl: cherryview: fix issues caused by dynamic gpio irqs mapping
New GPIO IRQs are allocated and mapped dynamically by default when
GPIO IRQ infrastructure is used by cherryview-pinctrl driver.
This causes issues on some Intel platforms [1][2] with broken BIOS which
hardcodes Linux IRQ numbers in their ACPI tables.

On such platforms cherryview-pinctrl driver should allocate and map all
GPIO IRQs at probe time.
Side effect - "Cannot allocate irq_descs @ IRQ%d, assuming pre-allocated\n"
can be seen at boot log.

NOTE. It still may fail if boot sequence will changed and some interrupt
controller will be probed before cherryview-pinctrl which will shift Linux IRQ
numbering (expected with CONFIG_SPARCE_IRQ enabled).

[1] https://bugzilla.kernel.org/show_bug.cgi?id=194945
[2] https://lkml.org/lkml/2017/9/28/153
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Chris Gorman <chrisjohgorman@gmail.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reported-by: Chris Gorman <chrisjohgorman@gmail.com>
Reported-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Tested-by: Chris Gorman <chrisjohgorman@gmail.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-10-08 02:32:59 +02:00
..
Kconfig pinctrl: intel: Add Intel Lewisburg GPIO support 2017-08-22 15:42:19 +02:00
Makefile pinctrl: intel: Add Intel Lewisburg GPIO support 2017-08-22 15:42:19 +02:00
pinctrl-baytrail.c pinctrl: baytrail: Do not call WARN_ON for a firmware bug 2017-08-14 15:01:01 +02:00
pinctrl-broxton.c pinctrl: broxton: No need to take pointer of a pointer 2017-01-30 14:45:12 +01:00
pinctrl-cannonlake.c pinctrl: intel: Add Intel Cannon Lake PCH-H pin controller support 2017-08-22 15:41:25 +02:00
pinctrl-cherryview.c pinctrl: cherryview: fix issues caused by dynamic gpio irqs mapping 2017-10-08 02:32:59 +02:00
pinctrl-denverton.c pinctrl: intel: Add Intel Denverton pin controller support 2017-08-14 15:01:59 +02:00
pinctrl-geminilake.c pinctrl: intel: Add Intel Gemini Lake pin controller support 2017-01-30 15:06:01 +01:00
pinctrl-intel.c pinctrl: intel: Read back TX buffer state 2017-08-31 15:34:31 +02:00
pinctrl-intel.h pinctrl: intel: Make it possible to specify mode per pin in a group 2017-06-09 13:02:50 +02:00
pinctrl-lewisburg.c pinctrl: intel: Add Intel Lewisburg GPIO support 2017-08-22 15:42:19 +02:00
pinctrl-merrifield.c pinctrl: intel: merrifield: Correct UART pin lists 2017-08-07 15:23:11 +02:00
pinctrl-sunrisepoint.c pinctrl: intel: Add support for variable size pad groups 2017-06-09 13:01:35 +02:00