我正在尝试开发一个简单的字符设备驱动程序,它可以访问站点中描述的保留内存区域:http://www.wiki.xilinx.com/Linux+Reserved+Memory。
/* Get reserved memory region from Device-tree */
np = of_parse_phandle(dev->of_node, "memory-region", 0);
if (!np) {
dev_err(dev, "No %s specified\n", "memory-region");
goto error1;
}
rc = of_address_to_resource(np, 0, &r);
if (rc) {
dev_err(dev, "No memory address assigned to the region\n");
goto error1;
}
lp->paddr = r.start;
lp->vaddr = memremap(r.start, resource_size(&r), MEMREMAP_WB);
dev_info(dev, "Allocated reserved memory, vaddr: 0x%0llX, paddr: 0x%0llX\n", (u64)lp->vaddr, lp->paddr);该网站没有提供任何关于lp->paddr和lp->vaddr的信息。
lp的数据类型是什么?
发布于 2017-09-22 05:18:10
我认为"lp“不是一个预定义的变量。我已经用vaddr和paddr作为struct元素声明了我自己的struct,并将lp定义为struct变量,并且它工作了。
static struct addr_map
{
__u32 paddr,vaddr;
ssize_t size;
}*lp;https://stackoverflow.com/questions/45582259
复制相似问题