Hi Jim, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on next-20200613] [cannot apply to jeyu/modules-next linux/master v5.7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Jim-Cromie/dynamic_debug-cleanups-query-features-WIP-print-classes/20200614-000302 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git df2fbf5bfa0e7fff8b4784507e4d68f200454318 config: arc-allyesconfig (attached as .config) compiler: arc-elf-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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arc If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>, old ones prefixed by <<): drivers/dma/iop-adma.c: In function 'iop_adma_alloc_chan_resources': drivers/dma/iop-adma.c:448:13: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 448 | hw_desc = (char *) iop_chan->device->dma_desc_pool; | ^ drivers/dma/iop-adma.c:450:4: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast] 450 | (dma_addr_t) &hw_desc[idx * IOP_ADMA_SLOT_SIZE]; | ^ In file included from include/linux/printk.h:404, from include/linux/kernel.h:15, from include/linux/list.h:9, from include/linux/module.h:12, from drivers/dma/iop-adma.c:13: drivers/dma/iop-adma.c: In function 'iop_adma_probe': drivers/dma/iop-adma.c:1302:3: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 1302 | (void *) adev->dma_desc_pool); | ^ include/linux/dynamic_debug.h:130:15: note: in definition of macro '__dynamic_func_call_cl' 130 | func(&id, ##__VA_ARGS__); | ^~~~~~~~~~~ >> include/linux/dynamic_debug.h:170:2: note: in expansion of macro '_dynamic_func_call_cl' 170 | _dynamic_func_call_cl(cl, fmt, __dynamic_dev_dbg, | ^~~~~~~~~~~~~~~~~~~~~ >> include/linux/dynamic_debug.h:184:2: note: in expansion of macro 'dynamic_dev_dbg_cl' 184 | dynamic_dev_dbg_cl(0, ##__VA_ARGS__) | ^~~~~~~~~~~~~~~~~~ include/linux/dev_printk.h:115:2: note: in expansion of macro 'dynamic_dev_dbg' 115 | dynamic_dev_dbg(dev, dev_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~~~~~~ drivers/dma/iop-adma.c:1300:2: note: in expansion of macro 'dev_dbg' 1300 | dev_dbg(&pdev->dev, "%s: allocated descriptor pool virt %p phys %pn", | ^~~~~~~ vim +/_dynamic_func_call_cl +170 include/linux/dynamic_debug.h 126 127 #define __dynamic_func_call_cl(cl, id, fmt, func, ...) do { \ 128 DEFINE_DYNAMIC_DEBUG_METADATA_CL(cl, id, fmt); \ 129 if (DYNAMIC_DEBUG_BRANCH(id)) \ 130 func(&id, ##__VA_ARGS__); \ 131 } while (0) 132 #define __dynamic_func_call(id, fmt, func, ...) \ 133 __dynamic_func_call_cl(0, id, fmt, func, ...) 134 135 #define __dynamic_func_call_no_desc_cl(cl, id, fmt, func, ...) do { \ 136 DEFINE_DYNAMIC_DEBUG_METADATA_CL(cl, id, fmt); \ 137 if (DYNAMIC_DEBUG_BRANCH(id)) \ 138 func(__VA_ARGS__); \ 139 } while (0) 140 #define __dynamic_func_call_no_desc(cl, id, fmt, func, ...) \ 141 __dynamic_func_call_no_desc_cl(0, cl, id, fmt, func, ##__VA_ARGS__) 142 143 /* 144 * "Factory macro" for generating a call to func, guarded by a 145 * DYNAMIC_DEBUG_BRANCH. The dynamic debug descriptor will be 146 * initialized using the fmt argument. The function will be called with 147 * the address of the descriptor as first argument, followed by all 148 * the varargs. Note that fmt is repeated in invocations of this 149 * macro. 150 */ 151 #define _dynamic_func_call_cl(cl, fmt, func, ...) \ 152 __dynamic_func_call_cl(cl, __UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__) 153 #define _dynamic_func_call(fmt, func, ...) \ 154 _dynamic_func_call_cl(0, fmt, func, ##__VA_ARGS__) 155 /* 156 * A variant that does the same, except that the descriptor is not 157 * passed as the first argument to the function; it is only called 158 * with precisely the macro's varargs. 159 */ 160 #define _dynamic_func_call_no_desc_cl(cl, fmt, func, ...) \ 161 __dynamic_func_call_no_desc_cl(cl, __UNIQUE_ID(ddebug), fmt, func, ##__VA_ARGS__) 162 #define _dynamic_func_call_no_desc(fmt, func, ...) \ 163 _dynamic_func_call_no_desc_cl(0, fmt, func, ##__VA_ARGS__) 164 165 #define dynamic_pr_debug_cl(cl, fmt, ...) \ 166 _dynamic_func_call_cl(cl, fmt, __dynamic_pr_debug, \ 167 pr_fmt(fmt), ##__VA_ARGS__) 168 169 #define dynamic_dev_dbg_cl(cl, dev, fmt, ...) \ > 170 _dynamic_func_call_cl(cl, fmt, __dynamic_dev_dbg, \ 171 dev, fmt, ##__VA_ARGS__) 172 173 #define dynamic_netdev_dbg_cl(cl, dev, fmt, ...) \ 174 _dynamic_func_call_cl(cl, fmt, __dynamic_netdev_dbg, \ 175 dev, fmt, ##__VA_ARGS__) 176 177 #define dynamic_ibdev_dbg_cl(cl, dev, fmt, ...) \ 178 _dynamic_func_call_cl(cl, fmt, __dynamic_ibdev_dbg, \ 179 dev, fmt, ##__VA_ARGS__) 180 181 #define dynamic_pr_debug(...) \ 182 dynamic_pr_debug_cl(0, ##__VA_ARGS__) 183 #define dynamic_dev_dbg(...) \ > 184 dynamic_dev_dbg_cl(0, ##__VA_ARGS__) 185 #define dynamic_netdev_dbg(...) \ 186 dynamic_netdev_dbg_cl(0, ##__VA_ARGS__) 187 #define dynamic_ibdev_dbg(...) \ 188 dynamic_ibdev_dbg_cl(0, ##__VA_ARGS__) 189 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org