tree:
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/driver
head: 0508b6f72f055b88df518db4f3811bda9bb35da4
commit: 115c9d41e58388415f4956d0a988c90fb48663b9 [17/24] cxl: Factor out common
dev->driver expressions
config: powerpc64-allnoconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
#
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git/commit/?i...
git remote add helgaas-pci
https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git
git fetch --no-tags helgaas-pci pci/driver
git checkout 115c9d41e58388415f4956d0a988c90fb48663b9
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
drivers/misc/cxl/pci.c: In function 'cxl_vphb_error_detected':
>> drivers/misc/cxl/pci.c:1816:29: error: assignment discards 'const'
qualifier from pointer target type [-Werror=discarded-qualifiers]
1816 | err_handler = afu_drv->err_handler;
| ^
drivers/misc/cxl/pci.c: In function 'cxl_pci_slot_reset':
drivers/misc/cxl/pci.c:2041:37: error: assignment discards 'const' qualifier
from pointer target type [-Werror=discarded-qualifiers]
2041 | err_handler = afu_drv->err_handler;
| ^
drivers/misc/cxl/pci.c: In function 'cxl_pci_resume':
drivers/misc/cxl/pci.c:2090:37: error: assignment discards 'const' qualifier
from pointer target type [-Werror=discarded-qualifiers]
2090 | err_handler = afu_drv->err_handler;
| ^
cc1: all warnings being treated as errors
--
drivers/misc/cxl/guest.c: In function 'pci_error_handlers':
>> drivers/misc/cxl/guest.c:34:29: error: assignment discards 'const'
qualifier from pointer target type [-Werror=discarded-qualifiers]
34 | err_handler = afu_drv->err_handler;
| ^
cc1: all warnings being treated as errors
vim +/const +1816 drivers/misc/cxl/pci.c
1793
1794 static pci_ers_result_t cxl_vphb_error_detected(struct cxl_afu *afu,
1795 pci_channel_state_t state)
1796 {
1797 struct pci_dev *afu_dev;
1798 struct pci_driver *afu_drv;
1799 struct pci_error_handlers *err_handler;
1800 pci_ers_result_t result = PCI_ERS_RESULT_NEED_RESET;
1801 pci_ers_result_t afu_result = PCI_ERS_RESULT_NEED_RESET;
1802
1803 /* There should only be one entry, but go through the list
1804 * anyway
1805 */
1806 if (afu == NULL || afu->phb == NULL)
1807 return result;
1808
1809 list_for_each_entry(afu_dev, &afu->phb->bus->devices, bus_list) {
1810 afu_drv = afu_dev->driver;
1811 if (!afu_drv)
1812 continue;
1813
1814 afu_dev->error_state = state;
1815
> 1816 err_handler = afu_drv->err_handler;
1817 if (err_handler)
1818 afu_result = err_handler->error_detected(afu_dev,
1819 state);
1820 /* Disconnect trumps all, NONE trumps NEED_RESET */
1821 if (afu_result == PCI_ERS_RESULT_DISCONNECT)
1822 result = PCI_ERS_RESULT_DISCONNECT;
1823 else if ((afu_result == PCI_ERS_RESULT_NONE) &&
1824 (result == PCI_ERS_RESULT_NEED_RESET))
1825 result = PCI_ERS_RESULT_NONE;
1826 }
1827 return result;
1828 }
1829