* [PATCH 0/2] serial: 8250: Correct basic issues with the PCI blacklist @ 2022-02-12 8:41 Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 1/2] serial: 8250: Correct Kconfig help text for blacklisted PCI devices Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 2/2] serial: 8250: Report which option to enable " Maciej W. Rozycki 0 siblings, 2 replies; 7+ messages in thread From: Maciej W. Rozycki @ 2022-02-12 8:41 UTC (permalink / raw) To: Greg Kroah-Hartman, Jiri Slaby Cc: Andy Shevchenko, linux-serial, linux-kernel Hi, In the course of investigating whether support code for OxSemi PCIe UARTs could be factored out from the common 8250 PCI UART driver, which has been previously requested by Andy (cc-ed), I have noticed that the Kconfig help text for several device-specific UART drivers previously factored out is incorrect in that it claims that those dedicated drivers are required for extra features of the respective devices, while actually the blacklist entries within the common driver make them require those dedicated drivers even for standard features, as the common driver now refuses to handle them. Also it may be unclear for the user from a specific PCI device ID of an affected PCI UART device which dedicated driver has to be configured in to handle it, so make the blacklist entries include that information to be printed if a device is encountered that cannot be handled because its dedicated driver has been excluded from configuration while the common driver refuses to handle it. See the respective change descriptions for further details. Please apply. Maciej ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] serial: 8250: Correct Kconfig help text for blacklisted PCI devices 2022-02-12 8:41 [PATCH 0/2] serial: 8250: Correct basic issues with the PCI blacklist Maciej W. Rozycki @ 2022-02-12 8:41 ` Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 2/2] serial: 8250: Report which option to enable " Maciej W. Rozycki 1 sibling, 0 replies; 7+ messages in thread From: Maciej W. Rozycki @ 2022-02-12 8:41 UTC (permalink / raw) To: Greg Kroah-Hartman, Jiri Slaby Cc: Andy Shevchenko, linux-serial, linux-kernel Correct the Kconfig help text for SERIAL_8250_LPSS, SERIAL_8250_MID and SERIAL_8250_PERICOM configuration options for dedicated PCI UART drivers that have been blacklisted in the generic PCI 8250 UART driver and as from commit a13e19cf3dc10 ("serial: 8250_lpss: split LPSS driver to separate module"), commit d9eda9bab2372 ("serial: 8250_pci: Intel MID UART support to its own driver"), and commit fcfd3c09f4078 ("serial: 8250_pci: Split out Pericom driver") respectively are not handled by said driver anymore (rather than for extra features only, as the current text indicates), and therefore require the respective dedicated drivers to work at all. Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> --- drivers/tty/serial/8250/Kconfig | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) linux-serial-8250-pci-blacklist-help.diff Index: linux-macro/drivers/tty/serial/8250/Kconfig =================================================================== --- linux-macro.orig/drivers/tty/serial/8250/Kconfig +++ linux-macro/drivers/tty/serial/8250/Kconfig @@ -479,11 +479,12 @@ config SERIAL_8250_LPSS select DW_DMAC_PCI if (SERIAL_8250_DMA && X86_INTEL_LPSS) select RATIONAL help - Selecting this option will enable handling of the extra features - present on the UART found on various Intel platforms such as: + Selecting this option will enable handling of the UART found on + various Intel platforms such as: - Intel Baytrail SoC - Intel Braswell SoC - Intel Quark X1000 SoC + that are not covered by the more generic SERIAL_8250_PCI option. config SERIAL_8250_MID tristate "Support for serial ports on Intel MID platforms" @@ -494,17 +495,18 @@ config SERIAL_8250_MID select HSU_DMA_PCI if (HSU_DMA && X86_INTEL_MID) select RATIONAL help - Selecting this option will enable handling of the extra features - present on the UART found on Intel Medfield SOC and various other - Intel platforms. + Selecting this option will enable handling of the UART found on + Intel Medfield SOC and various other Intel platforms that is not + covered by the more generic SERIAL_8250_PCI option. config SERIAL_8250_PERICOM tristate "Support for Pericom and Acces I/O serial ports" default SERIAL_8250 depends on SERIAL_8250 && PCI help - Selecting this option will enable handling of the extra features - present on the Pericom and Acces I/O UARTs. + Selecting this option will enable handling of the Pericom and Acces + I/O UARTs that are not covered by the more generic SERIAL_8250_PCI + option. config SERIAL_8250_PXA tristate "PXA serial port support" ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 2/2] serial: 8250: Report which option to enable for blacklisted PCI devices 2022-02-12 8:41 [PATCH 0/2] serial: 8250: Correct basic issues with the PCI blacklist Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 1/2] serial: 8250: Correct Kconfig help text for blacklisted PCI devices Maciej W. Rozycki @ 2022-02-12 8:41 ` Maciej W. Rozycki 2022-02-12 10:39 ` kernel test robot 2022-02-12 11:00 ` kernel test robot 1 sibling, 2 replies; 7+ messages in thread From: Maciej W. Rozycki @ 2022-02-12 8:41 UTC (permalink / raw) To: Greg Kroah-Hartman, Jiri Slaby Cc: Andy Shevchenko, linux-serial, linux-kernel Provide information in the kernel log as to what configuration option to enable for PCI UART devices that have been blacklisted in the generic PCI 8250 UART driver and which have a dedicated driver available to handle that has been disabled. The rationale is there is no easy way for the user to map a specific PCI vendor:device pair to an individual dedicated driver while the generic driver has this information readily available and it will likely be confusing that the generic driver does not register such a port. A message is then printed like: serial 0000:04:00.3: ignoring port, enable SERIAL_8250_PERICOM to handle when an affected device is encountered and the generic driver rejects it. Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk> --- Hi, Verified in a simulated environment as obviously I don't have a Pericom device. Maciej --- drivers/tty/serial/8250/8250_pci.c | 67 ++++++++++++++++++++++--------------- 1 file changed, 40 insertions(+), 27 deletions(-) linux-serial-8250-pci-blacklist-config.diff Index: linux-macro/drivers/tty/serial/8250/8250_pci.c =================================================================== --- linux-macro.orig/drivers/tty/serial/8250/8250_pci.c +++ linux-macro/drivers/tty/serial/8250/8250_pci.c @@ -3518,6 +3518,12 @@ static struct pciserial_board pci_boards }, }; +#define REPORT_CONFIG(option) \ + (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) +#define REPORT_8250_CONFIG(option) \ + (IS_ENABLED(CONFIG_SERIAL_8250_##option) ? \ + 0 : (kernel_ulong_t)&"SERIAL_8250_"#option) + static const struct pci_device_id blacklist[] = { /* softmodems */ { PCI_VDEVICE(AL, 0x5457), }, /* ALi Corporation M5457 AC'97 Modem */ @@ -3525,40 +3531,43 @@ static const struct pci_device_id blackl { PCI_DEVICE(0x1543, 0x3052), }, /* Si3052-based modem, default IDs */ /* multi-io cards handled by parport_serial */ - { PCI_DEVICE(0x4348, 0x7053), }, /* WCH CH353 2S1P */ - { PCI_DEVICE(0x4348, 0x5053), }, /* WCH CH353 1S1P */ - { PCI_DEVICE(0x1c00, 0x3250), }, /* WCH CH382 2S1P */ + /* WCH CH353 2S1P */ + { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, + /* WCH CH353 1S1P */ + { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, + /* WCH CH382 2S1P */ + { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, /* Intel platforms with MID UART */ - { PCI_VDEVICE(INTEL, 0x081b), }, - { PCI_VDEVICE(INTEL, 0x081c), }, - { PCI_VDEVICE(INTEL, 0x081d), }, - { PCI_VDEVICE(INTEL, 0x1191), }, - { PCI_VDEVICE(INTEL, 0x18d8), }, - { PCI_VDEVICE(INTEL, 0x19d8), }, + { PCI_VDEVICE(INTEL, 0x081b), REPORT_8250_CONFIG(MID), }, + { PCI_VDEVICE(INTEL, 0x081c), REPORT_8250_CONFIG(MID), }, + { PCI_VDEVICE(INTEL, 0x081d), REPORT_8250_CONFIG(MID), }, + { PCI_VDEVICE(INTEL, 0x1191), REPORT_8250_CONFIG(MID), }, + { PCI_VDEVICE(INTEL, 0x18d8), REPORT_8250_CONFIG(MID), }, + { PCI_VDEVICE(INTEL, 0x19d8), REPORT_8250_CONFIG(MID), }, /* Intel platforms with DesignWare UART */ - { PCI_VDEVICE(INTEL, 0x0936), }, - { PCI_VDEVICE(INTEL, 0x0f0a), }, - { PCI_VDEVICE(INTEL, 0x0f0c), }, - { PCI_VDEVICE(INTEL, 0x228a), }, - { PCI_VDEVICE(INTEL, 0x228c), }, - { PCI_VDEVICE(INTEL, 0x4b96), }, - { PCI_VDEVICE(INTEL, 0x4b97), }, - { PCI_VDEVICE(INTEL, 0x4b98), }, - { PCI_VDEVICE(INTEL, 0x4b99), }, - { PCI_VDEVICE(INTEL, 0x4b9a), }, - { PCI_VDEVICE(INTEL, 0x4b9b), }, - { PCI_VDEVICE(INTEL, 0x9ce3), }, - { PCI_VDEVICE(INTEL, 0x9ce4), }, + { PCI_VDEVICE(INTEL, 0x0936), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x0f0a), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x0f0c), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x228a), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x228c), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b96), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b97), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b98), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b99), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b9a), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x4b9b), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x9ce3), REPORT_8250_CONFIG(LPSS), }, + { PCI_VDEVICE(INTEL, 0x9ce4), REPORT_8250_CONFIG(LPSS), }, /* Exar devices */ - { PCI_VDEVICE(EXAR, PCI_ANY_ID), }, - { PCI_VDEVICE(COMMTECH, PCI_ANY_ID), }, + { PCI_VDEVICE(EXAR, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, + { PCI_VDEVICE(COMMTECH, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, /* Pericom devices */ - { PCI_VDEVICE(PERICOM, PCI_ANY_ID), }, - { PCI_VDEVICE(ACCESSIO, PCI_ANY_ID), }, + { PCI_VDEVICE(PERICOM, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, + { PCI_VDEVICE(ACCESSIO, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, /* End of the black list */ { } @@ -3840,8 +3849,12 @@ pciserial_init_one(struct pci_dev *dev, board = &pci_boards[ent->driver_data]; exclude = pci_match_id(blacklist, dev); - if (exclude) + if (exclude) { + if (exclude->driver_data) + pci_warn(dev, "ignoring port, enable %s to handle\n", + (const char *)exclude->driver_data); return -ENODEV; + } rc = pcim_enable_device(dev); pci_save_state(dev); ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] serial: 8250: Report which option to enable for blacklisted PCI devices 2022-02-12 8:41 ` [PATCH 2/2] serial: 8250: Report which option to enable " Maciej W. Rozycki @ 2022-02-12 10:39 ` kernel test robot 2022-02-12 11:00 ` kernel test robot 1 sibling, 0 replies; 7+ messages in thread From: kernel test robot @ 2022-02-12 10:39 UTC (permalink / raw) To: Maciej W. Rozycki, Greg Kroah-Hartman, Jiri Slaby Cc: kbuild-all, Andy Shevchenko, linux-serial, linux-kernel Hi "Maciej, I love your patch! Yet something to improve: [auto build test ERROR on tty/tty-testing] [also build test ERROR on usb/usb-testing v5.17-rc3 next-20220211] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20220212/202202121734.Zc1GlUwC-lkp@intel.com/config) compiler: riscv64-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://github.com/0day-ci/linux/commit/aa68e36c332457acb464b083c920d10f0e5a9865 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 git checkout aa68e36c332457acb464b083c920d10f0e5a9865 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/tty/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3535:39: note: in expansion of macro 'REPORT_CONFIG' 3535 | { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[3].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3535:39: note: in expansion of macro 'REPORT_CONFIG' 3535 | { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3537:39: note: in expansion of macro 'REPORT_CONFIG' 3537 | { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[4].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3537:39: note: in expansion of macro 'REPORT_CONFIG' 3537 | { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3539:39: note: in expansion of macro 'REPORT_CONFIG' 3539 | { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[5].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3539:39: note: in expansion of macro 'REPORT_CONFIG' 3539 | { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ vim +3522 drivers/tty/serial/8250/8250_pci.c 3520 3521 #define REPORT_CONFIG(option) \ > 3522 (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) 3523 #define REPORT_8250_CONFIG(option) \ 3524 (IS_ENABLED(CONFIG_SERIAL_8250_##option) ? \ 3525 0 : (kernel_ulong_t)&"SERIAL_8250_"#option) 3526 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] serial: 8250: Report which option to enable for blacklisted PCI devices @ 2022-02-12 10:39 ` kernel test robot 0 siblings, 0 replies; 7+ messages in thread From: kernel test robot @ 2022-02-12 10:39 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 4769 bytes --] Hi "Maciej, I love your patch! Yet something to improve: [auto build test ERROR on tty/tty-testing] [also build test ERROR on usb/usb-testing v5.17-rc3 next-20220211] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing config: riscv-allmodconfig (https://download.01.org/0day-ci/archive/20220212/202202121734.Zc1GlUwC-lkp(a)intel.com/config) compiler: riscv64-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://github.com/0day-ci/linux/commit/aa68e36c332457acb464b083c920d10f0e5a9865 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 git checkout aa68e36c332457acb464b083c920d10f0e5a9865 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/tty/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3535:39: note: in expansion of macro 'REPORT_CONFIG' 3535 | { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[3].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3535:39: note: in expansion of macro 'REPORT_CONFIG' 3535 | { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3537:39: note: in expansion of macro 'REPORT_CONFIG' 3537 | { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[4].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3537:39: note: in expansion of macro 'REPORT_CONFIG' 3537 | { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ >> drivers/tty/serial/8250/8250_pci.c:3522:9: error: initializer element is not computable at load time 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3539:39: note: in expansion of macro 'REPORT_CONFIG' 3539 | { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:9: note: (near initialization for 'blacklist[5].class') 3522 | (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) | ^ drivers/tty/serial/8250/8250_pci.c:3539:39: note: in expansion of macro 'REPORT_CONFIG' 3539 | { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, | ^~~~~~~~~~~~~ vim +3522 drivers/tty/serial/8250/8250_pci.c 3520 3521 #define REPORT_CONFIG(option) \ > 3522 (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) 3523 #define REPORT_8250_CONFIG(option) \ 3524 (IS_ENABLED(CONFIG_SERIAL_8250_##option) ? \ 3525 0 : (kernel_ulong_t)&"SERIAL_8250_"#option) 3526 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] serial: 8250: Report which option to enable for blacklisted PCI devices 2022-02-12 8:41 ` [PATCH 2/2] serial: 8250: Report which option to enable " Maciej W. Rozycki @ 2022-02-12 11:00 ` kernel test robot 2022-02-12 11:00 ` kernel test robot 1 sibling, 0 replies; 7+ messages in thread From: kernel test robot @ 2022-02-12 11:00 UTC (permalink / raw) To: Maciej W. Rozycki, Greg Kroah-Hartman, Jiri Slaby Cc: llvm, kbuild-all, Andy Shevchenko, linux-serial, linux-kernel Hi "Maciej, I love your patch! Yet something to improve: [auto build test ERROR on tty/tty-testing] [also build test ERROR on usb/usb-testing v5.17-rc3 next-20220211] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220212/202202121838.P5rALKEy-lkp@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c7eb84634519e6497be42f5fe323f9a04ed67127) 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://github.com/0day-ci/linux/commit/aa68e36c332457acb464b083c920d10f0e5a9865 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 git checkout aa68e36c332457acb464b083c920d10f0e5a9865 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/tty/serial/8250/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/tty/serial/8250/8250_pci.c:3535:32: error: initializer element is not a compile-time constant { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:2: note: expanded from macro 'REPORT_CONFIG' (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. vim +3535 drivers/tty/serial/8250/8250_pci.c 3520 3521 #define REPORT_CONFIG(option) \ 3522 (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) 3523 #define REPORT_8250_CONFIG(option) \ 3524 (IS_ENABLED(CONFIG_SERIAL_8250_##option) ? \ 3525 0 : (kernel_ulong_t)&"SERIAL_8250_"#option) 3526 3527 static const struct pci_device_id blacklist[] = { 3528 /* softmodems */ 3529 { PCI_VDEVICE(AL, 0x5457), }, /* ALi Corporation M5457 AC'97 Modem */ 3530 { PCI_VDEVICE(MOTOROLA, 0x3052), }, /* Motorola Si3052-based modem */ 3531 { PCI_DEVICE(0x1543, 0x3052), }, /* Si3052-based modem, default IDs */ 3532 3533 /* multi-io cards handled by parport_serial */ 3534 /* WCH CH353 2S1P */ > 3535 { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, 3536 /* WCH CH353 1S1P */ 3537 { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, 3538 /* WCH CH382 2S1P */ 3539 { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, 3540 3541 /* Intel platforms with MID UART */ 3542 { PCI_VDEVICE(INTEL, 0x081b), REPORT_8250_CONFIG(MID), }, 3543 { PCI_VDEVICE(INTEL, 0x081c), REPORT_8250_CONFIG(MID), }, 3544 { PCI_VDEVICE(INTEL, 0x081d), REPORT_8250_CONFIG(MID), }, 3545 { PCI_VDEVICE(INTEL, 0x1191), REPORT_8250_CONFIG(MID), }, 3546 { PCI_VDEVICE(INTEL, 0x18d8), REPORT_8250_CONFIG(MID), }, 3547 { PCI_VDEVICE(INTEL, 0x19d8), REPORT_8250_CONFIG(MID), }, 3548 3549 /* Intel platforms with DesignWare UART */ 3550 { PCI_VDEVICE(INTEL, 0x0936), REPORT_8250_CONFIG(LPSS), }, 3551 { PCI_VDEVICE(INTEL, 0x0f0a), REPORT_8250_CONFIG(LPSS), }, 3552 { PCI_VDEVICE(INTEL, 0x0f0c), REPORT_8250_CONFIG(LPSS), }, 3553 { PCI_VDEVICE(INTEL, 0x228a), REPORT_8250_CONFIG(LPSS), }, 3554 { PCI_VDEVICE(INTEL, 0x228c), REPORT_8250_CONFIG(LPSS), }, 3555 { PCI_VDEVICE(INTEL, 0x4b96), REPORT_8250_CONFIG(LPSS), }, 3556 { PCI_VDEVICE(INTEL, 0x4b97), REPORT_8250_CONFIG(LPSS), }, 3557 { PCI_VDEVICE(INTEL, 0x4b98), REPORT_8250_CONFIG(LPSS), }, 3558 { PCI_VDEVICE(INTEL, 0x4b99), REPORT_8250_CONFIG(LPSS), }, 3559 { PCI_VDEVICE(INTEL, 0x4b9a), REPORT_8250_CONFIG(LPSS), }, 3560 { PCI_VDEVICE(INTEL, 0x4b9b), REPORT_8250_CONFIG(LPSS), }, 3561 { PCI_VDEVICE(INTEL, 0x9ce3), REPORT_8250_CONFIG(LPSS), }, 3562 { PCI_VDEVICE(INTEL, 0x9ce4), REPORT_8250_CONFIG(LPSS), }, 3563 3564 /* Exar devices */ 3565 { PCI_VDEVICE(EXAR, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, 3566 { PCI_VDEVICE(COMMTECH, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, 3567 3568 /* Pericom devices */ 3569 { PCI_VDEVICE(PERICOM, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, 3570 { PCI_VDEVICE(ACCESSIO, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, 3571 3572 /* End of the black list */ 3573 { } 3574 }; 3575 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] serial: 8250: Report which option to enable for blacklisted PCI devices @ 2022-02-12 11:00 ` kernel test robot 0 siblings, 0 replies; 7+ messages in thread From: kernel test robot @ 2022-02-12 11:00 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 5248 bytes --] Hi "Maciej, I love your patch! Yet something to improve: [auto build test ERROR on tty/tty-testing] [also build test ERROR on usb/usb-testing v5.17-rc3 next-20220211] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tty-testing config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220212/202202121838.P5rALKEy-lkp(a)intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c7eb84634519e6497be42f5fe323f9a04ed67127) 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://github.com/0day-ci/linux/commit/aa68e36c332457acb464b083c920d10f0e5a9865 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Maciej-W-Rozycki/serial-8250-Correct-basic-issues-with-the-PCI-blacklist/20220212-164230 git checkout aa68e36c332457acb464b083c920d10f0e5a9865 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/tty/serial/8250/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/tty/serial/8250/8250_pci.c:3535:32: error: initializer element is not a compile-time constant { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/tty/serial/8250/8250_pci.c:3522:2: note: expanded from macro 'REPORT_CONFIG' (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 error generated. vim +3535 drivers/tty/serial/8250/8250_pci.c 3520 3521 #define REPORT_CONFIG(option) \ 3522 (IS_ENABLED(CONFIG_##option) ? 0 : (kernel_ulong_t)&#option) 3523 #define REPORT_8250_CONFIG(option) \ 3524 (IS_ENABLED(CONFIG_SERIAL_8250_##option) ? \ 3525 0 : (kernel_ulong_t)&"SERIAL_8250_"#option) 3526 3527 static const struct pci_device_id blacklist[] = { 3528 /* softmodems */ 3529 { PCI_VDEVICE(AL, 0x5457), }, /* ALi Corporation M5457 AC'97 Modem */ 3530 { PCI_VDEVICE(MOTOROLA, 0x3052), }, /* Motorola Si3052-based modem */ 3531 { PCI_DEVICE(0x1543, 0x3052), }, /* Si3052-based modem, default IDs */ 3532 3533 /* multi-io cards handled by parport_serial */ 3534 /* WCH CH353 2S1P */ > 3535 { PCI_DEVICE(0x4348, 0x7053), REPORT_CONFIG(PARPORT_SERIAL), }, 3536 /* WCH CH353 1S1P */ 3537 { PCI_DEVICE(0x4348, 0x5053), REPORT_CONFIG(PARPORT_SERIAL), }, 3538 /* WCH CH382 2S1P */ 3539 { PCI_DEVICE(0x1c00, 0x3250), REPORT_CONFIG(PARPORT_SERIAL), }, 3540 3541 /* Intel platforms with MID UART */ 3542 { PCI_VDEVICE(INTEL, 0x081b), REPORT_8250_CONFIG(MID), }, 3543 { PCI_VDEVICE(INTEL, 0x081c), REPORT_8250_CONFIG(MID), }, 3544 { PCI_VDEVICE(INTEL, 0x081d), REPORT_8250_CONFIG(MID), }, 3545 { PCI_VDEVICE(INTEL, 0x1191), REPORT_8250_CONFIG(MID), }, 3546 { PCI_VDEVICE(INTEL, 0x18d8), REPORT_8250_CONFIG(MID), }, 3547 { PCI_VDEVICE(INTEL, 0x19d8), REPORT_8250_CONFIG(MID), }, 3548 3549 /* Intel platforms with DesignWare UART */ 3550 { PCI_VDEVICE(INTEL, 0x0936), REPORT_8250_CONFIG(LPSS), }, 3551 { PCI_VDEVICE(INTEL, 0x0f0a), REPORT_8250_CONFIG(LPSS), }, 3552 { PCI_VDEVICE(INTEL, 0x0f0c), REPORT_8250_CONFIG(LPSS), }, 3553 { PCI_VDEVICE(INTEL, 0x228a), REPORT_8250_CONFIG(LPSS), }, 3554 { PCI_VDEVICE(INTEL, 0x228c), REPORT_8250_CONFIG(LPSS), }, 3555 { PCI_VDEVICE(INTEL, 0x4b96), REPORT_8250_CONFIG(LPSS), }, 3556 { PCI_VDEVICE(INTEL, 0x4b97), REPORT_8250_CONFIG(LPSS), }, 3557 { PCI_VDEVICE(INTEL, 0x4b98), REPORT_8250_CONFIG(LPSS), }, 3558 { PCI_VDEVICE(INTEL, 0x4b99), REPORT_8250_CONFIG(LPSS), }, 3559 { PCI_VDEVICE(INTEL, 0x4b9a), REPORT_8250_CONFIG(LPSS), }, 3560 { PCI_VDEVICE(INTEL, 0x4b9b), REPORT_8250_CONFIG(LPSS), }, 3561 { PCI_VDEVICE(INTEL, 0x9ce3), REPORT_8250_CONFIG(LPSS), }, 3562 { PCI_VDEVICE(INTEL, 0x9ce4), REPORT_8250_CONFIG(LPSS), }, 3563 3564 /* Exar devices */ 3565 { PCI_VDEVICE(EXAR, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, 3566 { PCI_VDEVICE(COMMTECH, PCI_ANY_ID), REPORT_8250_CONFIG(EXAR), }, 3567 3568 /* Pericom devices */ 3569 { PCI_VDEVICE(PERICOM, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, 3570 { PCI_VDEVICE(ACCESSIO, PCI_ANY_ID), REPORT_8250_CONFIG(PERICOM), }, 3571 3572 /* End of the black list */ 3573 { } 3574 }; 3575 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-02-12 11:00 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-02-12 8:41 [PATCH 0/2] serial: 8250: Correct basic issues with the PCI blacklist Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 1/2] serial: 8250: Correct Kconfig help text for blacklisted PCI devices Maciej W. Rozycki 2022-02-12 8:41 ` [PATCH 2/2] serial: 8250: Report which option to enable " Maciej W. Rozycki 2022-02-12 10:39 ` kernel test robot 2022-02-12 10:39 ` kernel test robot 2022-02-12 11:00 ` kernel test robot 2022-02-12 11:00 ` kernel test robot
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.