最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】dma_map_single discards qualifiers from pointer target type

工作和技术 crifan 2234浏览 0评论

【问题】

编译警告:dma_map_single discards qualifiers from pointer target type

【解决办法】

原先的函数如下:

static void as353x_nand_write_page_hwecc(struct mtd_info *mtd,
    struct nand_chip *chip, const uint8_t *buf)
{

info->rxaddr = dma_map_single( info->device,
          (void *)buf,
          info->len,
          DMA_TO_DEVICE);
….

}

其中,直接将函数得到的参数const uint8_t *buf,强制转换成void *传入给dma_map_single,因此会有警告,所以,解决办法很简单,多加个非const的指针变量,保存传入的指针,再将此指针传给dma_map_single即可。修改后函数如下:

static void as353x_nand_write_page_hwecc(struct mtd_info *mtd,
    struct nand_chip *chip, const uint8_t *buf)
{

uint8_t *data_buf = (uint8_t *)buf;
….

info->rxaddr = dma_map_single( info->device,
          (void *)data_buf,
          info->len,
          DMA_TO_DEVICE);
….

}

转载请注明:在路上 » 【已解决】dma_map_single discards qualifiers from pointer target type

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
79 queries in 0.161 seconds, using 22.10MB memory