Hi Ulf, I love your patch! Yet something to improve: [auto build test ERROR on phy/next] [also build test ERROR on v4.15-rc4 next-20171222] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Ulf-Hansson/phy-core-Re-work-runtime-PM-deployment-and-fix-an-issue/20171223-170432 base: https://git.kernel.org/pub/scm/linux/kernel/git/kishon/linux-phy.git next config: i386-randconfig-a0-201751 (attached as .config) compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): drivers//ata/ahci.c: In function 'ahci_init_one': >> drivers//ata/ahci.c:1761:2: error: implicit declaration of function 'pm_runtime_put_noidle' [-Werror=implicit-function-declaration] pm_runtime_put_noidle(&pdev->dev); ^ drivers//ata/ahci.c: In function 'ahci_remove_one': >> drivers//ata/ahci.c:1767:2: error: implicit declaration of function 'pm_runtime_get_noresume' [-Werror=implicit-function-declaration] pm_runtime_get_noresume(&pdev->dev); ^ cc1: some warnings being treated as errors -- drivers//ata/libahci.c: In function 'ahci_rpm_get_port': >> drivers//ata/libahci.c:239:2: error: implicit declaration of function 'pm_runtime_get_sync' [-Werror=implicit-function-declaration] return pm_runtime_get_sync(ap->dev); ^ drivers//ata/libahci.c: In function 'ahci_rpm_put_port': >> drivers//ata/libahci.c:251:2: error: implicit declaration of function 'pm_runtime_put' [-Werror=implicit-function-declaration] pm_runtime_put(ap->dev); ^ cc1: some warnings being treated as errors -- drivers//ata/ahci_ceva.c: In function 'ceva_ahci_resume': >> drivers//ata/ahci_ceva.c:326:2: error: implicit declaration of function 'pm_runtime_disable' [-Werror=implicit-function-declaration] pm_runtime_disable(dev); ^ >> drivers//ata/ahci_ceva.c:327:2: error: implicit declaration of function 'pm_runtime_set_active' [-Werror=implicit-function-declaration] pm_runtime_set_active(dev); ^ >> drivers//ata/ahci_ceva.c:328:2: error: implicit declaration of function 'pm_runtime_enable' [-Werror=implicit-function-declaration] pm_runtime_enable(dev); ^ cc1: some warnings being treated as errors -- drivers//ata/ahci_qoriq.c: In function 'ahci_qoriq_resume': >> drivers//ata/ahci_qoriq.c:306:2: error: implicit declaration of function 'pm_runtime_disable' [-Werror=implicit-function-declaration] pm_runtime_disable(dev); ^ >> drivers//ata/ahci_qoriq.c:307:2: error: implicit declaration of function 'pm_runtime_set_active' [-Werror=implicit-function-declaration] pm_runtime_set_active(dev); ^ >> drivers//ata/ahci_qoriq.c:308:2: error: implicit declaration of function 'pm_runtime_enable' [-Werror=implicit-function-declaration] pm_runtime_enable(dev); ^ cc1: some warnings being treated as errors vim +/pm_runtime_put_noidle +1761 drivers//ata/ahci.c d243bed32f drivers/ata/ahci.c Tirumalesh Chalamarla 2016-02-16 1642 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1643 /* save initial config */ 394d6e535f drivers/ata/ahci.c Anton Vorontsov 2010-03-03 1644 ahci_pci_save_initial_config(pdev, hpriv); ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1645 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1646 /* prepare host */ 453d3131ec drivers/ata/ahci.c Robert Hancock 2010-01-26 1647 if (hpriv->cap & HOST_CAP_NCQ) { 453d3131ec drivers/ata/ahci.c Robert Hancock 2010-01-26 1648 pi.flags |= ATA_FLAG_NCQ; 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1649 /* 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1650 * Auto-activate optimization is supposed to be 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1651 * supported on all AHCI controllers indicating NCQ 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1652 * capability, but it seems to be broken on some 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1653 * chipsets including NVIDIAs. 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1654 */ 83f2b9630c drivers/ata/ahci.c Tejun Heo 2010-03-30 1655 if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA)) 453d3131ec drivers/ata/ahci.c Robert Hancock 2010-01-26 1656 pi.flags |= ATA_FLAG_FPDMA_AA; 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1657 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1658 /* 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1659 * All AHCI controllers should be forward-compatible 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1660 * with the new auxiliary field. This code should be 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1661 * conditionalized if any buggy AHCI controllers are 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1662 * encountered. 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1663 */ 40fb59e75a drivers/ata/ahci.c Marc Carino 2013-08-24 1664 pi.flags |= ATA_FLAG_FPDMA_AUX; 453d3131ec drivers/ata/ahci.c Robert Hancock 2010-01-26 1665 } 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1666 7d50b60b5e drivers/ata/ahci.c Tejun Heo 2007-09-23 1667 if (hpriv->cap & HOST_CAP_PMP) 7d50b60b5e drivers/ata/ahci.c Tejun Heo 2007-09-23 1668 pi.flags |= ATA_FLAG_PMP; 7d50b60b5e drivers/ata/ahci.c Tejun Heo 2007-09-23 1669 0cbb0e774b drivers/ata/ahci.c Anton Vorontsov 2010-03-03 1670 ahci_set_em_messages(hpriv, &pi); 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1671 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1672 if (ahci_broken_system_poweroff(pdev)) { 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1673 pi.flags |= ATA_FLAG_NO_POWEROFF_SPINDOWN; 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1674 dev_info(&pdev->dev, 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1675 "quirky BIOS, skipping spindown on poweroff\n"); 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1676 } 1fd684346d drivers/ata/ahci.c Rafael J. Wysocki 2009-01-19 1677 9b10ae86d1 drivers/ata/ahci.c Tejun Heo 2009-05-30 1678 if (ahci_broken_suspend(pdev)) { 9b10ae86d1 drivers/ata/ahci.c Tejun Heo 2009-05-30 1679 hpriv->flags |= AHCI_HFLAG_NO_SUSPEND; a44fec1fce drivers/ata/ahci.c Joe Perches 2011-04-15 1680 dev_warn(&pdev->dev, 9b10ae86d1 drivers/ata/ahci.c Tejun Heo 2009-05-30 1681 "BIOS update required for suspend/resume\n"); 9b10ae86d1 drivers/ata/ahci.c Tejun Heo 2009-05-30 1682 } 9b10ae86d1 drivers/ata/ahci.c Tejun Heo 2009-05-30 1683 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1684 if (ahci_broken_online(pdev)) { 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1685 hpriv->flags |= AHCI_HFLAG_SRST_TOUT_IS_OFFLINE; 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1686 dev_info(&pdev->dev, 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1687 "online status unreliable, applying workaround\n"); 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1688 } 5594639aab drivers/ata/ahci.c Tejun Heo 2009-08-04 1689 8bfd174312 drivers/ata/ahci.c Sui Chen 2017-05-09 1690 8bfd174312 drivers/ata/ahci.c Sui Chen 2017-05-09 1691 /* Acer SA5-271 workaround modifies private_data */ 8bfd174312 drivers/ata/ahci.c Sui Chen 2017-05-09 1692 acer_sa5_271_workaround(hpriv, pdev); 8bfd174312 drivers/ata/ahci.c Sui Chen 2017-05-09 1693 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1694 /* CAP.NP sometimes indicate the index of the last enabled 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1695 * port, at other times, that of the last possible port, so 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1696 * determining the maximum port number requires looking at 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1697 * both CAP.NP and port_map. 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1698 */ 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1699 n_ports = max(ahci_nr_ports(hpriv->cap), fls(hpriv->port_map)); 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1700 837f5f8fb9 drivers/ata/ahci.c Tejun Heo 2008-02-06 1701 host = ata_host_alloc_pinfo(&pdev->dev, ppi, n_ports); 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1702 if (!host) 24dc5f33ea drivers/ata/ahci.c Tejun Heo 2007-01-20 1703 return -ENOMEM; 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1704 host->private_data = hpriv; 0b9e2988ab drivers/ata/ahci.c Christoph Hellwig 2016-09-05 1705 0b9e2988ab drivers/ata/ahci.c Christoph Hellwig 2016-09-05 1706 if (ahci_init_msi(pdev, n_ports, hpriv) < 0) { 0b9e2988ab drivers/ata/ahci.c Christoph Hellwig 2016-09-05 1707 /* legacy intx interrupts */ 0b9e2988ab drivers/ata/ahci.c Christoph Hellwig 2016-09-05 1708 pci_intx(pdev, 1); 0b9e2988ab drivers/ata/ahci.c Christoph Hellwig 2016-09-05 1709 } 0ce57f8af1 drivers/ata/ahci.c Christoph Hellwig 2016-10-25 1710 hpriv->irq = pci_irq_vector(pdev, 0); 21bfd1aa95 drivers/ata/ahci.c Robert Richter 2015-05-31 1711 f3d7f23f87 drivers/ata/ahci.c Arjan van de Ven 2009-01-26 1712 if (!(hpriv->cap & HOST_CAP_SSS) || ahci_ignore_sss) 886ad09fc8 drivers/ata/ahci.c Arjan van de Ven 2009-01-09 1713 host->flags |= ATA_HOST_PARALLEL_SCAN; f3d7f23f87 drivers/ata/ahci.c Arjan van de Ven 2009-01-26 1714 else d2782d96f3 drivers/ata/ahci.c Jingoo Han 2013-10-05 1715 dev_info(&pdev->dev, "SSS flag set, parallel bus scan disabled\n"); 886ad09fc8 drivers/ata/ahci.c Arjan van de Ven 2009-01-09 1716 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1717 if (pi.flags & ATA_FLAG_EM) 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1718 ahci_reset_em(host); 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1719 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1720 for (i = 0; i < host->n_ports; i++) { 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1721 struct ata_port *ap = host->ports[i]; ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1722 318893e142 drivers/ata/ahci.c Alessandro Rubini 2012-01-06 1723 ata_port_pbar_desc(ap, ahci_pci_bar, -1, "abar"); 318893e142 drivers/ata/ahci.c Alessandro Rubini 2012-01-06 1724 ata_port_pbar_desc(ap, ahci_pci_bar, cbcdd87593 drivers/ata/ahci.c Tejun Heo 2007-08-18 1725 0x100 + ap->port_no * 0x80, "port"); cbcdd87593 drivers/ata/ahci.c Tejun Heo 2007-08-18 1726 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1727 /* set enclosure management message type */ 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1728 if (ap->flags & ATA_FLAG_EM) 008dbd61eb drivers/ata/ahci.c Harry Zhang 2010-04-23 1729 ap->em_message_type = hpriv->em_msg_type; 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1730 18f7ba4c2f drivers/ata/ahci.c Kristen Carlson Accardi 2008-06-03 1731 dab632e8c4 drivers/ata/ahci.c Jeff Garzik 2007-05-28 1732 /* disabled/not-implemented port */ 350756f6da drivers/ata/ahci.c Tejun Heo 2008-04-07 1733 if (!(hpriv->port_map & (1 << i))) dab632e8c4 drivers/ata/ahci.c Jeff Garzik 2007-05-28 1734 ap->ops = &ata_dummy_port_ops; 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1735 } ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1736 edc9305284 drivers/ata/ahci.c Tejun Heo 2007-10-25 1737 /* apply workaround for ASUS P5W DH Deluxe mainboard */ edc9305284 drivers/ata/ahci.c Tejun Heo 2007-10-25 1738 ahci_p5wdh_workaround(host); edc9305284 drivers/ata/ahci.c Tejun Heo 2007-10-25 1739 f80ae7e45a drivers/ata/ahci.c Tejun Heo 2009-09-16 1740 /* apply gtf filter quirk */ f80ae7e45a drivers/ata/ahci.c Tejun Heo 2009-09-16 1741 ahci_gtf_filter_workaround(host); f80ae7e45a drivers/ata/ahci.c Tejun Heo 2009-09-16 1742 ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1743 /* initialize adapter */ 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1744 rc = ahci_configure_dma_masks(pdev, hpriv->cap & HOST_CAP_64); ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1745 if (rc) 24dc5f33ea drivers/ata/ahci.c Tejun Heo 2007-01-20 1746 return rc; ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1747 3303040d8b drivers/ata/ahci.c Anton Vorontsov 2010-03-03 1748 rc = ahci_pci_reset_controller(host); 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1749 if (rc) 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1750 return rc; ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1751 781d655083 drivers/ata/ahci.c Anton Vorontsov 2010-03-03 1752 ahci_pci_init_controller(host); 439fcaec10 drivers/ata/ahci.c Anton Vorontsov 2010-03-03 1753 ahci_pci_print_info(host); ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1754 4447d35156 drivers/ata/ahci.c Tejun Heo 2007-04-17 1755 pci_set_master(pdev); 5ca72c4f7c drivers/ata/ahci.c Alexander Gordeev 2012-11-19 1756 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1757 rc = ahci_host_activate(host, &ahci_sht); 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1758 if (rc) 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1759 return rc; 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1760 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 @1761 pm_runtime_put_noidle(&pdev->dev); 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1762 return 0; 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1763 } 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1764 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1765 static void ahci_remove_one(struct pci_dev *pdev) 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1766 { 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 @1767 pm_runtime_get_noresume(&pdev->dev); 02e53293ea drivers/ata/ahci.c Mika Westerberg 2016-02-18 1768 ata_pci_remove_one(pdev); 907f4678c1 drivers/scsi/ahci.c Jeff Garzik 2005-05-12 1769 } ^1da177e4c drivers/scsi/ahci.c Linus Torvalds 2005-04-16 1770 :::::: The code at line 1761 was first introduced by commit :::::: 02e53293eafcb19b4fabc8a2e7bbfa11b88d0e6c ahci: Add runtime PM support for the host controller :::::: TO: Mika Westerberg :::::: CC: Tejun Heo --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation