Hi,
On 10/09/2020 13.46, kernel test robot wrote:
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 7ce53e3a447bced7b85ed181c4d027e93c062e07
commit: 7547dbd3b198f309aaff54e3528898a8a196faff [4238/6654] dmaengine: Mark
dma_request_slave_channel() deprecated
config: arm64-randconfig-r025-20200909 (attached as .config)
compiler: clang version 12.0.0 (
https://github.com/llvm/llvm-project
0a5dc7effb191eff740e0e7ae7bd8e1f6bdb3ad9)
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 arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git checkout 7547dbd3b198f309aaff54e3528898a8a196faff
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
I'm not sure what is wrong, but can not reproduce it with GCC.
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 >>):
aarch64-linux-gnu-ld: warning: -z norelro ignored
aarch64-linux-gnu-ld: fs/orangefs/orangefs-debugfs.o: in function
`orangefs_debug_read':
fs/orangefs/orangefs-debugfs.c:375: undefined reference to `stpcpy'
Is this also caused by the blaimed patch?
aarch64-linux-gnu-ld: security/apparmor/lsm.o: in function
`param_get_mode':
security/apparmor/lsm.c:1559: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: security/apparmor/lsm.o: in function `param_get_audit':
security/apparmor/lsm.c:1530: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o: in function `tty_line_name':
drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.c:1139: undefined reference to `stpcpy'
aarch64-linux-gnu-ld: drivers/tty/tty_io.o:drivers/tty/tty_io.c:1139: more undefined
references to `stpcpy' follow
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function
`lpuart_remove':
drivers/tty/serial/fsl_lpuart.c:2663: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:2666: undefined reference to
`dma_release_channel'
#ifdef CONFIG_DMA_ENGINE
struct dma_chan *dma_request_chan(struct device *dev, const char *name);
#else
static inline struct dma_chan *dma_request_chan(struct device *dev,
const char *name)
{
return ERR_PTR(-ENODEV);
}
#endif
static inline struct dma_chan * __deprecated
dma_request_slave_channel(struct device *dev, const char *name)
{
struct dma_chan *ch = dma_request_chan(dev, name);
return IS_ERR(ch) ? NULL : ch;
}
And in the included config we have:
# CONFIG_DMADEVICES is not set
CONFIG_DMA_ENGINE=y
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function
`lpuart_request_dma':
drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to
`dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function
`lpuart_dma_shutdown':
drivers/tty/serial/fsl_lpuart.c:1690: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1692: undefined reference to
`dma_release_channel'
My patch cerainly not touching the dma_release_channel related functions...
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.o: in function
`lpuart_request_dma':
drivers/tty/serial/fsl_lpuart.c:1513: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/tty/serial/fsl_lpuart.c:1521: undefined reference to
`dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`dma_request_slave_channel':
>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`dma_request_slave_channel_compat':
>> include/linux/dmaengine.h:1595: undefined reference to
`__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`dma_request_slave_channel':
>> include/linux/dmaengine.h:1576: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`dma_request_slave_channel_compat':
>> include/linux/dmaengine.h:1595: undefined reference to
`__dma_request_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`pxa2xx_spi_dma_setup':
drivers/spi/spi-pxa2xx-dma.c:209: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.o: in function
`pxa2xx_spi_dma_release':
drivers/spi/spi-pxa2xx-dma.c:223: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-pxa2xx-dma.c:228: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function
`rockchip_spi_probe':
drivers/spi/spi-rockchip.c:748: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:759: undefined reference to
`dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:788: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:785: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.o: in function
`rockchip_spi_remove':
drivers/spi/spi-rockchip.c:816: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-rockchip.c:818: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o:drivers/spi/spi-sprd.c:583: more
undefined references to `dma_release_channel' follow
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_request':
drivers/spi/spi-sprd.c:555: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:564: undefined reference to
`dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:570: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.o: in function `sprd_spi_dma_release':
drivers/spi/spi-sprd.c:580: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-sprd.c:583: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function
`uniphier_spi_probe':
drivers/spi/spi-uniphier.c:716: undefined reference to `dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:725: undefined reference to
`dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:734: undefined reference to
`dma_request_chan'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:743: undefined reference to
`dma_get_slave_caps'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.o: in function
`uniphier_spi_remove':
drivers/spi/spi-uniphier.c:773: undefined reference to `dma_release_channel'
aarch64-linux-gnu-ld: drivers/spi/spi-uniphier.c:775: undefined reference to
`dma_release_channel'
aarch64-linux-gnu-ld: drivers/usb/class/usblp.o: in function `ieee1284_id_show':
drivers/usb/class/usblp.c:1084: undefined reference to `stpcpy'
#
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commi...
git remote add linux-next
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch --no-tags linux-next master
git checkout 7547dbd3b198f309aaff54e3528898a8a196faff
vim +1576 include/linux/dmaengine.h
1560
1561 int dma_async_device_register(struct dma_device *device);
1562 int dmaenginem_async_device_register(struct dma_device *device);
1563 void dma_async_device_unregister(struct dma_device *device);
1564 int dma_async_device_channel_register(struct dma_device *device,
1565 struct dma_chan *chan);
1566 void dma_async_device_channel_unregister(struct dma_device *device,
1567 struct dma_chan *chan);
1568 void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
1569 #define dma_request_channel(mask, x, y) \
1570 __dma_request_channel(&(mask), x, y, NULL)
1571
1572 /* Deprecated, please use dma_request_chan() directly */
1573 static inline struct dma_chan * __deprecated
1574 dma_request_slave_channel(struct device *dev, const char *name)
1575 {
> 1576 struct dma_chan *ch = dma_request_chan(dev, name);
1577
1578 return IS_ERR(ch) ? NULL : ch;
1579 }
1580
1581 static inline struct dma_chan
1582 *dma_request_slave_channel_compat(const dma_cap_mask_t mask,
1583 dma_filter_fn fn, void *fn_param,
1584 struct device *dev, const char *name)
1585 {
1586 struct dma_chan *chan;
1587
1588 chan = dma_request_slave_channel(dev, name);
1589 if (chan)
1590 return chan;
1591
1592 if (!fn || !fn_param)
1593 return NULL;
1594
> 1595 return __dma_request_channel(&mask, fn, fn_param, NULL);
1596 }
1597
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
- Péter
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki