Re: [PATCH v5 3/5] iio: proximity: Add SX9324 support
by kernel test robot
Hi Gwendal,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on v5.16-rc4 next-20211208]
[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/Gwendal-Grignou/Expand-Semtech-S...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: riscv-randconfig-c006-20211208 (https://download.01.org/0day-ci/archive/20211208/202112082323.CEzDjrR6-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/d02716a5c3a619239e594e6ba6af2ec38...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Gwendal-Grignou/Expand-Semtech-SAR-Sensors-support/20211208-084635
git checkout d02716a5c3a619239e594e6ba6af2ec38fd3de3d
# 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=riscv SHELL=/bin/bash drivers/iio/proximity/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/iio/proximity/sx9324.c:166:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
int i, ret, pin_idx;
^
>> drivers/iio/proximity/sx9324.c:871:36: warning: unused variable 'sx9324_acpi_match' [-Wunused-const-variable]
static const struct acpi_device_id sx9324_acpi_match[] = {
^
2 warnings generated.
vim +/sx9324_acpi_match +871 drivers/iio/proximity/sx9324.c
870
> 871 static const struct acpi_device_id sx9324_acpi_match[] = {
872 { "STH9324", SX9324_WHOAMI_VALUE},
873 { }
874 };
875 MODULE_DEVICE_TABLE(acpi, sx9324_acpi_match);
876
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[hch-misc:dax-devirtualize 7/7] fs/fuse/virtio_fs.c:840:2: error: implicit declaration of function 'set_dax_cached'
by kernel test robot
tree: git://git.infradead.org/users/hch/misc.git dax-devirtualize
head: 80c5f0a323a2c0f58e936ac2be5b5a19e3d8dcfb
commit: 80c5f0a323a2c0f58e936ac2be5b5a19e3d8dcfb [7/7] dax: rename the virtual flag to cached
config: x86_64-randconfig-a011-20211207 (https://download.01.org/0day-ci/archive/20211208/202112082309.XAgtNCAF-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
git remote add hch-misc git://git.infradead.org/users/hch/misc.git
git fetch --no-tags hch-misc dax-devirtualize
git checkout 80c5f0a323a2c0f58e936ac2be5b5a19e3d8dcfb
# 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 fs/fuse/
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 >>):
>> fs/fuse/virtio_fs.c:840:2: error: implicit declaration of function 'set_dax_cached' [-Werror,-Wimplicit-function-declaration]
set_dax_cached(fs->dax_dev);
^
1 error generated.
vim +/set_dax_cached +840 fs/fuse/virtio_fs.c
782
783 static int virtio_fs_setup_dax(struct virtio_device *vdev, struct virtio_fs *fs)
784 {
785 struct virtio_shm_region cache_reg;
786 struct dev_pagemap *pgmap;
787 bool have_cache;
788
789 if (!IS_ENABLED(CONFIG_FUSE_DAX))
790 return 0;
791
792 /* Get cache region */
793 have_cache = virtio_get_shm_region(vdev, &cache_reg,
794 (u8)VIRTIO_FS_SHMCAP_ID_CACHE);
795 if (!have_cache) {
796 dev_notice(&vdev->dev, "%s: No cache capability\n", __func__);
797 return 0;
798 }
799
800 if (!devm_request_mem_region(&vdev->dev, cache_reg.addr, cache_reg.len,
801 dev_name(&vdev->dev))) {
802 dev_warn(&vdev->dev, "could not reserve region addr=0x%llx len=0x%llx\n",
803 cache_reg.addr, cache_reg.len);
804 return -EBUSY;
805 }
806
807 dev_notice(&vdev->dev, "Cache len: 0x%llx @ 0x%llx\n", cache_reg.len,
808 cache_reg.addr);
809
810 pgmap = devm_kzalloc(&vdev->dev, sizeof(*pgmap), GFP_KERNEL);
811 if (!pgmap)
812 return -ENOMEM;
813
814 pgmap->type = MEMORY_DEVICE_FS_DAX;
815
816 /* Ideally we would directly use the PCI BAR resource but
817 * devm_memremap_pages() wants its own copy in pgmap. So
818 * initialize a struct resource from scratch (only the start
819 * and end fields will be used).
820 */
821 pgmap->range = (struct range) {
822 .start = (phys_addr_t) cache_reg.addr,
823 .end = (phys_addr_t) cache_reg.addr + cache_reg.len - 1,
824 };
825 pgmap->nr_range = 1;
826
827 fs->window_kaddr = devm_memremap_pages(&vdev->dev, pgmap);
828 if (IS_ERR(fs->window_kaddr))
829 return PTR_ERR(fs->window_kaddr);
830
831 fs->window_phys_addr = (phys_addr_t) cache_reg.addr;
832 fs->window_len = (phys_addr_t) cache_reg.len;
833
834 dev_dbg(&vdev->dev, "%s: window kaddr 0x%px phys_addr 0x%llx len 0x%llx\n",
835 __func__, fs->window_kaddr, cache_reg.addr, cache_reg.len);
836
837 fs->dax_dev = alloc_dax(fs, &virtio_fs_dax_ops);
838 if (IS_ERR(fs->dax_dev))
839 return PTR_ERR(fs->dax_dev);
> 840 set_dax_cached(fs->dax_dev);
841 return devm_add_action_or_reset(&vdev->dev, virtio_fs_cleanup_dax,
842 fs->dax_dev);
843 }
844
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
[freescale-fslc:5.10-2.1.x-imx 9402/16146] sound/soc/sof/intel/byt.c:613:27: error: 'intel_ipc_msg_data' undeclared here (not in a function); did you mean 'sof_ipc_msg_data'?
by kernel test robot
Hi Daniel,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc 5.10-2.1.x-imx
head: 97b03e732ae16a3b30736ac12cf838a5c2db3eca
commit: f628121dfa77c1af3991c7d0fc91961da65a89bc [9402/16146] LF-3774-1 ASoC: sof: Make Intel IPC stream ops generic
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112082301.25fdlsf2-lk...)
compiler: alpha-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/Freescale/linux-fslc/commit/f628121dfa77c1af3991c7d0fc...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc 5.10-2.1.x-imx
git checkout f628121dfa77c1af3991c7d0fc91961da65a89bc
# 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=alpha SHELL=/bin/bash
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 >>):
>> sound/soc/sof/intel/byt.c:613:27: error: 'intel_ipc_msg_data' undeclared here (not in a function); did you mean 'sof_ipc_msg_data'?
613 | .ipc_msg_data = intel_ipc_msg_data,
| ^~~~~~~~~~~~~~~~~~
| sof_ipc_msg_data
>> sound/soc/sof/intel/byt.c:614:27: error: 'intel_ipc_pcm_params' undeclared here (not in a function); did you mean 'sof_ipc_pcm_params'?
614 | .ipc_pcm_params = intel_ipc_pcm_params,
| ^~~~~~~~~~~~~~~~~~~~
| sof_ipc_pcm_params
>> sound/soc/sof/intel/byt.c:628:27: error: 'intel_pcm_open' undeclared here (not in a function)
628 | .pcm_open = intel_pcm_open,
| ^~~~~~~~~~~~~~
>> sound/soc/sof/intel/byt.c:629:27: error: 'intel_pcm_close' undeclared here (not in a function)
629 | .pcm_close = intel_pcm_close,
| ^~~~~~~~~~~~~~~
vim +613 sound/soc/sof/intel/byt.c
9e42c5ca4a276a Liam Girdwood 2019-04-12 584
9e42c5ca4a276a Liam Girdwood 2019-04-12 585 const struct snd_sof_dsp_ops sof_tng_ops = {
9e42c5ca4a276a Liam Girdwood 2019-04-12 586 /* device init */
9e42c5ca4a276a Liam Girdwood 2019-04-12 587 .probe = tangier_pci_probe,
9e42c5ca4a276a Liam Girdwood 2019-04-12 588
9e42c5ca4a276a Liam Girdwood 2019-04-12 589 /* DSP core boot / reset */
9e42c5ca4a276a Liam Girdwood 2019-04-12 590 .run = byt_run,
9e42c5ca4a276a Liam Girdwood 2019-04-12 591 .reset = byt_reset,
9e42c5ca4a276a Liam Girdwood 2019-04-12 592
9e42c5ca4a276a Liam Girdwood 2019-04-12 593 /* Register IO */
9e42c5ca4a276a Liam Girdwood 2019-04-12 594 .write = sof_io_write,
9e42c5ca4a276a Liam Girdwood 2019-04-12 595 .read = sof_io_read,
9e42c5ca4a276a Liam Girdwood 2019-04-12 596 .write64 = sof_io_write64,
9e42c5ca4a276a Liam Girdwood 2019-04-12 597 .read64 = sof_io_read64,
9e42c5ca4a276a Liam Girdwood 2019-04-12 598
9e42c5ca4a276a Liam Girdwood 2019-04-12 599 /* Block IO */
9e42c5ca4a276a Liam Girdwood 2019-04-12 600 .block_read = sof_block_read,
9e42c5ca4a276a Liam Girdwood 2019-04-12 601 .block_write = sof_block_write,
9e42c5ca4a276a Liam Girdwood 2019-04-12 602
9e42c5ca4a276a Liam Girdwood 2019-04-12 603 /* doorbell */
9e42c5ca4a276a Liam Girdwood 2019-04-12 604 .irq_handler = byt_irq_handler,
9e42c5ca4a276a Liam Girdwood 2019-04-12 605 .irq_thread = byt_irq_thread,
9e42c5ca4a276a Liam Girdwood 2019-04-12 606
9e42c5ca4a276a Liam Girdwood 2019-04-12 607 /* ipc */
9e42c5ca4a276a Liam Girdwood 2019-04-12 608 .send_msg = byt_send_msg,
83ee7ab1627b75 Daniel Baluta 2019-08-07 609 .fw_ready = sof_fw_ready,
83ee7ab1627b75 Daniel Baluta 2019-08-07 610 .get_mailbox_offset = byt_get_mailbox_offset,
83ee7ab1627b75 Daniel Baluta 2019-08-07 611 .get_window_offset = byt_get_window_offset,
9e42c5ca4a276a Liam Girdwood 2019-04-12 612
9e42c5ca4a276a Liam Girdwood 2019-04-12 @613 .ipc_msg_data = intel_ipc_msg_data,
9e42c5ca4a276a Liam Girdwood 2019-04-12 @614 .ipc_pcm_params = intel_ipc_pcm_params,
9e42c5ca4a276a Liam Girdwood 2019-04-12 615
285880a23d105e Daniel Baluta 2019-12-04 616 /* machine driver */
285880a23d105e Daniel Baluta 2019-12-04 617 .machine_select = byt_machine_select,
285880a23d105e Daniel Baluta 2019-12-04 618 .machine_register = sof_machine_register,
285880a23d105e Daniel Baluta 2019-12-04 619 .machine_unregister = sof_machine_unregister,
285880a23d105e Daniel Baluta 2019-12-04 620 .set_mach_params = byt_set_mach_params,
285880a23d105e Daniel Baluta 2019-12-04 621
9e42c5ca4a276a Liam Girdwood 2019-04-12 622 /* debug */
9e42c5ca4a276a Liam Girdwood 2019-04-12 623 .debug_map = byt_debugfs,
9e42c5ca4a276a Liam Girdwood 2019-04-12 624 .debug_map_count = ARRAY_SIZE(byt_debugfs),
9e42c5ca4a276a Liam Girdwood 2019-04-12 625 .dbg_dump = byt_dump,
9e42c5ca4a276a Liam Girdwood 2019-04-12 626
9e42c5ca4a276a Liam Girdwood 2019-04-12 627 /* stream callbacks */
9e42c5ca4a276a Liam Girdwood 2019-04-12 @628 .pcm_open = intel_pcm_open,
9e42c5ca4a276a Liam Girdwood 2019-04-12 @629 .pcm_close = intel_pcm_close,
9e42c5ca4a276a Liam Girdwood 2019-04-12 630
9e42c5ca4a276a Liam Girdwood 2019-04-12 631 /* module loading */
9e42c5ca4a276a Liam Girdwood 2019-04-12 632 .load_module = snd_sof_parse_module_memcpy,
9e42c5ca4a276a Liam Girdwood 2019-04-12 633
9e42c5ca4a276a Liam Girdwood 2019-04-12 634 /*Firmware loading */
9e42c5ca4a276a Liam Girdwood 2019-04-12 635 .load_firmware = snd_sof_load_firmware_memcpy,
9e42c5ca4a276a Liam Girdwood 2019-04-12 636
9e42c5ca4a276a Liam Girdwood 2019-04-12 637 /* DAI drivers */
9e42c5ca4a276a Liam Girdwood 2019-04-12 638 .drv = byt_dai,
9e42c5ca4a276a Liam Girdwood 2019-04-12 639 .num_drv = 3, /* we have only 3 SSPs on byt*/
27e322fabd508b Pierre-Louis Bossart 2019-10-24 640
27e322fabd508b Pierre-Louis Bossart 2019-10-24 641 /* ALSA HW info flags */
27e322fabd508b Pierre-Louis Bossart 2019-10-24 642 .hw_info = SNDRV_PCM_INFO_MMAP |
27e322fabd508b Pierre-Louis Bossart 2019-10-24 643 SNDRV_PCM_INFO_MMAP_VALID |
27e322fabd508b Pierre-Louis Bossart 2019-10-24 644 SNDRV_PCM_INFO_INTERLEAVED |
27e322fabd508b Pierre-Louis Bossart 2019-10-24 645 SNDRV_PCM_INFO_PAUSE |
4c02a7bd43e22f Pierre-Louis Bossart 2019-10-24 646 SNDRV_PCM_INFO_BATCH,
0f501c7cde4086 Pierre-Louis Bossart 2019-12-17 647
0f501c7cde4086 Pierre-Louis Bossart 2019-12-17 648 .arch_ops = &sof_xtensa_arch_ops,
9e42c5ca4a276a Liam Girdwood 2019-04-12 649 };
e42b19450866fb Pierre-Louis Bossart 2019-12-17 650 EXPORT_SYMBOL_NS(sof_tng_ops, SND_SOC_SOF_MERRIFIELD);
9e42c5ca4a276a Liam Girdwood 2019-04-12 651
:::::: The code at line 613 was first introduced by commit
:::::: 9e42c5ca4a276a668b11116704f5f0d66ab80608 ASoC: SOF: Intel: Add BYT, CHT and BSW DSP HW support.
:::::: TO: Liam Girdwood <liam.r.girdwood(a)linux.intel.com>
:::::: CC: Mark Brown <broonie(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH 2/2] net: Add DM9051 driver
by kernel test robot
Hi Joseph,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on ce83278f313ce65a9bbd780a3e07fa3f62d82525]
url: https://github.com/0day-ci/linux/commits/Joseph-CHANG/ADD-DM9051-NET-DEVI...
base: ce83278f313ce65a9bbd780a3e07fa3f62d82525
config: arc-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112082228.stoSxUom-lk...)
compiler: arceb-elf-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/9ee7a9a16698431c764b4b21a0839e87f...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Joseph-CHANG/ADD-DM9051-NET-DEVICE/20211208-193833
git checkout 9ee7a9a16698431c764b4b21a0839e87f3692078
# 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=arc SHELL=/bin/bash drivers/net/ethernet/davicom/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/ethernet/davicom/dm9051.c: In function 'dm9051_read_mac_to_dev':
drivers/net/ethernet/davicom/dm9051.c:255:35: error: assignment of read-only location '*(ndev->dev_addr + (sizetype)i)'
255 | ndev->dev_addr[i] = ior(db, DM9051_PAR + i);
| ^
drivers/net/ethernet/davicom/dm9051.c:260:43: error: assignment of read-only location '*(ndev->dev_addr + (sizetype)i)'
260 | ndev->dev_addr[i] = ior(db, DM9051_PAR + i);
| ^
drivers/net/ethernet/davicom/dm9051.c: In function 'dm_set_mac_lock':
>> drivers/net/ethernet/davicom/dm9051.c:341:57: warning: passing argument 3 of 'dm_write_eeprom_func' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
341 | dm_write_eeprom_func(db, i / 2, &ndev->dev_addr[i]);
| ^~~~~~~~~~~~~~~~~~
drivers/net/ethernet/davicom/dm9051.c:156:73: note: expected 'u8 *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
156 | static void dm_write_eeprom_func(struct board_info *db, int offset, u8 *data)
| ~~~~^~~~
vim +341 drivers/net/ethernet/davicom/dm9051.c
318
319 /* set mac permanently
320 */
321 static void dm_set_mac_lock(struct board_info *db)
322 {
323 struct net_device *ndev = db->ndev;
324
325 if (db->enter_setmac) {
326 int i, oft;
327
328 db->enter_setmac = 0;
329 netdev_info(ndev, "set_mac_address %02x %02x %02x %02x %02x %02x\n",
330 ndev->dev_addr[0], ndev->dev_addr[1], ndev->dev_addr[2],
331 ndev->dev_addr[3], ndev->dev_addr[4], ndev->dev_addr[5]);
332
333 /* write to net device and chip */
334 ADDR_LOCK_HEAD_ESSENTIAL(db); //mutex_lock
335 for (i = 0, oft = DM9051_PAR; i < ETH_ALEN; i++, oft++)
336 iow(db, oft, ndev->dev_addr[i]);
337 ADDR_LOCK_TAIL_ESSENTIAL(db); //mutex_unlock
338
339 /* write to EEPROM */
340 for (i = 0; i < ETH_ALEN; i += 2)
> 341 dm_write_eeprom_func(db, i / 2, &ndev->dev_addr[i]);
342 }
343 }
344
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v5 3/5] iio: proximity: Add SX9324 support
by kernel test robot
Hi Gwendal,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on v5.16-rc4 next-20211208]
[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/Gwendal-Grignou/Expand-Semtech-S...
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
config: arm-randconfig-c002-20211208 (https://download.01.org/0day-ci/archive/20211208/202112082214.pv3MKwkH-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/0day-ci/linux/commit/d02716a5c3a619239e594e6ba6af2ec38...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Gwendal-Grignou/Expand-Semtech-SAR-Sensors-support/20211208-084635
git checkout d02716a5c3a619239e594e6ba6af2ec38fd3de3d
# 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=arm SHELL=/bin/bash drivers/iio/proximity/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/iio/proximity/sx9324.c:166:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
int i, ret, pin_idx;
^
1 warning generated.
vim +/ret +166 drivers/iio/proximity/sx9324.c
158
159 static ssize_t sx9324_phase_configuration_show(struct iio_dev *indio_dev,
160 uintptr_t private,
161 const struct iio_chan_spec *chan,
162 char *buf)
163 {
164 struct sx_common_data *data = iio_priv(indio_dev);
165 unsigned int val;
> 166 int i, ret, pin_idx;
167 size_t len = 0;
168
169 ret = regmap_read(data->regmap, SX9324_REG_AFE_PH0 + chan->channel, &val);
170
171 for (i = 0; i < SX9324_NUM_PINS; i++) {
172 pin_idx = (val & SX9324_REG_AFE_PH0_PIN_MASK(i)) >> (2 * i);
173 len += scnprintf(buf + len, PAGE_SIZE - len, "%s,",
174 sx9324_cs_pin_usage[pin_idx]);
175 }
176 buf[len - 1] = '\n';
177 return len;
178 }
179
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v2 2/2] clk: qcom: Add clock driver for SM8450
by kernel test robot
Hi Vinod,
I love your patch! Yet something to improve:
[auto build test ERROR on clk/clk-next]
[also build test ERROR on robh/for-next v5.16-rc4 next-20211208]
[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/Vinod-Koul/clk-qcom-Add-clocks-f...
base: https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git clk-next
config: riscv-randconfig-c006-20211208 (https://download.01.org/0day-ci/archive/20211208/202112082235.Hpn8OyQQ-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/42c0d6d58aceb3d76e99fd9738235962a...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Vinod-Koul/clk-qcom-Add-clocks-for-SM8450-SoC/20211207-194218
git checkout 42c0d6d58aceb3d76e99fd9738235962ab7a8e87
# 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=riscv SHELL=/bin/bash drivers/clk/qcom/ drivers/iio/proximity/
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/clk/qcom/gcc-sm8450.c:40:29: error: use of undeclared identifier 'CLK_ALPHA_PLL_TYPE_LUCID_EVO'; did you mean 'CLK_ALPHA_PLL_TYPE_LUCID'?
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLK_ALPHA_PLL_TYPE_LUCID
drivers/clk/qcom/clk-alpha-pll.h:17:2: note: 'CLK_ALPHA_PLL_TYPE_LUCID' declared here
CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION,
^
>> drivers/clk/qcom/gcc-sm8450.c:50:12: error: use of undeclared identifier 'clk_alpha_pll_fixed_lucid_evo_ops'; did you mean 'clk_alpha_pll_fixed_lucid_5lpe_ops'?
.ops = &clk_alpha_pll_fixed_lucid_evo_ops,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clk_alpha_pll_fixed_lucid_5lpe_ops
drivers/clk/qcom/clk-alpha-pll.h:149:29: note: 'clk_alpha_pll_fixed_lucid_5lpe_ops' declared here
extern const struct clk_ops clk_alpha_pll_fixed_lucid_5lpe_ops;
^
drivers/clk/qcom/gcc-sm8450.c:66:29: error: use of undeclared identifier 'CLK_ALPHA_PLL_TYPE_LUCID_EVO'; did you mean 'CLK_ALPHA_PLL_TYPE_LUCID'?
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLK_ALPHA_PLL_TYPE_LUCID
drivers/clk/qcom/clk-alpha-pll.h:17:2: note: 'CLK_ALPHA_PLL_TYPE_LUCID' declared here
CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION,
^
>> drivers/clk/qcom/gcc-sm8450.c:73:11: error: use of undeclared identifier 'clk_alpha_pll_postdiv_lucid_evo_ops'
.ops = &clk_alpha_pll_postdiv_lucid_evo_ops,
^
drivers/clk/qcom/gcc-sm8450.c:79:29: error: use of undeclared identifier 'CLK_ALPHA_PLL_TYPE_LUCID_EVO'; did you mean 'CLK_ALPHA_PLL_TYPE_LUCID'?
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLK_ALPHA_PLL_TYPE_LUCID
drivers/clk/qcom/clk-alpha-pll.h:17:2: note: 'CLK_ALPHA_PLL_TYPE_LUCID' declared here
CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION,
^
drivers/clk/qcom/gcc-sm8450.c:89:12: error: use of undeclared identifier 'clk_alpha_pll_fixed_lucid_evo_ops'; did you mean 'clk_alpha_pll_fixed_lucid_5lpe_ops'?
.ops = &clk_alpha_pll_fixed_lucid_evo_ops,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clk_alpha_pll_fixed_lucid_5lpe_ops
drivers/clk/qcom/clk-alpha-pll.h:149:29: note: 'clk_alpha_pll_fixed_lucid_5lpe_ops' declared here
extern const struct clk_ops clk_alpha_pll_fixed_lucid_5lpe_ops;
^
drivers/clk/qcom/gcc-sm8450.c:96:29: error: use of undeclared identifier 'CLK_ALPHA_PLL_TYPE_LUCID_EVO'; did you mean 'CLK_ALPHA_PLL_TYPE_LUCID'?
.regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
CLK_ALPHA_PLL_TYPE_LUCID
drivers/clk/qcom/clk-alpha-pll.h:17:2: note: 'CLK_ALPHA_PLL_TYPE_LUCID' declared here
CLK_ALPHA_PLL_TYPE_LUCID = CLK_ALPHA_PLL_TYPE_TRION,
^
drivers/clk/qcom/gcc-sm8450.c:106:12: error: use of undeclared identifier 'clk_alpha_pll_fixed_lucid_evo_ops'; did you mean 'clk_alpha_pll_fixed_lucid_5lpe_ops'?
.ops = &clk_alpha_pll_fixed_lucid_evo_ops,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clk_alpha_pll_fixed_lucid_5lpe_ops
drivers/clk/qcom/clk-alpha-pll.h:149:29: note: 'clk_alpha_pll_fixed_lucid_5lpe_ops' declared here
extern const struct clk_ops clk_alpha_pll_fixed_lucid_5lpe_ops;
^
8 errors generated.
vim +40 drivers/clk/qcom/gcc-sm8450.c
37
38 static struct clk_alpha_pll gcc_gpll0 = {
39 .offset = 0x0,
> 40 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
41 .clkr = {
42 .enable_reg = 0x62018,
43 .enable_mask = BIT(0),
44 .hw.init = &(struct clk_init_data){
45 .name = "gcc_gpll0",
46 .parent_data = &(const struct clk_parent_data){
47 .fw_name = "bi_tcxo",
48 },
49 .num_parents = 1,
> 50 .ops = &clk_alpha_pll_fixed_lucid_evo_ops,
51 },
52 },
53 };
54
55 static const struct clk_div_table post_div_table_gcc_gpll0_out_even[] = {
56 { 0x1, 2 },
57 { }
58 };
59
60 static struct clk_alpha_pll_postdiv gcc_gpll0_out_even = {
61 .offset = 0x0,
62 .post_div_shift = 10,
63 .post_div_table = post_div_table_gcc_gpll0_out_even,
64 .num_post_div = ARRAY_SIZE(post_div_table_gcc_gpll0_out_even),
65 .width = 4,
66 .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_LUCID_EVO],
67 .clkr.hw.init = &(struct clk_init_data){
68 .name = "gcc_gpll0_out_even",
69 .parent_data = &(const struct clk_parent_data){
70 .hw = &gcc_gpll0.clkr.hw,
71 },
72 .num_parents = 1,
> 73 .ops = &clk_alpha_pll_postdiv_lucid_evo_ops,
74 },
75 };
76
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH 42/48] mm: Convert find_lock_entries() to use a folio_batch
by kernel test robot
Hi "Matthew,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on hnaz-mm/master]
[also build test WARNING on rostedt-trace/for-next linus/master v5.16-rc4]
[cannot apply to next-20211208]
[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/Matthew-Wilcox-Oracle/Folios-for...
base: https://github.com/hnaz/linux-mm master
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112081952.NHF8MX2L-lk...)
compiler: alpha-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/b883ee2b43293c901ea31f233d1596f25...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Matthew-Wilcox-Oracle/Folios-for-5-17/20211208-122734
git checkout b883ee2b43293c901ea31f233d1596f255e0dcb9
# 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=alpha SHELL=/bin/bash fs/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from fs/f2fs/dir.c:13:
>> fs/f2fs/f2fs.h:4055:67: warning: 'struct pagevec' declared inside parameter list will not be visible outside of this definition or declaration
4055 | bool f2fs_all_cluster_page_loaded(struct compress_ctx *cc, struct pagevec *pvec,
| ^~~~~~~
vim +4055 fs/f2fs/f2fs.h
4c8ff7095bef64 Chao Yu 2019-11-01 4034
4c8ff7095bef64 Chao Yu 2019-11-01 4035 /*
4c8ff7095bef64 Chao Yu 2019-11-01 4036 * compress.c
4c8ff7095bef64 Chao Yu 2019-11-01 4037 */
4c8ff7095bef64 Chao Yu 2019-11-01 4038 #ifdef CONFIG_F2FS_FS_COMPRESSION
4c8ff7095bef64 Chao Yu 2019-11-01 4039 bool f2fs_is_compressed_page(struct page *page);
4c8ff7095bef64 Chao Yu 2019-11-01 4040 struct page *f2fs_compress_control_page(struct page *page);
4c8ff7095bef64 Chao Yu 2019-11-01 4041 int f2fs_prepare_compress_overwrite(struct inode *inode,
4c8ff7095bef64 Chao Yu 2019-11-01 4042 struct page **pagep, pgoff_t index, void **fsdata);
4c8ff7095bef64 Chao Yu 2019-11-01 4043 bool f2fs_compress_write_end(struct inode *inode, void *fsdata,
4c8ff7095bef64 Chao Yu 2019-11-01 4044 pgoff_t index, unsigned copied);
3265d3db1f1639 Chao Yu 2020-03-18 4045 int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock);
4c8ff7095bef64 Chao Yu 2019-11-01 4046 void f2fs_compress_write_end_io(struct bio *bio, struct page *page);
4c8ff7095bef64 Chao Yu 2019-11-01 4047 bool f2fs_is_compress_backend_ready(struct inode *inode);
5e6bbde9598230 Chao Yu 2020-04-08 4048 int f2fs_init_compress_mempool(void);
5e6bbde9598230 Chao Yu 2020-04-08 4049 void f2fs_destroy_compress_mempool(void);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4050 void f2fs_decompress_cluster(struct decompress_io_ctx *dic);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4051 void f2fs_end_read_compressed_page(struct page *page, bool failed,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4052 block_t blkaddr);
4c8ff7095bef64 Chao Yu 2019-11-01 4053 bool f2fs_cluster_is_empty(struct compress_ctx *cc);
4c8ff7095bef64 Chao Yu 2019-11-01 4054 bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index);
2ce5eeadf5d8d9 Andrew Morton 2021-10-28 @4055 bool f2fs_all_cluster_page_loaded(struct compress_ctx *cc, struct pagevec *pvec,
2ce5eeadf5d8d9 Andrew Morton 2021-10-28 4056 int index, int nr_pages);
bbe1da7e34ac5a Chao Yu 2021-08-06 4057 bool f2fs_sanity_check_cluster(struct dnode_of_data *dn);
4c8ff7095bef64 Chao Yu 2019-11-01 4058 void f2fs_compress_ctx_add_page(struct compress_ctx *cc, struct page *page);
4c8ff7095bef64 Chao Yu 2019-11-01 4059 int f2fs_write_multi_pages(struct compress_ctx *cc,
4c8ff7095bef64 Chao Yu 2019-11-01 4060 int *submitted,
4c8ff7095bef64 Chao Yu 2019-11-01 4061 struct writeback_control *wbc,
4c8ff7095bef64 Chao Yu 2019-11-01 4062 enum iostat_type io_type);
4c8ff7095bef64 Chao Yu 2019-11-01 4063 int f2fs_is_compressed_cluster(struct inode *inode, pgoff_t index);
94afd6d6e52531 Chao Yu 2021-08-04 4064 void f2fs_update_extent_tree_range_compressed(struct inode *inode,
94afd6d6e52531 Chao Yu 2021-08-04 4065 pgoff_t fofs, block_t blkaddr, unsigned int llen,
94afd6d6e52531 Chao Yu 2021-08-04 4066 unsigned int c_len);
4c8ff7095bef64 Chao Yu 2019-11-01 4067 int f2fs_read_multi_pages(struct compress_ctx *cc, struct bio **bio_ret,
4c8ff7095bef64 Chao Yu 2019-11-01 4068 unsigned nr_pages, sector_t *last_block_in_bio,
0683728adab251 Chao Yu 2020-02-18 4069 bool is_readahead, bool for_write);
4c8ff7095bef64 Chao Yu 2019-11-01 4070 struct decompress_io_ctx *f2fs_alloc_dic(struct compress_ctx *cc);
7f59b277f79e8a Eric Biggers 2021-01-04 4071 void f2fs_decompress_end_io(struct decompress_io_ctx *dic, bool failed);
7f59b277f79e8a Eric Biggers 2021-01-04 4072 void f2fs_put_page_dic(struct page *page);
94afd6d6e52531 Chao Yu 2021-08-04 4073 unsigned int f2fs_cluster_blocks_are_contiguous(struct dnode_of_data *dn);
4c8ff7095bef64 Chao Yu 2019-11-01 4074 int f2fs_init_compress_ctx(struct compress_ctx *cc);
8bfbfb0ddd706b Chao Yu 2021-05-10 4075 void f2fs_destroy_compress_ctx(struct compress_ctx *cc, bool reuse);
4c8ff7095bef64 Chao Yu 2019-11-01 4076 void f2fs_init_compress_info(struct f2fs_sb_info *sbi);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4077 int f2fs_init_compress_inode(struct f2fs_sb_info *sbi);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4078 void f2fs_destroy_compress_inode(struct f2fs_sb_info *sbi);
31083031709eea Chao Yu 2020-09-14 4079 int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi);
31083031709eea Chao Yu 2020-09-14 4080 void f2fs_destroy_page_array_cache(struct f2fs_sb_info *sbi);
c68d6c88302250 Chao Yu 2020-09-14 4081 int __init f2fs_init_compress_cache(void);
c68d6c88302250 Chao Yu 2020-09-14 4082 void f2fs_destroy_compress_cache(void);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4083 struct address_space *COMPRESS_MAPPING(struct f2fs_sb_info *sbi);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4084 void f2fs_invalidate_compress_page(struct f2fs_sb_info *sbi, block_t blkaddr);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4085 void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4086 nid_t ino, block_t blkaddr);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4087 bool f2fs_load_compressed_page(struct f2fs_sb_info *sbi, struct page *page,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4088 block_t blkaddr);
6ce19aff0b8cd3 Chao Yu 2021-05-20 4089 void f2fs_invalidate_compress_pages(struct f2fs_sb_info *sbi, nid_t ino);
5ac443e26a0964 Daeho Jeong 2021-03-15 4090 #define inc_compr_inode_stat(inode) \
5ac443e26a0964 Daeho Jeong 2021-03-15 4091 do { \
5ac443e26a0964 Daeho Jeong 2021-03-15 4092 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); \
5ac443e26a0964 Daeho Jeong 2021-03-15 4093 sbi->compr_new_inode++; \
5ac443e26a0964 Daeho Jeong 2021-03-15 4094 } while (0)
5ac443e26a0964 Daeho Jeong 2021-03-15 4095 #define add_compr_block_stat(inode, blocks) \
5ac443e26a0964 Daeho Jeong 2021-03-15 4096 do { \
5ac443e26a0964 Daeho Jeong 2021-03-15 4097 struct f2fs_sb_info *sbi = F2FS_I_SB(inode); \
5ac443e26a0964 Daeho Jeong 2021-03-15 4098 int diff = F2FS_I(inode)->i_cluster_size - blocks; \
5ac443e26a0964 Daeho Jeong 2021-03-15 4099 sbi->compr_written_block += blocks; \
5ac443e26a0964 Daeho Jeong 2021-03-15 4100 sbi->compr_saved_block += diff; \
5ac443e26a0964 Daeho Jeong 2021-03-15 4101 } while (0)
4c8ff7095bef64 Chao Yu 2019-11-01 4102 #else
4c8ff7095bef64 Chao Yu 2019-11-01 4103 static inline bool f2fs_is_compressed_page(struct page *page) { return false; }
4c8ff7095bef64 Chao Yu 2019-11-01 4104 static inline bool f2fs_is_compress_backend_ready(struct inode *inode)
4c8ff7095bef64 Chao Yu 2019-11-01 4105 {
4c8ff7095bef64 Chao Yu 2019-11-01 4106 if (!f2fs_compressed_file(inode))
4c8ff7095bef64 Chao Yu 2019-11-01 4107 return true;
4c8ff7095bef64 Chao Yu 2019-11-01 4108 /* not support compression */
4c8ff7095bef64 Chao Yu 2019-11-01 4109 return false;
4c8ff7095bef64 Chao Yu 2019-11-01 4110 }
4c8ff7095bef64 Chao Yu 2019-11-01 4111 static inline struct page *f2fs_compress_control_page(struct page *page)
4c8ff7095bef64 Chao Yu 2019-11-01 4112 {
4c8ff7095bef64 Chao Yu 2019-11-01 4113 WARN_ON_ONCE(1);
4c8ff7095bef64 Chao Yu 2019-11-01 4114 return ERR_PTR(-EINVAL);
4c8ff7095bef64 Chao Yu 2019-11-01 4115 }
5e6bbde9598230 Chao Yu 2020-04-08 4116 static inline int f2fs_init_compress_mempool(void) { return 0; }
5e6bbde9598230 Chao Yu 2020-04-08 4117 static inline void f2fs_destroy_compress_mempool(void) { }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4118 static inline void f2fs_decompress_cluster(struct decompress_io_ctx *dic) { }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4119 static inline void f2fs_end_read_compressed_page(struct page *page,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4120 bool failed, block_t blkaddr)
7f59b277f79e8a Eric Biggers 2021-01-04 4121 {
7f59b277f79e8a Eric Biggers 2021-01-04 4122 WARN_ON_ONCE(1);
7f59b277f79e8a Eric Biggers 2021-01-04 4123 }
7f59b277f79e8a Eric Biggers 2021-01-04 4124 static inline void f2fs_put_page_dic(struct page *page)
7f59b277f79e8a Eric Biggers 2021-01-04 4125 {
7f59b277f79e8a Eric Biggers 2021-01-04 4126 WARN_ON_ONCE(1);
7f59b277f79e8a Eric Biggers 2021-01-04 4127 }
94afd6d6e52531 Chao Yu 2021-08-04 4128 static inline unsigned int f2fs_cluster_blocks_are_contiguous(struct dnode_of_data *dn) { return 0; }
bbe1da7e34ac5a Chao Yu 2021-08-06 4129 static inline bool f2fs_sanity_check_cluster(struct dnode_of_data *dn) { return false; }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4130 static inline int f2fs_init_compress_inode(struct f2fs_sb_info *sbi) { return 0; }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4131 static inline void f2fs_destroy_compress_inode(struct f2fs_sb_info *sbi) { }
31083031709eea Chao Yu 2020-09-14 4132 static inline int f2fs_init_page_array_cache(struct f2fs_sb_info *sbi) { return 0; }
31083031709eea Chao Yu 2020-09-14 4133 static inline void f2fs_destroy_page_array_cache(struct f2fs_sb_info *sbi) { }
c68d6c88302250 Chao Yu 2020-09-14 4134 static inline int __init f2fs_init_compress_cache(void) { return 0; }
c68d6c88302250 Chao Yu 2020-09-14 4135 static inline void f2fs_destroy_compress_cache(void) { }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4136 static inline void f2fs_invalidate_compress_page(struct f2fs_sb_info *sbi,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4137 block_t blkaddr) { }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4138 static inline void f2fs_cache_compressed_page(struct f2fs_sb_info *sbi,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4139 struct page *page, nid_t ino, block_t blkaddr) { }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4140 static inline bool f2fs_load_compressed_page(struct f2fs_sb_info *sbi,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4141 struct page *page, block_t blkaddr) { return false; }
6ce19aff0b8cd3 Chao Yu 2021-05-20 4142 static inline void f2fs_invalidate_compress_pages(struct f2fs_sb_info *sbi,
6ce19aff0b8cd3 Chao Yu 2021-05-20 4143 nid_t ino) { }
5ac443e26a0964 Daeho Jeong 2021-03-15 4144 #define inc_compr_inode_stat(inode) do { } while (0)
94afd6d6e52531 Chao Yu 2021-08-04 4145 static inline void f2fs_update_extent_tree_range_compressed(struct inode *inode,
94afd6d6e52531 Chao Yu 2021-08-04 4146 pgoff_t fofs, block_t blkaddr, unsigned int llen,
94afd6d6e52531 Chao Yu 2021-08-04 4147 unsigned int c_len) { }
4c8ff7095bef64 Chao Yu 2019-11-01 4148 #endif
4c8ff7095bef64 Chao Yu 2019-11-01 4149
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v1 2/2] usb: core: enable remote wakeup function for usb controller
by kernel test robot
Hi Yinbo,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on usb/usb-testing]
[also build test ERROR on hid/for-next v5.16-rc4 next-20211208]
[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/Yinbo-Zhu/HID-usbhid-enable-remo...
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
config: hexagon-randconfig-r045-20211207 (https://download.01.org/0day-ci/archive/20211208/202112082256.02orEkq6-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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/e900e8c9eb7fd4fda123036095e7e7ec8...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Yinbo-Zhu/HID-usbhid-enable-remote-wakeup-function-for-usbhid-device/20211208-174035
git checkout e900e8c9eb7fd4fda123036095e7e7ec87439547
# 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=hexagon SHELL=/bin/bash drivers/usb/core/
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/usb/core/hub.c:2550:10: error: implicit declaration of function 'usb_enable_remote_wakeup' [-Werror,-Wimplicit-function-declaration]
err = usb_enable_remote_wakeup(udev);
^
1 error generated.
vim +/usb_enable_remote_wakeup +2550 drivers/usb/core/hub.c
2488
2489 /**
2490 * usb_new_device - perform initial device setup (usbcore-internal)
2491 * @udev: newly addressed device (in ADDRESS state)
2492 *
2493 * This is called with devices which have been detected but not fully
2494 * enumerated. The device descriptor is available, but not descriptors
2495 * for any device configuration. The caller must have locked either
2496 * the parent hub (if udev is a normal device) or else the
2497 * usb_bus_idr_lock (if udev is a root hub). The parent's pointer to
2498 * udev has already been installed, but udev is not yet visible through
2499 * sysfs or other filesystem code.
2500 *
2501 * This call is synchronous, and may not be used in an interrupt context.
2502 *
2503 * Only the hub driver or root-hub registrar should ever call this.
2504 *
2505 * Return: Whether the device is configured properly or not. Zero if the
2506 * interface was registered with the driver core; else a negative errno
2507 * value.
2508 *
2509 */
2510 int usb_new_device(struct usb_device *udev)
2511 {
2512 struct usb_host_config *config;
2513 int ncfg;
2514 int err;
2515
2516 if (udev->parent) {
2517 /* Initialize non-root-hub device wakeup to disabled;
2518 * device (un)configuration controls wakeup capable
2519 * sysfs power/wakeup controls wakeup enabled/disabled
2520 */
2521 device_init_wakeup(&udev->dev, 0);
2522 }
2523
2524 /* Tell the runtime-PM framework the device is active */
2525 pm_runtime_set_active(&udev->dev);
2526 pm_runtime_get_noresume(&udev->dev);
2527 pm_runtime_use_autosuspend(&udev->dev);
2528 pm_runtime_enable(&udev->dev);
2529
2530 /* By default, forbid autosuspend for all devices. It will be
2531 * allowed for hubs during binding.
2532 */
2533 usb_disable_autosuspend(udev);
2534
2535 err = usb_enumerate_device(udev); /* Read descriptors */
2536 if (err < 0)
2537 goto fail;
2538 dev_dbg(&udev->dev, "udev %d, busnum %d, minor = %d\n",
2539 udev->devnum, udev->bus->busnum,
2540 (((udev->bus->busnum-1) * 128) + (udev->devnum-1)));
2541 /* export the usbdev device-node for libusb */
2542 udev->dev.devt = MKDEV(USB_DEVICE_MAJOR,
2543 (((udev->bus->busnum-1) * 128) + (udev->devnum-1)));
2544
2545 for (ncfg = 0; ncfg < udev->descriptor.bNumConfigurations; ncfg++) {
2546 config = &udev->config[ncfg];
2547 if ((config->desc.bmAttributes & (1 << 5)) == 0)
2548 break;
2549 if (ncfg + 1 == udev->descriptor.bNumConfigurations) {
> 2550 err = usb_enable_remote_wakeup(udev);
2551 if (err)
2552 dev_dbg(&udev->dev,
2553 "won't remote wakeup, err %d\n", err);
2554 }
2555 }
2556
2557 /* Tell the world! */
2558 announce_device(udev);
2559
2560 if (udev->serial)
2561 add_device_randomness(udev->serial, strlen(udev->serial));
2562 if (udev->product)
2563 add_device_randomness(udev->product, strlen(udev->product));
2564 if (udev->manufacturer)
2565 add_device_randomness(udev->manufacturer,
2566 strlen(udev->manufacturer));
2567
2568 device_enable_async_suspend(&udev->dev);
2569
2570 /* check whether the hub or firmware marks this port as non-removable */
2571 set_usb_port_removable(udev);
2572
2573 /* Register the device. The device driver is responsible
2574 * for configuring the device and invoking the add-device
2575 * notifier chain (used by usbfs and possibly others).
2576 */
2577 err = device_add(&udev->dev);
2578 if (err) {
2579 dev_err(&udev->dev, "can't device_add, error %d\n", err);
2580 goto fail;
2581 }
2582
2583 /* Create link files between child device and usb port device. */
2584 if (udev->parent) {
2585 struct usb_hub *hub = usb_hub_to_struct_hub(udev->parent);
2586 int port1 = udev->portnum;
2587 struct usb_port *port_dev = hub->ports[port1 - 1];
2588
2589 err = sysfs_create_link(&udev->dev.kobj,
2590 &port_dev->dev.kobj, "port");
2591 if (err)
2592 goto fail;
2593
2594 err = sysfs_create_link(&port_dev->dev.kobj,
2595 &udev->dev.kobj, "device");
2596 if (err) {
2597 sysfs_remove_link(&udev->dev.kobj, "port");
2598 goto fail;
2599 }
2600
2601 if (!test_and_set_bit(port1, hub->child_usage_bits))
2602 pm_runtime_get_sync(&port_dev->dev);
2603 }
2604
2605 (void) usb_create_ep_devs(&udev->dev, &udev->ep0, udev);
2606 usb_mark_last_busy(udev);
2607 pm_runtime_put_sync_autosuspend(&udev->dev);
2608 return err;
2609
2610 fail:
2611 usb_set_device_state(udev, USB_STATE_NOTATTACHED);
2612 pm_runtime_disable(&udev->dev);
2613 pm_runtime_set_suspended(&udev->dev);
2614 return err;
2615 }
2616
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks
Re: [PATCH v2] mt76: mt7915: add mu-mimo and ofdma debugfs knobs
by kernel test robot
Hi MeiChia,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on kvalo-wireless-drivers-next/master]
[also build test WARNING on kvalo-wireless-drivers/master v5.16-rc4 next-20211208]
[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/MeiChia-Chiu/mt76-mt7915-add-mu-...
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-ne... master
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20211208/202112082145.YwvZAzNR-lk...)
compiler: alpha-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/2d224f4e59aa02c401f3f6f5e9d458604...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review MeiChia-Chiu/mt76-mt7915-add-mu-mimo-and-ofdma-debugfs-knobs/20211208-170525
git checkout 2d224f4e59aa02c401f3f6f5e9d4586040773a8a
# 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=alpha SHELL=/bin/bash drivers/net/wireless/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c: In function 'mt7915_muru_stat_show':
>> drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:167:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
167 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:167:37: warning: format '%d' expects argument of type 'int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
167 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:167:45: warning: format '%d' expects argument of type 'int', but argument 5 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
167 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:167:53: warning: format '%d' expects argument of type 'int', but argument 6 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
167 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:167:61: warning: format '%d' expects argument of type 'int', but argument 7 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
167 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:186:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
186 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:186:37: warning: format '%d' expects argument of type 'int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
186 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:186:45: warning: format '%d' expects argument of type 'int', but argument 5 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
186 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:215:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
215 | seq_printf(file, "%7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:215:37: warning: format '%d' expects argument of type 'int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
215 | seq_printf(file, "%7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:231:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
231 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:231:37: warning: format '%d' expects argument of type 'int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
231 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:231:45: warning: format '%d' expects argument of type 'int', but argument 5 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
231 | seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:251:29: warning: format '%d' expects argument of type 'int', but argument 3 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
251 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %8d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:251:37: warning: format '%d' expects argument of type 'int', but argument 4 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
251 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %8d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:251:45: warning: format '%d' expects argument of type 'int', but argument 5 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
251 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %8d%% | %7d%% | ",
| ~~^
| |
| int
| %7lld
drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c:251:53: warning: format '%d' expects argument of type 'int', but argument 6 has type 'u64' {aka 'long long unsigned int'} [-Wformat=]
251 | seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %8d%% | %7d%% | ",
| ~~^
| |
| int
vim +167 drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c
104
105 DEFINE_DEBUGFS_ATTRIBUTE(fops_muru_debug, mt7915_muru_debug_get,
106 mt7915_muru_debug_set, "%lld\n");
107
108 static int mt7915_muru_stat_show(struct seq_file *file, void *data)
109 {
110 struct mt7915_phy *phy = file->private;
111 struct mt7915_dev *dev = phy->dev;
112 struct mt7915_mcu_muru_stats mu_stats = {};
113 static const char * const dl_non_he_type[] = {
114 "CCK", "OFDM", "HT MIX", "HT GF",
115 "VHT SU", "VHT 2MU", "VHT 3MU", "VHT 4MU"
116 };
117 static const char * const dl_he_type[] = {
118 "HE SU", "HE EXT", "HE 2MU", "HE 3MU", "HE 4MU",
119 "HE 2RU", "HE 3RU", "HE 4RU", "HE 5-8RU", "HE 9-16RU",
120 "HE >16RU"
121 };
122 static const char * const ul_he_type[] = {
123 "HE 2MU", "HE 3MU", "HE 4MU", "HE SU", "HE 2RU",
124 "HE 3RU", "HE 4RU", "HE 5-8RU", "HE 9-16RU", "HE >16RU"
125 };
126 int ret, i;
127 u64 total_ppdu_cnt;
128
129 if (!dev->muru_debug) {
130 seq_puts(file, "Please enable muru_debug first.\n");
131 return 0;
132 }
133
134 mutex_lock(&dev->mt76.mutex);
135
136 ret = mt7915_mcu_muru_debug_get(phy, &mu_stats);
137 if (ret)
138 goto exit;
139
140 #define __ms_ratio(s) (!total_ppdu_cnt ? 0 : \
141 le32_to_cpu(s) * 100 / total_ppdu_cnt)
142 #define __dl_u32(s) le32_to_cpu(mu_stats.dl.s)
143 /* Non-HE Downlink*/
144 total_ppdu_cnt = __dl_u32(cck_cnt) +
145 __dl_u32(ofdm_cnt) +
146 __dl_u32(htmix_cnt) +
147 __dl_u32(htgf_cnt) +
148 __dl_u32(vht_su_cnt) +
149 __dl_u32(vht_2mu_cnt) +
150 __dl_u32(vht_3mu_cnt) +
151 __dl_u32(vht_4mu_cnt);
152
153 seq_puts(file, "[Non-HE]\nDownlink\nData Type: ");
154
155 for (i = 0; i < 5; i++)
156 seq_printf(file, "%8s | ", dl_non_he_type[i]);
157
158 seq_puts(file, "\nTotal Cnt: ");
159 seq_printf(file, "%8u | %8u | %8u | %8u | %8u | ",
160 __dl_u32(cck_cnt),
161 __dl_u32(ofdm_cnt),
162 __dl_u32(htmix_cnt),
163 __dl_u32(htgf_cnt),
164 __dl_u32(vht_su_cnt));
165
166 seq_puts(file, "\nRatio : ");
> 167 seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %7d%% | ",
168 __ms_ratio(mu_stats.dl.cck_cnt),
169 __ms_ratio(mu_stats.dl.ofdm_cnt),
170 __ms_ratio(mu_stats.dl.htmix_cnt),
171 __ms_ratio(mu_stats.dl.htgf_cnt),
172 __ms_ratio(mu_stats.dl.vht_su_cnt));
173
174 seq_puts(file, "\nDownlink MU-MIMO\nData Type: ");
175
176 for (i = 5; i < 8; i++)
177 seq_printf(file, "%8s | ", dl_non_he_type[i]);
178
179 seq_puts(file, "\nTotal Cnt: ");
180 seq_printf(file, "%8u | %8u | %8u | ",
181 __dl_u32(vht_2mu_cnt),
182 __dl_u32(vht_3mu_cnt),
183 __dl_u32(vht_4mu_cnt));
184
185 seq_puts(file, "\nRatio : ");
186 seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
187 __ms_ratio(mu_stats.dl.vht_2mu_cnt),
188 __ms_ratio(mu_stats.dl.vht_3mu_cnt),
189 __ms_ratio(mu_stats.dl.vht_4mu_cnt));
190
191 /* HE Downlink */
192 total_ppdu_cnt = __dl_u32(he_su_cnt) +
193 __dl_u32(he_ext_su_cnt) +
194 __dl_u32(he_2mu_cnt) +
195 __dl_u32(he_3mu_cnt) +
196 __dl_u32(he_4mu_cnt) +
197 __dl_u32(he_2ru_cnt) +
198 __dl_u32(he_3ru_cnt) +
199 __dl_u32(he_4ru_cnt) +
200 __dl_u32(he_5to8ru_cnt) +
201 __dl_u32(he_9to16ru_cnt) +
202 __dl_u32(he_gtr16ru_cnt);
203
204 seq_puts(file, "\n\n[HE]\nDownlink\nData Type: ");
205
206 for (i = 0; i < 2; i++)
207 seq_printf(file, "%8s | ", dl_he_type[i]);
208
209 seq_puts(file, "\nTotal Cnt: ");
210 seq_printf(file, "%8u | %8u | ",
211 __dl_u32(he_su_cnt),
212 __dl_u32(he_ext_su_cnt));
213
214 seq_puts(file, "\nRatio : ");
215 seq_printf(file, "%7d%% | %7d%% | ",
216 __ms_ratio(mu_stats.dl.he_su_cnt),
217 __ms_ratio(mu_stats.dl.he_ext_su_cnt));
218
219 seq_puts(file, "\nDownlink MU-MIMO\nData Type: ");
220
221 for (i = 2; i < 5; i++)
222 seq_printf(file, "%8s | ", dl_he_type[i]);
223
224 seq_puts(file, "\nTotal Cnt: ");
225 seq_printf(file, "%8u | %8u | %8u | ",
226 __dl_u32(he_2mu_cnt),
227 __dl_u32(he_3mu_cnt),
228 __dl_u32(he_4mu_cnt));
229
230 seq_puts(file, "\nRatio : ");
231 seq_printf(file, "%7d%% | %7d%% | %7d%% | ",
232 __ms_ratio(mu_stats.dl.he_2mu_cnt),
233 __ms_ratio(mu_stats.dl.he_3mu_cnt),
234 __ms_ratio(mu_stats.dl.he_4mu_cnt));
235
236 seq_puts(file, "\nDownlink OFDMA\nData Type: ");
237
238 for (i = 5; i < 11; i++)
239 seq_printf(file, "%8s | ", dl_he_type[i]);
240
241 seq_puts(file, "\nTotal Cnt: ");
242 seq_printf(file, "%8u | %8u | %8u | %8u | %9u | %8u | ",
243 __dl_u32(he_2ru_cnt),
244 __dl_u32(he_3ru_cnt),
245 __dl_u32(he_4ru_cnt),
246 __dl_u32(he_5to8ru_cnt),
247 __dl_u32(he_9to16ru_cnt),
248 __dl_u32(he_gtr16ru_cnt));
249 #undef __dl_u32
250 seq_puts(file, "\nRatio : ");
251 seq_printf(file, "%7d%% | %7d%% | %7d%% | %7d%% | %8d%% | %7d%% | ",
252 __ms_ratio(mu_stats.dl.he_2ru_cnt),
253 __ms_ratio(mu_stats.dl.he_3ru_cnt),
254 __ms_ratio(mu_stats.dl.he_4ru_cnt),
255 __ms_ratio(mu_stats.dl.he_5to8ru_cnt),
256 __ms_ratio(mu_stats.dl.he_9to16ru_cnt),
257 __ms_ratio(mu_stats.dl.he_gtr16ru_cnt));
258
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 2 weeks