Commit a94cc4e6 authored by Kirill A. Shutemov's avatar Kirill A. Shutemov Committed by Linus Torvalds

sfi: table irq 0xFF means 'no interrupt'

According to the SFI specification irq number 0xFF means device has no
interrupt or interrupt attached via GPIO.

Currently, we don't handle this special case and set irq field in
*_board_info structs to 255.  It leads to confusion in some drivers.
Accelerometer driver tries to register interrupt 255, fails and prints
"Cannot get IRQ" to dmesg.
Signed-off-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1e8d4e8b
...@@ -689,7 +689,9 @@ static int __init sfi_parse_devs(struct sfi_table_header *table) ...@@ -689,7 +689,9 @@ static int __init sfi_parse_devs(struct sfi_table_header *table)
irq_attr.trigger = 1; irq_attr.trigger = 1;
irq_attr.polarity = 1; irq_attr.polarity = 1;
io_apic_set_pci_routing(NULL, pentry->irq, &irq_attr); io_apic_set_pci_routing(NULL, pentry->irq, &irq_attr);
} } else
pentry->irq = 0; /* No irq */
switch (pentry->type) { switch (pentry->type) {
case SFI_DEV_TYPE_IPC: case SFI_DEV_TYPE_IPC:
/* ID as IRQ is a hack that will go away */ /* ID as IRQ is a hack that will go away */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment