Hi Chen, [auto build test ERROR on pm/linux-next] [also build test ERROR on v4.5-rc4 next-20160212] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Chen-Fan/x86-PCI-Recognize-that-Interrupt-Line-255-means-not-connected/20160215-113403 base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git linux-next config: x86_64-randconfig-x004-201607 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All error/warnings (new ones prefixed by >>): drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_valid': >> drivers/acpi/pci_irq.c:401:14: error: 'pin' undeclared (first use in this function) pin_name(pin)); ^ drivers/acpi/pci_irq.c:401:14: note: each undeclared identifier is reported only once for each function it appears in In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/dmi.h:4, from drivers/acpi/pci_irq.c:26: drivers/acpi/pci_irq.c: In function 'acpi_pci_irq_enable': >> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid' if (!acpi_pci_irq_valid(dev, pin)) ^ include/linux/compiler.h:147:28: note: in definition of macro '__trace_if' if (__builtin_constant_p((cond)) ? !!(cond) : \ ^ >> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if' if (!acpi_pci_irq_valid(dev, pin)) ^ drivers/acpi/pci_irq.c:391:20: note: declared here static inline bool acpi_pci_irq_valid(struct pci_dev *dev) ^ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/dmi.h:4, from drivers/acpi/pci_irq.c:26: >> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid' if (!acpi_pci_irq_valid(dev, pin)) ^ include/linux/compiler.h:147:40: note: in definition of macro '__trace_if' if (__builtin_constant_p((cond)) ? !!(cond) : \ ^ >> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if' if (!acpi_pci_irq_valid(dev, pin)) ^ drivers/acpi/pci_irq.c:391:20: note: declared here static inline bool acpi_pci_irq_valid(struct pci_dev *dev) ^ In file included from include/uapi/linux/stddef.h:1:0, from include/linux/stddef.h:4, from include/uapi/linux/posix_types.h:4, from include/uapi/linux/types.h:13, from include/linux/types.h:5, from include/linux/list.h:4, from include/linux/dmi.h:4, from drivers/acpi/pci_irq.c:26: >> drivers/acpi/pci_irq.c:457:8: error: too many arguments to function 'acpi_pci_irq_valid' if (!acpi_pci_irq_valid(dev, pin)) ^ include/linux/compiler.h:158:16: note: in definition of macro '__trace_if' ______r = !!(cond); \ ^ >> drivers/acpi/pci_irq.c:457:3: note: in expansion of macro 'if' if (!acpi_pci_irq_valid(dev, pin)) ^ drivers/acpi/pci_irq.c:391:20: note: declared here static inline bool acpi_pci_irq_valid(struct pci_dev *dev) ^ vim +/pin +401 drivers/acpi/pci_irq.c 395 * On x86 irq line 0xff means "unknown" or "no connection" 396 * (PCI 3.0, Section 6.2.4, footnote on page 223). 397 */ 398 if (dev->irq == 0xff) { 399 dev->irq = IRQ_NOTCONNECTED; 400 dev_warn(&dev->dev, "PCI INT %c: not connected\n", > 401 pin_name(pin)); 402 return false; 403 } 404 #endif 405 return true; 406 } 407 408 int acpi_pci_irq_enable(struct pci_dev *dev) 409 { 410 struct acpi_prt_entry *entry; 411 int gsi; 412 u8 pin; 413 int triggering = ACPI_LEVEL_SENSITIVE; 414 int polarity = ACPI_ACTIVE_LOW; 415 char *link = NULL; 416 char link_desc[16]; 417 int rc; 418 419 pin = dev->pin; 420 if (!pin) { 421 ACPI_DEBUG_PRINT((ACPI_DB_INFO, 422 "No interrupt pin configured for device %s\n", 423 pci_name(dev))); 424 return 0; 425 } 426 427 if (pci_has_managed_irq(dev)) 428 return 0; 429 430 entry = acpi_pci_irq_lookup(dev, pin); 431 if (!entry) { 432 /* 433 * IDE legacy mode controller IRQs are magic. Why do compat 434 * extensions always make such a nasty mess. 435 */ 436 if (dev->class >> 8 == PCI_CLASS_STORAGE_IDE && 437 (dev->class & 0x05) == 0) 438 return 0; 439 } 440 441 if (entry) { 442 if (entry->link) 443 gsi = acpi_pci_link_allocate_irq(entry->link, 444 entry->index, 445 &triggering, &polarity, 446 &link); 447 else 448 gsi = entry->index; 449 } else 450 gsi = -1; 451 452 if (gsi < 0) { 453 /* 454 * No IRQ known to the ACPI subsystem - maybe the BIOS / 455 * driver reported one, then use it. Exit in any case. 456 */ > 457 if (!acpi_pci_irq_valid(dev, pin)) 458 return 0; 459 460 if (acpi_isa_register_gsi(dev)) --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data