arch/powerpc/boot/decompress.c:133: undefined reference to `__decompress'
by kernel test robot
Hi Masahiro,
It's probably a bug fix that unveils the link errors.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8b6ddd10d678bebec32381f71b6b420bafc43ad0
commit: 67bf47452ea00edd90e796054229b651e64b82c1 kbuild: update compile-test header list for v5.3-rc1
date: 11 months ago
config: powerpc64-randconfig-c021-20200619 (attached as .config)
compiler: powerpc-linux-gcc (GCC) 9.3.0
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 >>):
powerpc-linux-ld: arch/powerpc/boot/wrapper.a(decompress.o): in function `partial_decompress':
>> arch/powerpc/boot/decompress.c:133: undefined reference to `__decompress'
vim +133 arch/powerpc/boot/decompress.c
1b7898ee276b39 Oliver O'Halloran 2016-09-22 98
1b7898ee276b39 Oliver O'Halloran 2016-09-22 99 /**
1b7898ee276b39 Oliver O'Halloran 2016-09-22 100 * partial_decompress - decompresses part or all of a compressed buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 101 * @inbuf: input buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 102 * @input_size: length of the input buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 103 * @outbuf: input buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 104 * @output_size: length of the input buffer
1b7898ee276b39 Oliver O'Halloran 2016-09-22 105 * @skip number of output bytes to ignore
1b7898ee276b39 Oliver O'Halloran 2016-09-22 106 *
1b7898ee276b39 Oliver O'Halloran 2016-09-22 107 * This function takes compressed data from inbuf, decompresses and write it to
1b7898ee276b39 Oliver O'Halloran 2016-09-22 108 * outbuf. Once output_size bytes are written to the output buffer, or the
1b7898ee276b39 Oliver O'Halloran 2016-09-22 109 * stream is exhausted the function will return the number of bytes that were
1b7898ee276b39 Oliver O'Halloran 2016-09-22 110 * decompressed. Otherwise it will return whatever error code the decompressor
1b7898ee276b39 Oliver O'Halloran 2016-09-22 111 * reported (NB: This is specific to each decompressor type).
1b7898ee276b39 Oliver O'Halloran 2016-09-22 112 *
1b7898ee276b39 Oliver O'Halloran 2016-09-22 113 * The skip functionality is mainly there so the program and discover
1b7898ee276b39 Oliver O'Halloran 2016-09-22 114 * the size of the compressed image so that it can ask firmware (if present)
1b7898ee276b39 Oliver O'Halloran 2016-09-22 115 * for an appropriately sized buffer.
1b7898ee276b39 Oliver O'Halloran 2016-09-22 116 */
1b7898ee276b39 Oliver O'Halloran 2016-09-22 117 long partial_decompress(void *inbuf, unsigned long input_size,
1b7898ee276b39 Oliver O'Halloran 2016-09-22 118 void *outbuf, unsigned long output_size, unsigned long _skip)
1b7898ee276b39 Oliver O'Halloran 2016-09-22 119 {
1b7898ee276b39 Oliver O'Halloran 2016-09-22 120 int ret;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 121
1b7898ee276b39 Oliver O'Halloran 2016-09-22 122 /*
1b7898ee276b39 Oliver O'Halloran 2016-09-22 123 * The skipped bytes needs to be included in the size of data we want
1b7898ee276b39 Oliver O'Halloran 2016-09-22 124 * to decompress.
1b7898ee276b39 Oliver O'Halloran 2016-09-22 125 */
1b7898ee276b39 Oliver O'Halloran 2016-09-22 126 output_size += _skip;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 127
1b7898ee276b39 Oliver O'Halloran 2016-09-22 128 decompressed_bytes = 0;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 129 output_buffer = outbuf;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 130 limit = output_size;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 131 skip = _skip;
1b7898ee276b39 Oliver O'Halloran 2016-09-22 132
1b7898ee276b39 Oliver O'Halloran 2016-09-22 @133 ret = __decompress(inbuf, input_size, NULL, flush, outbuf,
:::::: The code at line 133 was first introduced by commit
:::::: 1b7898ee276b39e54d870dc4ef3374f663d0b426 powerpc/boot: Use the pre-boot decompression API
:::::: TO: Oliver O'Halloran <oohall(a)gmail.com>
:::::: CC: Michael Ellerman <mpe(a)ellerman.id.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
ERROR: modpost: "min_low_pfn" undefined!
by kernel test robot
Hi Anshuman,
It's probably a bug fix that unveils the link errors.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8b6ddd10d678bebec32381f71b6b420bafc43ad0
commit: c62da0c35d58518ddb26ff641d2485596567fd96 mm/vma: define a default value for VM_DATA_DEFAULT_FLAGS
date: 2 months ago
config: microblaze-randconfig-r025-20200621 (attached as .config)
compiler: microblaze-linux-gcc (GCC) 9.3.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
git checkout c62da0c35d58518ddb26ff641d2485596567fd96
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=microblaze
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 >>, old ones prefixed by <<):
>> ERROR: modpost: "min_low_pfn" [drivers/mtd/nand/raw/cadence-nand-controller.ko] undefined!
>> ERROR: modpost: "min_low_pfn" [drivers/mtd/nand/raw/nand.ko] undefined!
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/dma/imx-sdma.c:1334:23: warning: comparison of unsigned expression >= 0 is always true
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8b6ddd10d678bebec32381f71b6b420bafc43ad0
commit: 25962e1a7f1d522f1b57ead2f266fab570042a70 dmaengine: imx-sdma: Fix the event id check to include RX event for UART6
date: 4 months ago
config: arm-randconfig-r006-20200621 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.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
git checkout 25962e1a7f1d522f1b57ead2f266fab570042a70
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm
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 >>, old ones prefixed by <<):
drivers/dma/imx-sdma.c: In function 'sdma_free_chan_resources':
>> drivers/dma/imx-sdma.c:1334:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
1334 | if (sdmac->event_id0 >= 0)
| ^~
drivers/dma/imx-sdma.c: In function 'sdma_config':
drivers/dma/imx-sdma.c:1635:23: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
1635 | if (sdmac->event_id0 >= 0) {
| ^~
vim +1334 drivers/dma/imx-sdma.c
1324
1325 static void sdma_free_chan_resources(struct dma_chan *chan)
1326 {
1327 struct sdma_channel *sdmac = to_sdma_chan(chan);
1328 struct sdma_engine *sdma = sdmac->sdma;
1329
1330 sdma_terminate_all(chan);
1331
1332 sdma_channel_synchronize(chan);
1333
> 1334 if (sdmac->event_id0 >= 0)
1335 sdma_event_disable(sdmac, sdmac->event_id0);
1336 if (sdmac->event_id1)
1337 sdma_event_disable(sdmac, sdmac->event_id1);
1338
1339 sdmac->event_id0 = 0;
1340 sdmac->event_id1 = 0;
1341 sdmac->context_loaded = false;
1342
1343 sdma_set_channel_priority(sdmac, 0);
1344
1345 clk_disable(sdma->clk_ipg);
1346 clk_disable(sdma->clk_ahb);
1347 }
1348
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
cc1: error: '-mloongson-mmi' must be used with '-mhard-float'
by kernel test robot
Hi Thomas,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 8b6ddd10d678bebec32381f71b6b420bafc43ad0
commit: 26bff9eb49201aeb4e1b32d698c191831a39f5d4 MIPS: Only include the platform file needed
date: 6 weeks ago
config: mips-randconfig-c023-20200621 (attached as .config)
compiler: mips64el-linux-gcc (GCC) 9.3.0
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 >>):
>> cc1: error: '-mloongson-mmi' must be used with '-mhard-float'
>> cc1: error: '-mloongson-mmi' must be used with '-mhard-float'
make[2]: *** [scripts/Makefile.build:100: kernel/bounds.s] Error 1
make[2]: Target 'missing-syscalls' not remade because of errors.
make[1]: *** [arch/mips/Makefile:398: archprepare] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:180: sub-make] Error 2
make: Target 'prepare' not remade because of errors.
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
Re: [PATCH v7 33/36] rapidio: fix common struct sg_table related issues
by kernel test robot
Hi Marek,
I love your patch! Perhaps something to improve:
[auto build test WARNING on next-20200618]
[also build test WARNING on v5.8-rc1]
[cannot apply to linuxtv-media/master staging/staging-testing drm-exynos/exynos-drm-next drm-intel/for-linux-next linus/master v5.8-rc1 v5.7 v5.7-rc7]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Marek-Szyprowski/DRM-fix-struct-...
base: ce2cc8efd7a40cbd17841add878cb691d0ce0bba
config: x86_64-randconfig-r005-20200621 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project ef455a55bcf2cfea04a99c361b182ad18b7f03f1)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
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 >>, old ones prefixed by <<):
>> drivers/rapidio/devices/rio_mport_cdev.c:939:40: warning: variable 'nents' is uninitialized when used here [-Wuninitialized]
ret = do_dma_request(req, xfer, sync, nents);
^~~~~
drivers/rapidio/devices/rio_mport_cdev.c:816:11: note: initialize the variable 'nents' to silence this warning
int nents;
^
= 0
1 warning generated.
vim +/nents +939 drivers/rapidio/devices/rio_mport_cdev.c
e8de370188d098 Alexandre Bounine 2016-03-22 793
e8de370188d098 Alexandre Bounine 2016-03-22 794 /*
e8de370188d098 Alexandre Bounine 2016-03-22 795 * rio_dma_transfer() - Perform RapidIO DMA data transfer to/from
e8de370188d098 Alexandre Bounine 2016-03-22 796 * the remote RapidIO device
e8de370188d098 Alexandre Bounine 2016-03-22 797 * @filp: file pointer associated with the call
e8de370188d098 Alexandre Bounine 2016-03-22 798 * @transfer_mode: DMA transfer mode
e8de370188d098 Alexandre Bounine 2016-03-22 799 * @sync: synchronization mode
e8de370188d098 Alexandre Bounine 2016-03-22 800 * @dir: DMA transfer direction (DMA_MEM_TO_DEV = write OR
e8de370188d098 Alexandre Bounine 2016-03-22 801 * DMA_DEV_TO_MEM = read)
e8de370188d098 Alexandre Bounine 2016-03-22 802 * @xfer: data transfer descriptor structure
e8de370188d098 Alexandre Bounine 2016-03-22 803 */
e8de370188d098 Alexandre Bounine 2016-03-22 804 static int
4e1016dac1ccce Alexandre Bounine 2016-05-05 805 rio_dma_transfer(struct file *filp, u32 transfer_mode,
e8de370188d098 Alexandre Bounine 2016-03-22 806 enum rio_transfer_sync sync, enum dma_data_direction dir,
e8de370188d098 Alexandre Bounine 2016-03-22 807 struct rio_transfer_io *xfer)
e8de370188d098 Alexandre Bounine 2016-03-22 808 {
e8de370188d098 Alexandre Bounine 2016-03-22 809 struct mport_cdev_priv *priv = filp->private_data;
e8de370188d098 Alexandre Bounine 2016-03-22 810 unsigned long nr_pages = 0;
e8de370188d098 Alexandre Bounine 2016-03-22 811 struct page **page_list = NULL;
e8de370188d098 Alexandre Bounine 2016-03-22 812 struct mport_dma_req *req;
e8de370188d098 Alexandre Bounine 2016-03-22 813 struct mport_dev *md = priv->md;
e8de370188d098 Alexandre Bounine 2016-03-22 814 struct dma_chan *chan;
67446283d89467 John Hubbard 2020-06-04 815 int ret;
e8de370188d098 Alexandre Bounine 2016-03-22 816 int nents;
e8de370188d098 Alexandre Bounine 2016-03-22 817
e8de370188d098 Alexandre Bounine 2016-03-22 818 if (xfer->length == 0)
e8de370188d098 Alexandre Bounine 2016-03-22 819 return -EINVAL;
e8de370188d098 Alexandre Bounine 2016-03-22 820 req = kzalloc(sizeof(*req), GFP_KERNEL);
e8de370188d098 Alexandre Bounine 2016-03-22 821 if (!req)
e8de370188d098 Alexandre Bounine 2016-03-22 822 return -ENOMEM;
e8de370188d098 Alexandre Bounine 2016-03-22 823
e8de370188d098 Alexandre Bounine 2016-03-22 824 ret = get_dma_channel(priv);
e8de370188d098 Alexandre Bounine 2016-03-22 825 if (ret) {
e8de370188d098 Alexandre Bounine 2016-03-22 826 kfree(req);
e8de370188d098 Alexandre Bounine 2016-03-22 827 return ret;
e8de370188d098 Alexandre Bounine 2016-03-22 828 }
c5157b76869ba9 Ioan Nicu 2018-04-20 829 chan = priv->dmach;
c5157b76869ba9 Ioan Nicu 2018-04-20 830
c5157b76869ba9 Ioan Nicu 2018-04-20 831 kref_init(&req->refcount);
c5157b76869ba9 Ioan Nicu 2018-04-20 832 init_completion(&req->req_comp);
c5157b76869ba9 Ioan Nicu 2018-04-20 833 req->dir = dir;
c5157b76869ba9 Ioan Nicu 2018-04-20 834 req->filp = filp;
c5157b76869ba9 Ioan Nicu 2018-04-20 835 req->priv = priv;
c5157b76869ba9 Ioan Nicu 2018-04-20 836 req->dmach = chan;
c5157b76869ba9 Ioan Nicu 2018-04-20 837 req->sync = sync;
e8de370188d098 Alexandre Bounine 2016-03-22 838
e8de370188d098 Alexandre Bounine 2016-03-22 839 /*
e8de370188d098 Alexandre Bounine 2016-03-22 840 * If parameter loc_addr != NULL, we are transferring data from/to
e8de370188d098 Alexandre Bounine 2016-03-22 841 * data buffer allocated in user-space: lock in memory user-space
e8de370188d098 Alexandre Bounine 2016-03-22 842 * buffer pages and build an SG table for DMA transfer request
e8de370188d098 Alexandre Bounine 2016-03-22 843 *
e8de370188d098 Alexandre Bounine 2016-03-22 844 * Otherwise (loc_addr == NULL) contiguous kernel-space buffer is
e8de370188d098 Alexandre Bounine 2016-03-22 845 * used for DMA data transfers: build single entry SG table using
e8de370188d098 Alexandre Bounine 2016-03-22 846 * offset within the internal buffer specified by handle parameter.
e8de370188d098 Alexandre Bounine 2016-03-22 847 */
e8de370188d098 Alexandre Bounine 2016-03-22 848 if (xfer->loc_addr) {
c4860ad6056483 Tvrtko Ursulin 2017-07-31 849 unsigned int offset;
e8de370188d098 Alexandre Bounine 2016-03-22 850 long pinned;
e8de370188d098 Alexandre Bounine 2016-03-22 851
c4860ad6056483 Tvrtko Ursulin 2017-07-31 852 offset = lower_32_bits(offset_in_page(xfer->loc_addr));
e8de370188d098 Alexandre Bounine 2016-03-22 853 nr_pages = PAGE_ALIGN(xfer->length + offset) >> PAGE_SHIFT;
e8de370188d098 Alexandre Bounine 2016-03-22 854
e8de370188d098 Alexandre Bounine 2016-03-22 855 page_list = kmalloc_array(nr_pages,
e8de370188d098 Alexandre Bounine 2016-03-22 856 sizeof(*page_list), GFP_KERNEL);
e8de370188d098 Alexandre Bounine 2016-03-22 857 if (page_list == NULL) {
e8de370188d098 Alexandre Bounine 2016-03-22 858 ret = -ENOMEM;
e8de370188d098 Alexandre Bounine 2016-03-22 859 goto err_req;
e8de370188d098 Alexandre Bounine 2016-03-22 860 }
e8de370188d098 Alexandre Bounine 2016-03-22 861
67446283d89467 John Hubbard 2020-06-04 862 pinned = pin_user_pages_fast(
e8de370188d098 Alexandre Bounine 2016-03-22 863 (unsigned long)xfer->loc_addr & PAGE_MASK,
73b0140bf0fe9d Ira Weiny 2019-05-13 864 nr_pages,
73b0140bf0fe9d Ira Weiny 2019-05-13 865 dir == DMA_FROM_DEVICE ? FOLL_WRITE : 0,
73b0140bf0fe9d Ira Weiny 2019-05-13 866 page_list);
e8de370188d098 Alexandre Bounine 2016-03-22 867
e8de370188d098 Alexandre Bounine 2016-03-22 868 if (pinned != nr_pages) {
e8de370188d098 Alexandre Bounine 2016-03-22 869 if (pinned < 0) {
67446283d89467 John Hubbard 2020-06-04 870 rmcd_error("pin_user_pages_fast err=%ld",
369f2679f7e739 Lorenzo Stoakes 2017-02-27 871 pinned);
e8de370188d098 Alexandre Bounine 2016-03-22 872 nr_pages = 0;
e8de370188d098 Alexandre Bounine 2016-03-22 873 } else
e8de370188d098 Alexandre Bounine 2016-03-22 874 rmcd_error("pinned %ld out of %ld pages",
e8de370188d098 Alexandre Bounine 2016-03-22 875 pinned, nr_pages);
e8de370188d098 Alexandre Bounine 2016-03-22 876 ret = -EFAULT;
ffca476a0a8d26 John Hubbard 2020-05-22 877 /*
ffca476a0a8d26 John Hubbard 2020-05-22 878 * Set nr_pages up to mean "how many pages to unpin, in
ffca476a0a8d26 John Hubbard 2020-05-22 879 * the error handler:
ffca476a0a8d26 John Hubbard 2020-05-22 880 */
ffca476a0a8d26 John Hubbard 2020-05-22 881 nr_pages = pinned;
e8de370188d098 Alexandre Bounine 2016-03-22 882 goto err_pg;
e8de370188d098 Alexandre Bounine 2016-03-22 883 }
e8de370188d098 Alexandre Bounine 2016-03-22 884
e8de370188d098 Alexandre Bounine 2016-03-22 885 ret = sg_alloc_table_from_pages(&req->sgt, page_list, nr_pages,
e8de370188d098 Alexandre Bounine 2016-03-22 886 offset, xfer->length, GFP_KERNEL);
e8de370188d098 Alexandre Bounine 2016-03-22 887 if (ret) {
e8de370188d098 Alexandre Bounine 2016-03-22 888 rmcd_error("sg_alloc_table failed with err=%d", ret);
e8de370188d098 Alexandre Bounine 2016-03-22 889 goto err_pg;
e8de370188d098 Alexandre Bounine 2016-03-22 890 }
e8de370188d098 Alexandre Bounine 2016-03-22 891
e8de370188d098 Alexandre Bounine 2016-03-22 892 req->page_list = page_list;
e8de370188d098 Alexandre Bounine 2016-03-22 893 req->nr_pages = nr_pages;
e8de370188d098 Alexandre Bounine 2016-03-22 894 } else {
e8de370188d098 Alexandre Bounine 2016-03-22 895 dma_addr_t baddr;
e8de370188d098 Alexandre Bounine 2016-03-22 896 struct rio_mport_mapping *map;
e8de370188d098 Alexandre Bounine 2016-03-22 897
e8de370188d098 Alexandre Bounine 2016-03-22 898 baddr = (dma_addr_t)xfer->handle;
e8de370188d098 Alexandre Bounine 2016-03-22 899
e8de370188d098 Alexandre Bounine 2016-03-22 900 mutex_lock(&md->buf_mutex);
e8de370188d098 Alexandre Bounine 2016-03-22 901 list_for_each_entry(map, &md->mappings, node) {
e8de370188d098 Alexandre Bounine 2016-03-22 902 if (baddr >= map->phys_addr &&
e8de370188d098 Alexandre Bounine 2016-03-22 903 baddr < (map->phys_addr + map->size)) {
e8de370188d098 Alexandre Bounine 2016-03-22 904 kref_get(&map->ref);
e8de370188d098 Alexandre Bounine 2016-03-22 905 req->map = map;
e8de370188d098 Alexandre Bounine 2016-03-22 906 break;
e8de370188d098 Alexandre Bounine 2016-03-22 907 }
e8de370188d098 Alexandre Bounine 2016-03-22 908 }
e8de370188d098 Alexandre Bounine 2016-03-22 909 mutex_unlock(&md->buf_mutex);
e8de370188d098 Alexandre Bounine 2016-03-22 910
e8de370188d098 Alexandre Bounine 2016-03-22 911 if (req->map == NULL) {
e8de370188d098 Alexandre Bounine 2016-03-22 912 ret = -ENOMEM;
e8de370188d098 Alexandre Bounine 2016-03-22 913 goto err_req;
e8de370188d098 Alexandre Bounine 2016-03-22 914 }
e8de370188d098 Alexandre Bounine 2016-03-22 915
e8de370188d098 Alexandre Bounine 2016-03-22 916 if (xfer->length + xfer->offset > map->size) {
e8de370188d098 Alexandre Bounine 2016-03-22 917 ret = -EINVAL;
e8de370188d098 Alexandre Bounine 2016-03-22 918 goto err_req;
e8de370188d098 Alexandre Bounine 2016-03-22 919 }
e8de370188d098 Alexandre Bounine 2016-03-22 920
e8de370188d098 Alexandre Bounine 2016-03-22 921 ret = sg_alloc_table(&req->sgt, 1, GFP_KERNEL);
e8de370188d098 Alexandre Bounine 2016-03-22 922 if (unlikely(ret)) {
e8de370188d098 Alexandre Bounine 2016-03-22 923 rmcd_error("sg_alloc_table failed for internal buf");
e8de370188d098 Alexandre Bounine 2016-03-22 924 goto err_req;
e8de370188d098 Alexandre Bounine 2016-03-22 925 }
e8de370188d098 Alexandre Bounine 2016-03-22 926
e8de370188d098 Alexandre Bounine 2016-03-22 927 sg_set_buf(req->sgt.sgl,
e8de370188d098 Alexandre Bounine 2016-03-22 928 map->virt_addr + (baddr - map->phys_addr) +
e8de370188d098 Alexandre Bounine 2016-03-22 929 xfer->offset, xfer->length);
e8de370188d098 Alexandre Bounine 2016-03-22 930 }
e8de370188d098 Alexandre Bounine 2016-03-22 931
c99597eab54307 Marek Szyprowski 2020-06-19 932 ret = dma_map_sgtable(chan->device->dev, &req->sgt, dir, 0);
c99597eab54307 Marek Szyprowski 2020-06-19 933 if (ret) {
e8de370188d098 Alexandre Bounine 2016-03-22 934 rmcd_error("Failed to map SG list");
b1402dcb5643b7 Christophe JAILLET 2017-11-17 935 ret = -EFAULT;
b1402dcb5643b7 Christophe JAILLET 2017-11-17 936 goto err_pg;
e8de370188d098 Alexandre Bounine 2016-03-22 937 }
e8de370188d098 Alexandre Bounine 2016-03-22 938
e8de370188d098 Alexandre Bounine 2016-03-22 @939 ret = do_dma_request(req, xfer, sync, nents);
e8de370188d098 Alexandre Bounine 2016-03-22 940
e8de370188d098 Alexandre Bounine 2016-03-22 941 if (ret >= 0) {
bbd876adb8c729 Ioan Nicu 2018-04-10 942 if (sync == RIO_TRANSFER_ASYNC)
e8de370188d098 Alexandre Bounine 2016-03-22 943 return ret; /* return ASYNC cookie */
bbd876adb8c729 Ioan Nicu 2018-04-10 944 } else {
bbd876adb8c729 Ioan Nicu 2018-04-10 945 rmcd_debug(DMA, "do_dma_request failed with err=%d", ret);
e8de370188d098 Alexandre Bounine 2016-03-22 946 }
e8de370188d098 Alexandre Bounine 2016-03-22 947
e8de370188d098 Alexandre Bounine 2016-03-22 948 err_pg:
bbd876adb8c729 Ioan Nicu 2018-04-10 949 if (!req->page_list) {
67446283d89467 John Hubbard 2020-06-04 950 unpin_user_pages(page_list, nr_pages);
e8de370188d098 Alexandre Bounine 2016-03-22 951 kfree(page_list);
e8de370188d098 Alexandre Bounine 2016-03-22 952 }
e8de370188d098 Alexandre Bounine 2016-03-22 953 err_req:
bbd876adb8c729 Ioan Nicu 2018-04-10 954 kref_put(&req->refcount, dma_req_free);
e8de370188d098 Alexandre Bounine 2016-03-22 955 return ret;
e8de370188d098 Alexandre Bounine 2016-03-22 956 }
e8de370188d098 Alexandre Bounine 2016-03-22 957
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
[RFC PATCH] hwmon: ccp_disconnect() can be static
by kernel test robot
Signed-off-by: kernel test robot <lkp(a)intel.com>
---
corsair-cpro.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/hwmon/corsair-cpro.c b/drivers/hwmon/corsair-cpro.c
index c4852829f90f2..fc6449d16fa38 100644
--- a/drivers/hwmon/corsair-cpro.c
+++ b/drivers/hwmon/corsair-cpro.c
@@ -474,7 +474,7 @@ static int ccp_probe(struct usb_interface *intf, const struct usb_device_id *id)
return PTR_ERR_OR_ZERO(hwmon_dev);
}
-void ccp_disconnect(struct usb_interface *intf)
+static void ccp_disconnect(struct usb_interface *intf)
{
}
2 years, 3 months
drivers/gpu/drm/drm_gem_shmem_helper.c:540:22: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
by kernel test robot
Hi Gerd,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162
commit: 0be895893607fb3447478d6e33dfb60644195a09 drm/shmem: switch shmem helper to &drm_gem_object_funcs.mmap
date: 8 months ago
config: m68k-randconfig-r006-20200621 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.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
git checkout 0be895893607fb3447478d6e33dfb60644195a09
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k
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/gpu/drm/drm_gem_shmem_helper.c: In function 'drm_gem_shmem_vmap_locked':
drivers/gpu/drm/drm_gem_shmem_helper.c:261:17: error: implicit declaration of function 'pgprot_writecombine' [-Werror=implicit-function-declaration]
261 | VM_MAP, pgprot_writecombine(PAGE_KERNEL));
| ^~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/drm_gem_shmem_helper.c:261:17: error: incompatible type for argument 4 of 'vmap'
261 | VM_MAP, pgprot_writecombine(PAGE_KERNEL));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from include/asm-generic/io.h:887,
from arch/m68k/include/asm/io.h:11,
from arch/m68k/include/asm/pgtable_no.h:14,
from arch/m68k/include/asm/pgtable.h:3,
from include/linux/mm.h:99,
from include/linux/scatterlist.h:8,
from include/linux/dma-buf.h:18,
from drivers/gpu/drm/drm_gem_shmem_helper.c:6:
include/linux/vmalloc.h:119:14: note: expected 'pgprot_t' {aka 'struct <anonymous>'} but argument is of type 'int'
119 | extern void *vmap(struct page **pages, unsigned int count,
| ^~~~
drivers/gpu/drm/drm_gem_shmem_helper.c: In function 'drm_gem_shmem_mmap':
>> drivers/gpu/drm/drm_gem_shmem_helper.c:540:22: error: incompatible types when assigning to type 'pgprot_t' {aka 'struct <anonymous>'} from type 'int'
540 | vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
| ^~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +540 drivers/gpu/drm/drm_gem_shmem_helper.c
513
514 /**
515 * drm_gem_shmem_mmap - Memory-map a shmem GEM object
516 * @obj: gem object
517 * @vma: VMA for the area to be mapped
518 *
519 * This function implements an augmented version of the GEM DRM file mmap
520 * operation for shmem objects. Drivers which employ the shmem helpers should
521 * use this function as their &drm_gem_object_funcs.mmap handler.
522 *
523 * Returns:
524 * 0 on success or a negative error code on failure.
525 */
526 int drm_gem_shmem_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma)
527 {
528 struct drm_gem_shmem_object *shmem;
529 int ret;
530
531 shmem = to_drm_gem_shmem_obj(obj);
532
533 ret = drm_gem_shmem_get_pages(shmem);
534 if (ret) {
535 drm_gem_vm_close(vma);
536 return ret;
537 }
538
539 vma->vm_flags |= VM_IO | VM_MIXEDMAP | VM_DONTEXPAND | VM_DONTDUMP;
> 540 vma->vm_page_prot = pgprot_writecombine(vm_get_page_prot(vma->vm_flags));
541 vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
542 vma->vm_ops = &drm_gem_shmem_vm_ops;
543
544 /* Remove the fake offset */
545 vma->vm_pgoff -= drm_vma_node_start(&shmem->base.vma_node);
546
547 return 0;
548 }
549 EXPORT_SYMBOL_GPL(drm_gem_shmem_mmap);
550
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months
drivers/usb/gadget/udc/bcm63xx_udc.c:2251:46: error: use of undeclared identifier 'usb_debug_root'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 4333a9b0b67bb4e8bcd91bdd80da80b0ec151162
commit: a66ada4f241c9a5a0bbabc5af511ea5dd4c2cbb8 usb: gadget: bcm63xx_udc: create debugfs directory under usb root
date: 7 months ago
config: mips-randconfig-r015-20200621 (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project f5bbe390d23d7da0ffb110cdb24b583c2dc87eba)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
git checkout a66ada4f241c9a5a0bbabc5af511ea5dd4c2cbb8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
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/gadget/udc/bcm63xx_udc.c:2251:46: error: use of undeclared identifier 'usb_debug_root'
root = debugfs_create_dir(udc->gadget.name, usb_debug_root);
^
1 error generated.
vim +/usb_debug_root +2251 drivers/usb/gadget/udc/bcm63xx_udc.c
2239
2240 /**
2241 * bcm63xx_udc_init_debugfs - Create debugfs entries.
2242 * @udc: Reference to the device controller.
2243 */
2244 static void bcm63xx_udc_init_debugfs(struct bcm63xx_udc *udc)
2245 {
2246 struct dentry *root;
2247
2248 if (!IS_ENABLED(CONFIG_USB_GADGET_DEBUG_FS))
2249 return;
2250
> 2251 root = debugfs_create_dir(udc->gadget.name, usb_debug_root);
2252 udc->debugfs_root = root;
2253
2254 debugfs_create_file("usbd", 0400, root, udc, &bcm63xx_usbd_dbg_fops);
2255 debugfs_create_file("iudma", 0400, root, udc, &bcm63xx_iudma_dbg_fops);
2256 }
2257
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 3 months