Hello the side buttons for volume on the Asust100 baytrail are not working properly they are being detected by the crystalcove-gpio 265: 0 0 0 0 Crystal Cove 5 gpio_crystalcove 266: 0 0 0 0 Crystal Cove 0 volume_up 267: 0 0 0 0 Crystal Cove 1 volume_down 273: 0 0 0 0 Crystal Cove 7 rotation_lock 274: 0 0 0 0 Crystal Cove 8 home 360: 17 0 however when i push the volune buttons i get the following error message 4089.639205] WARNING: CPU: 2 PID: 72 at kernel/irq/manage.c:661 irq_nested_primary_handler+0x2c/0x30() [ 4089.639216] Primary handler called for nested irq 267 [ 4089.639224] Modules linked in: hci_uart joydev snd_soc_sst_baytrail_pcm asus_nb_wmi gpio_keys asus_wmi hid_generic sparse_keymap snd_soc_sst_dsp snd_soc_sst_byt_rt5640_mach intel_rapl intel_powerclamp coretemp kvm_intel kvm crc32_pclmul brcmfmac aesni_intel xts brcmutil aes_i586 cfg80211 lrw snd_intel_sst_acpi gf128mul i915 ablk_helper snd_soc_rt5640 snd_intel_sst_core cryptd snd_soc_rl6231 snd_soc_sst_mfld_platform snd_soc_core snd_compress drm_kms_helper usbhid snd_pcm_dmaengine snd_seq_midi drm mei_txe i2c_algo_bit lpc_ich hid_multitouch mei snd_pcm iosf_mbi snd_seq_midi_event snd_rawmidi wmi mac_hid 8250_fintek snd_seq soc_button_array int3400_thermal snd_seq_device ak8975 acpi_thermal_rel int3402_thermal processor_thermal_device int3403_thermal video acpi_pad snd_timer industrialio snd soundcore [ 4089.639466] bnep snd_soc_sst_acpi rfkill_gpio rfcomm bluetooth 8250_dw spi_pxa2xx_platform pwm_lpss_platform parport_pc ppdev lp parport nls_iso8859_1 uas usb_storage mmc_block sdhci_acpi sdhci [ 4089.639543] CPU: 2 PID: 72 Comm: irq/67-Crystal Tainted: G W 3.19.0-rc2-next-20141231 #1 [ 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 ]--- [ 4089.640113] ------------[ cut here ]------------ [ 4089.640131] WARNING: CPU: 2 PID: 72 at kernel/irq/handle.c:147 handle_irq_event_percpu+0x17a/0x190() [ 4089.640147] irq 267 handler irq_nested_primary_handler+0x0/0x30 enabled interrupts [ 4089.640154] Modules linked in: hci_uart joydev snd_soc_sst_baytrail_pcm asus_nb_wmi gpio_keys asus_wmi hid_generic sparse_keymap snd_soc_sst_dsp snd_soc_sst_byt_rt5640_mach intel_rapl intel_powerclamp coretemp kvm_intel kvm crc32_pclmul brcmfmac aesni_intel xts brcmutil aes_i586 cfg80211 lrw snd_intel_sst_acpi gf128mul i915 ablk_helper snd_soc_rt5640 snd_intel_sst_core cryptd snd_soc_rl6231 snd_soc_sst_mfld_platform snd_soc_core snd_compress drm_kms_helper usbhid snd_pcm_dmaengine snd_seq_midi drm mei_txe i2c_algo_bit lpc_ich hid_multitouch mei snd_pcm iosf_mbi snd_seq_midi_event snd_rawmidi wmi mac_hid 8250_fintek snd_seq soc_button_array int3400_thermal snd_seq_device ak8975 acpi_thermal_rel int3402_thermal processor_thermal_device int3403_thermal video acpi_pad snd_timer industrialio snd soundcore [ 4089.640373] bnep snd_soc_sst_acpi rfkill_gpio rfcomm bluetooth 8250_dw spi_pxa2xx_platform pwm_lpss_platform parport_pc ppdev lp parport nls_iso8859_1 uas usb_storage mmc_block sdhci_acpi sdhci [ 4089.640442] CPU: 2 PID: 72 Comm: irq/67-Crystal Tainted: G W 3.19.0-rc2-next-20141231 #1 [ 4089.640452] Hardware name: ASUSTeK COMPUTER INC. T100TA/T100TA, BIOS T100TA.313 08/13/2014 [ 4089.640461] 00000002 00000000 c24fbe0c c16e0257 c24fbe50 c24fbe40 c105390c c18ec3e8 [ 4089.640491] c24fbe6c 00000048 c18f8e27 00000093 c10a5d5a 00000093 c10a5d5a f4464540 [ 4089.640521] f446459c c278ad40 c24fbe58 c1053974 00000009 c24fbe50 c18ec3e8 c24fbe6c [ 4089.640550] Call Trace: [ 4089.640571] [<c16e0257>] dump_stack+0x41/0x52 [ 4089.640591] [<c105390c>] warn_slowpath_common+0x8c/0xc0 [ 4089.640610] [<c10a5d5a>] ? handle_irq_event_percpu+0x17a/0x190 [ 4089.640627] [<c10a5d5a>] ? handle_irq_event_percpu+0x17a/0x190 [ 4089.640646] [<c1053974>] warn_slowpath_fmt+0x34/0x40 [ 4089.640664] [<c10a5d5a>] handle_irq_event_percpu+0x17a/0x190 [ 4089.640682] [<c10a60d0>] ? irq_set_irq_wake+0x100/0x100 [ 4089.640700] [<c10a5da1>] handle_irq_event+0x31/0x50 [ 4089.640718] [<c10a83eb>] handle_simple_irq+0x4b/0x70 [ 4089.640735] [<c10a5384>] generic_handle_irq+0x24/0x40 [ 4089.640752] [<c1366d87>] crystalcove_gpio_irq_handler+0xa7/0xc0 [ 4089.640770] [<c10a85a7>] handle_nested_irq+0x77/0x190 [ 4089.640790] [<c1469801>] regmap_irq_thread+0x1b1/0x360 [ 4089.640809] [<c10a6ae8>] irq_thread_fn+0x18/0x30 [ 4089.640826] [<c10a6906>] irq_thread+0xf6/0x110 [ 4089.640844] [<c10a6ad0>] ? irq_finalize_oneshot.part.30+0x1b0/0x1b0 [ 4089.640862] [<c10a6b50>] ? irq_forced_thread_fn+0x50/0x50 [ 4089.640880] [<c10a6810>] ? irq_thread_check_affinity+0xc0/0xc0 [ 4089.640896] [<c106f389>] kthread+0xa9/0xc0 [ 4089.640915] [<c16e6401>] ret_from_kernel_thread+0x21/0x30 [ 4089.640933] [<c106f2e0>] ? kthread_create_on_node+0x110/0x110 [ 4089.640945] ---[ end trace dca7946ad31eba7e ]--- [ 4089.943279] ------------[ cut here ]------------ [ 4089.943320] WARNING: CPU: 2 PID: 72 at kernel/irq/manage.c:661 irq_nested_primary_handler+0x2c/0x30() [ 4089.943331] Primary handler called for nested irq 267 [ 4089.943340] Modules linked in: hci_uart joydev snd_soc_sst_baytrail_pcm asus_nb_wmi gpio_keys asus_wmi hid_generic sparse_keymap snd_soc_sst_dsp snd_soc_sst_byt_rt5640_mach intel_rapl intel_powerclamp coretemp kvm_intel kvm crc32_pclmul brcmfmac aesni_intel xts brcmutil aes_i586 cfg80211 lrw snd_intel_sst_acpi gf128mul i915 ablk_helper snd_soc_rt5640 snd_intel_sst_core cryptd snd_soc_rl6231 snd_soc_sst_mfld_platform snd_soc_core snd_compress drm_kms_helper usbhid snd_pcm_dmaengine snd_seq_midi drm mei_txe i2c_algo_bit lpc_ich hid_multitouch mei snd_pcm iosf_mbi snd_seq_midi_event snd_rawmidi wmi mac_hid 8250_fintek snd_seq soc_button_array int3400_thermal snd_seq_device ak8975 acpi_thermal_rel int3402_thermal processor_thermal_device int3403_thermal video acpi_pad snd_timer industrialio snd soundcore [ 4089.943580] bnep snd_soc_sst_acpi rfkill_gpio rfcomm bluetooth 8250_dw spi_pxa2xx_platform pwm_lpss_platform parport_pc ppdev lp parport nls_iso8859_1 uas usb_storage mmc_block sdhci_acpi sdhci [ 4089.943657] CPU: 2 PID: 72 Comm: irq/67-Crystal Tainted: G W 3.19.0-rc2-next-20141231 #1 [ 4089.943668] Hardware name: ASUSTeK COMPUTER INC. T100TA/T100TA, BIOS T100TA.313 08/13/2014 [ 4089.943678] 00000002 00000000 c24fbdf4 c16e0257 c24fbe38 c24fbe28 c105390c c18ec480 [ 4089.943710] c24fbe54 00000048 c18f8e3b 00000295 c10a60fc 00000295 c10a60fc f4464540 [ 4089.943740] f446459c c278ad40 c24fbe40 c1053974 00000009 c24fbe38 c18ec480 c24fbe54 [ 4089.943770] Call Trace: [ 4089.943799] [<c16e0257>] dump_stack+0x41/0x52 [ 4089.943821] [<c105390c>] warn_slowpath_common+0x8c/0xc0 [ 4089.943842] [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30 [ 4089.943859] [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30 [ 4089.943878] [<c1053974>] warn_slowpath_fmt+0x34/0x40 [ 4089.943896] [<c10a60fc>] irq_nested_primary_handler+0x2c/0x30 [ 4089.943914] [<c10a5c56>] handle_irq_event_percpu+0x76/0x190 [ 4089.943933] [<c1461570>] ? regmap_format_10_14_write+0x30/0x30 [ 4089.943951] [<c1464f4c>] ? _regmap_bus_raw_write+0x4c/0x70 [ 4089.943969] [<c10a5da1>] handle_irq_event+0x31/0x50 [ 4089.943987] [<c10a83eb>] handle_simple_irq+0x4b/0x70 [ 4089.944005] [<c10a5384>] generic_handle_irq+0x24/0x40 [ 4089.944024] [<c1366d87>] crystalcove_gpio_irq_handler+0xa7/0xc0 [ 4089.944042] [<c10a85a7>] handle_nested_irq+0x77/0x190 [ 4089.944062] [<c1469801>] regmap_irq_thread+0x1b1/0x360 [ 4089.944081] [<c10a6ae8>] irq_thread_fn+0x18/0x30 [ 4089.944098] [<c10a6906>] irq_thread+0xf6/0x110 [ 4089.944116] [<c10a6ad0>] ? irq_finalize_oneshot.part.30+0x1b0/0x1b0 [ 4089.944134] [<c10a6b50>] ? irq_forced_thread_fn+0x50/0x50 [ 4089.944152] [<c10a6810>] ? irq_thread_check_affinity+0xc0/0xc0 [ 4089.944170] [<c106f389>] kthread+0xa9/0xc0 [ 4089.944190] [<c16e6401>] ret_from_kernel_thread+0x21/0x30 [ 4089.944207] [<c106f2e0>] ? kthread_create_on_node+0x110/0x110 [ 4089.944221] ---[ end trace dca7946ad31eba7f ]--- perhaps the pins need to be assigned the correct values?? Thank you
Created attachment 162871 [details] Correct IRQ API used in crystalcove's irq handler Please test this patch on top of v3.19-rc3, thanks.
Thank you, the volume buttons are working now
Good to know this, I'll submit this patch with your reported-and-tested-by tag soon.
http://permalink.gmane.org/gmane.linux.kernel.gpio/5518
commit e733a2fb8cbcff0747108cb529ffb4e4a00465ac Author: Aaron Lu <aaron.lu@intel.com> Date: Mon Jan 12 10:09:32 2015 +0800 gpio: crystalcove: use handle_nested_irq entered Linus' tree for v3.19.