Hi Sanjay, I love your patch! Perhaps something to improve: [auto build test WARNING on vkoul-dmaengine/next] [also build test WARNING on linus/master sparc-next/master v5.14-rc3 next-20210730] [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/Sanjay-R-Mehta/Add-support-for-AMD-PTDMA-controller-driver/20210802-183459 base: https://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine.git next config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/7d906443ab57733e8fe130a3dfe116d8d254dd19 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Sanjay-R-Mehta/Add-support-for-AMD-PTDMA-controller-driver/20210802-183459 git checkout 7d906443ab57733e8fe130a3dfe116d8d254dd19 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All warnings (new ones prefixed by >>): drivers/dma/ptdma/ptdma-dev.c: In function 'pt_core_irq_handler': >> drivers/dma/ptdma/ptdma-dev.c:151:7: warning: variable 'err' set but not used [-Wunused-but-set-variable] 151 | bool err = true; | ^~~ drivers/dma/ptdma/ptdma-dev.c: In function 'pt_core_init': drivers/dma/ptdma/ptdma-dev.c:252:8: error: implicit declaration of function 'pt_dmaengine_register' [-Werror=implicit-function-declaration] 252 | ret = pt_dmaengine_register(pt); | ^~~~~~~~~~~~~~~~~~~~~ drivers/dma/ptdma/ptdma-dev.c: In function 'pt_core_destroy': drivers/dma/ptdma/ptdma-dev.c:278:2: error: implicit declaration of function 'pt_dmaengine_unregister' [-Werror=implicit-function-declaration] 278 | pt_dmaengine_unregister(pt); | ^~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/err +151 drivers/dma/ptdma/ptdma-dev.c 145 146 static irqreturn_t pt_core_irq_handler(int irq, void *data) 147 { 148 struct pt_device *pt = data; 149 struct pt_cmd_queue *cmd_q = &pt->cmd_q; 150 u32 status; > 151 bool err = true; 152 153 pt_core_disable_queue_interrupts(pt); 154 status = ioread32(cmd_q->reg_control + 0x0010); 155 if (status) { 156 cmd_q->int_status = status; 157 cmd_q->q_status = ioread32(cmd_q->reg_control + 0x0100); 158 cmd_q->q_int_status = ioread32(cmd_q->reg_control + 0x0104); 159 160 /* On error, only save the first error value */ 161 if ((status & INT_ERROR) && !cmd_q->cmd_error) { 162 cmd_q->cmd_error = CMD_Q_ERROR(cmd_q->q_status); 163 err = false; 164 } 165 166 /* Acknowledge the interrupt */ 167 iowrite32(status, cmd_q->reg_control + 0x0010); 168 pt_core_enable_queue_interrupts(pt); 169 pt_do_cmd_complete((ulong)&pt->tdata); 170 } 171 return IRQ_HANDLED; 172 } 173 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org