Hi Yuntao, kernel test robot noticed the following build warnings: [auto build test WARNING on robh/for-next] [also build test WARNING on linus/master v6.10-rc4 next-20240620] [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#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yuntao-Dai/dt-bindings-mailbox-add-Sophgo-cv18x-SoCs-mailbox/20240618-232307 base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next patch link: https://lore.kernel.org/r/SYBP282MB2238F93AB57A398E322644C3C4CE2%40SYBP282MB2238.AUSP282.PROD.OUTLOOK.COM patch subject: [PATCH 3/3] mailbox: sophgo: add mailbox driver for cv18x SoCs config: powerpc-randconfig-r121-20240621 (https://download.01.org/0day-ci/archive/20240621/202406210836.gWHxzdUE-lkp@xxxxxxxxx/config) compiler: powerpc-linux-gcc (GCC) 13.2.0 reproduce: (https://download.01.org/0day-ci/archive/20240621/202406210836.gWHxzdUE-lkp@xxxxxxxxx/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202406210836.gWHxzdUE-lkp@xxxxxxxxx/ sparse warnings: (new ones prefixed by >>) >> drivers/mailbox/cv1800b-mailbox.c:66:25: sparse: sparse: cast removes address space '__iomem' of expression drivers/mailbox/cv1800b-mailbox.c:85:22: sparse: sparse: cast removes address space '__iomem' of expression >> drivers/mailbox/cv1800b-mailbox.c:87:21: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void volatile [noderef] __iomem *d @@ got unsigned long long [usertype] *addr @@ drivers/mailbox/cv1800b-mailbox.c:87:21: sparse: expected void volatile [noderef] __iomem *d drivers/mailbox/cv1800b-mailbox.c:87:21: sparse: got unsigned long long [usertype] *addr vim +/__iomem +66 drivers/mailbox/cv1800b-mailbox.c 51 52 static irqreturn_t cv1800b_mbox_irq(int irq, void *dev_id) 53 { 54 struct cv1800b_mbox *mbox = (struct cv1800b_mbox *)dev_id; 55 u8 set, valid; 56 u64 *addr; 57 size_t i; 58 59 set = readb(mbox->mbox_base + MBOX_SET_INT_REG(mbox->recvid)); 60 61 if (!set) 62 return IRQ_NONE; 63 64 for (i = 0; i < MAILBOX_MAX_CHAN; i++) { 65 valid = set & (1 << i); > 66 addr = (u64 *)(mbox->mbox_base + MAILBOX_CONTEXT_OFFSET) + i; 67 if (valid) { 68 mbox->content[i] = addr; 69 writeb(valid, mbox->mbox_base + 70 MBOX_SET_CLR_REG(mbox->recvid)); 71 writeb(~valid, 72 mbox->mbox_base + MBOX_EN_REG(mbox->recvid)); 73 return IRQ_WAKE_THREAD; 74 } 75 } 76 77 return IRQ_NONE; 78 } 79 80 static int cv1800b_mbox_send_data(struct mbox_chan *chan, void *data) 81 { 82 struct cv1800b_mbox *mbox = dev_get_drvdata(chan->mbox->dev); 83 int idx = (int)chan->con_priv; 84 u8 en, valid; 85 u64 *addr = (u64 *)(mbox->mbox_base + MAILBOX_CONTEXT_OFFSET) + idx; 86 > 87 memcpy_toio(addr, data, 8); 88 89 valid = 1 << idx; 90 writeb(valid, mbox->mbox_base + MBOX_SET_CLR_REG(mbox->sendto)); 91 en = readb(mbox->mbox_base + MBOX_EN_REG(mbox->sendto)); 92 writeb(en | valid, mbox->mbox_base + MBOX_EN_REG(mbox->sendto)); 93 writeb(valid, mbox->mbox_base + MBOX_SET_REG); 94 95 return 0; 96 } 97 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki