2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 07:04:00 +08:00
linux-next/drivers/gpio
Aaron Lu e733a2fb8c gpio: crystalcove: use handle_nested_irq
The CrystalCove GPIO chip has can_sleep set so its demultiplexed irqs
will have IRQ_NESTED_THREAD flag set, thus we should use the nested
version handle_nested_irq in CrystalCove's irq handler instead of
handle_generic_irq, or the following warning will be hit and the
functionality is lost:

[ 4089.639554] Hardware name: ASUSTeK COMPUTER INC. T100TA/T100TA, BIOS T100TA.313 08/13/2014
[ 4089.639564]  00000002 00000000 c24fbdf4 c16e0257 c24fbe38 c24fbe28 c105390c c18ec480
[ 4089.639596]  c24fbe54 00000048 c18f8e3b 00000295 c10a60fc 00000295 c10a60fc f4464540
[ 4089.639626]  f446459c c278ad40 c24fbe40 c1053974 00000009 c24fbe38 c18ec480 c24fbe54
[ 4089.639656] Call Trace:
[ 4089.639685]  [<c16e0257>] dump_stack+0x41/0x52
[ 4089.639707]  [<c105390c>] warn_slowpath_common+0x8c/0xc0
[ 4089.639727]  [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30
[ 4089.639744]  [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30
[ 4089.639763]  [<c1053974>] warn_slowpath_fmt+0x34/0x40
[ 4089.639781]  [<c10a60fc>] irq_nested_primary_handler+0x2c/0x30
[ 4089.639800]  [<c10a5c56>] handle_irq_event_percpu+0x76/0x190
[ 4089.639818]  [<c1461570>] ? regmap_format_10_14_write+0x30/0x30
[ 4089.639836]  [<c1464f4c>] ? _regmap_bus_raw_write+0x4c/0x70
[ 4089.639854]  [<c10a5da1>] handle_irq_event+0x31/0x50
[ 4089.639872]  [<c10a83eb>] handle_simple_irq+0x4b/0x70
[ 4089.639889]  [<c10a5384>] generic_handle_irq+0x24/0x40
[ 4089.639908]  [<c1366d87>] crystalcove_gpio_irq_handler+0xa7/0xc0
[ 4089.639927]  [<c10a85a7>] handle_nested_irq+0x77/0x190
[ 4089.639947]  [<c1469801>] regmap_irq_thread+0x1b1/0x360
[ 4089.639966]  [<c10a6ae8>] irq_thread_fn+0x18/0x30
[ 4089.639983]  [<c10a6906>] irq_thread+0xf6/0x110
[ 4089.640001]  [<c10a6ad0>] ? irq_finalize_oneshot.part.30+0x1b0/0x1b0
[ 4089.640019]  [<c10a6b50>] ? irq_forced_thread_fn+0x50/0x50
[ 4089.640037]  [<c10a6810>] ? irq_thread_check_affinity+0xc0/0xc0
[ 4089.640054]  [<c106f389>] kthread+0xa9/0xc0
[ 4089.640074]  [<c16e6401>] ret_from_kernel_thread+0x21/0x30
[ 4089.640091]  [<c106f2e0>] ? kthread_create_on_node+0x110/0x110
[ 4089.640105] ---[ end trace dca7946ad31eba7d ]---

Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=90521
Reported-and-tested-by: Brian Loften <bloften80@gmail.com>
Cc: Stable <stable@vger.kernel.org>
Signed-off-by: Aaron Lu <aaron.lu@intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2015-01-14 14:12:02 +01:00
..
devres.c gpio: Support for unified device properties interface 2014-11-04 21:58:23 +01:00
gpio-74x164.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-74xx-mmio.c GPIO: Add driver for 74xx-ICs with MMIO access 2014-10-21 10:48:04 +02:00
gpio-adnp.c gpio: adnp: switch to use irqchip helpers 2014-09-02 10:44:01 +02:00
gpio-adp5520.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-adp5588.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-amd8111.c gpio: amd8111: unmap ioport on failure case 2014-10-27 16:26:35 +01:00
gpio-arizona.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-bcm-kona.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-bt8xx.c gpio: bt8xx: fix release of managed resources 2014-08-29 14:31:43 +02:00
gpio-clps711x.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-crystalcove.c gpio: crystalcove: use handle_nested_irq 2015-01-14 14:12:02 +01:00
gpio-cs5535.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-da9052.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-da9055.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-davinci.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-dln2.c gpio: add support for the Diolan DLN-2 USB GPIO driver 2014-11-10 16:30:09 +00:00
gpio-dwapb.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-em.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-ep93xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-f7188x.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-ge.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-generic.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-grgpio.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-ich.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-intel-mid.c gpio: intel-mid: switch to using gpiolib irqchip helpers 2014-06-19 09:31:16 +02:00
gpio-iop.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-it8761e.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-janz-ttl.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-kempld.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-ks8695.c gpio: ks8695: fix 'else should follow close brace '}'' 2014-10-02 16:07:00 +02:00
gpio-lp3943.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lpc32xx.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-lynxpoint.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-max730x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-max732x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-max7300.c gpio: max7300: use devm_kzalloc() 2013-03-27 16:05:11 +01:00
gpio-max7301.c gpio: max7301: Reverting "Do not force SPI speed when using OF Platform" 2013-08-23 19:44:28 +02:00
gpio-mc9s08dz60.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mc33880.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mcp23s08.c gpio: mcp23s08: fix up compilation error 2014-12-12 11:22:11 +01:00
gpio-ml-ioh.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-mm-lantiq.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-moxart.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-mpc8xxx.c gpio-mpc8xxx: add mpc8xxx_gpio_set_multiple function 2014-11-27 15:01:18 +01:00
gpio-mpc5200.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-msic.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-msm-v1.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-msm-v2.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-mvebu.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-mxc.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-mxs.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-octeon.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-omap.c This is the bulk of GPIO changes for the v3.19 series: 2014-12-14 14:05:05 -08:00
gpio-palmas.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-pca953x.c gpio: pca953x: Drop deprecated DT bindings 2014-08-28 14:19:40 +02:00
gpio-pcf857x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-pch.c gpio: pch: Build context save/restore only for PM 2014-10-02 16:07:00 +02:00
gpio-pl061.c gpio: pl061: hook request if gpio-ranges avaiable 2014-12-03 14:44:23 +01:00
gpio-pxa.c gpio-pxa: gpio0 and gpio1 support on dt 2014-07-07 12:54:28 +02:00
gpio-rc5t583.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-rcar.c gpio: rcar: Add r8a7793 and r8a7794 support 2014-11-27 15:01:19 +01:00
gpio-rdc321x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sa1100.c ARM: 7841/1: sa1100: remove complex GPIO interface 2013-10-29 11:01:02 +00:00
gpio-samsung.c gpio: samsung: Remove remaining check for CONFIG_S5P_GPIO_DRVSTR 2014-09-23 17:51:39 +02:00
gpio-sch311x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-sch.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sodaville.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-spear-spics.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sta2x11.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-stmpe.c gpio: stmpe: add verbose debug code 2014-10-02 16:06:59 +02:00
gpio-stp-xway.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-sx150x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-syscon.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-tb10x.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-tc3589x.c mfd: tc3589x: get rid of static base 2014-11-25 16:18:56 +00:00
gpio-tegra.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-timberdale.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-tps6586x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65910.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-tps65912.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-ts5500.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-twl4030.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-twl6040.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-tz1090-pdc.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-tz1090.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-ucb1400.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vf610.c gpio: vf610: add gpiolib/IRQ chip driver for Vybrid 2014-10-24 14:18:05 +02:00
gpio-viperboard.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-vr41xx.c Driver core patches for 3.19-rc1 2014-12-14 16:10:09 -08:00
gpio-vx855.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-wm831x.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8350.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-wm8994.c gpio: remove all usage of gpio_remove retval in driver/gpio 2014-07-22 16:39:26 +02:00
gpio-xgene.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-xilinx.c gpio: Fix ngpio in gpio-xilinx driver 2014-09-24 13:37:38 +02:00
gpio-xtensa.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-zevio.c gpio: drop owner assignment from platform_drivers 2014-10-20 16:20:31 +02:00
gpio-zynq.c PM: Merge the SET*_RUNTIME_PM_OPS() macros 2014-12-04 00:51:30 +01:00
gpiolib-acpi.c This is the bulk of GPIO changes for the v3.19 series: 2014-12-14 14:05:05 -08:00
gpiolib-legacy.c gpio: fix deferred probe detection for legacy API 2014-12-02 15:46:36 +01:00
gpiolib-of.c gpio: delete unneeded test before of_node_put 2014-08-17 09:12:35 -05:00
gpiolib-sysfs.c gpio: remove const modifier from gpiod_get_direction() 2014-11-28 14:43:36 +01:00
gpiolib.c This is the bulk of GPIO changes for the v3.19 series: 2014-12-14 14:05:05 -08:00
gpiolib.h gpio / ACPI: Add support for _DSD device properties 2014-11-04 21:58:22 +01:00
Kconfig This is the bulk of GPIO changes for the v3.19 series: 2014-12-14 14:05:05 -08:00
Makefile This is the bulk of GPIO changes for the v3.19 series: 2014-12-14 14:05:05 -08:00