Re: [PATCH] staging: fbtft: fix unaligned vmem writes when txbuf is byte-offset
kernel test robot <[email protected]>
| Newsgroups | org.kernel.vger.linux-fbdev,dev.linux.lists.linux-staging,dev.linux.lists.llvm,dev.linux.lists.oe-kbuild-all,org.freedesktop.lists.dri-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi suryasaimadhu, kernel test robot noticed the following build errors: [auto build test ERROR on staging/staging-testing] url: https://github.com/intel-lab-lkp/linux/commits/suryasaimadhu/staging-fbtft-fix-unaligned-vmem-writes-when-txbuf-is-byte-offset/20260625-190423 base: staging/staging-testing patch link: https://lore.kernel.org/r/20260625110237.304435-1-suryasaimadhu369%40gmail.com patch subject: [PATCH] staging: fbtft: fix unaligned vmem writes when txbuf is byte-offset config: hexagon-allmodconfig (https://download.01.org/0day-ci/archive/20260625/[email protected]/config) compiler: clang version 23.0.0git (https://github.com/llvm/llvm-project 6cc609bb250b21b47fc7d394b4019101e9983597) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260625/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): >> drivers/staging/fbtft/fbtft-bus.c:157:4: error: call to undeclared function 'put_unaligned'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 157 | put_unaligned(cpu_to_be16(vmem16[i]), &txbuf16[i]); | ^ 1 error generated. vim +/put_unaligned +157 drivers/staging/fbtft/fbtft-bus.c 113 114 /***************************************************************************** 115 * 116 * int (*write_vmem)(struct fbtft_par *par); 117 * 118 *****************************************************************************/ 119 120 /* 16 bit pixel over 8-bit databus */ 121 int fbtft_write_vmem16_bus8(struct fbtft_par *par, size_t offset, size_t len) 122 { 123 u16 *vmem16; 124 __be16 *txbuf16 = par->txbuf.buf; 125 size_t remain; 126 size_t to_copy; 127 size_t tx_array_size; 128 int i; 129 int ret = 0; 130 size_t startbyte_size = 0; 131 132 remain = len / 2; 133 vmem16 = (u16 *)(par->info->screen_buffer + offset); 134 135 gpiod_set_value(par->gpio.dc, 1); 136 137 /* non buffered write */ 138 if (!par->txbuf.buf) 139 return par->fbtftops.write(par, vmem16, len); 140 141 /* buffered write */ 142 tx_array_size = par->txbuf.len / 2; 143 144 if (par->startbyte) { 145 txbuf16 = par->txbuf.buf + 1; 146 tx_array_size -= 2; 147 *(u8 *)(par->txbuf.buf) = par->startbyte | 0x2; 148 startbyte_size = 1; 149 } 150 151 while (remain) { 152 to_copy = min(tx_array_size, remain); 153 dev_dbg(par->info->device, "to_copy=%zu, remain=%zu\n", 154 to_copy, remain - to_copy); 155 156 for (i = 0; i < to_copy; i++) > 157 put_unaligned(cpu_to_be16(vmem16[i]), &txbuf16[i]); 158 159 vmem16 = vmem16 + to_copy; 160 ret = par->fbtftops.write(par, par->txbuf.buf, 161 startbyte_size + to_copy * 2); 162 if (ret < 0) 163 return ret; 164 remain -= to_copy; 165 } 166 167 return ret; 168 } 169 EXPORT_SYMBOL(fbtft_write_vmem16_bus8); 170 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki