--- zzzz-none-000/linux-3.10.107/drivers/mtd/maps/plat-ram.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/drivers/mtd/maps/plat-ram.c 2021-11-10 11:53:55.000000000 +0000 @@ -115,6 +115,33 @@ return 0; } +static void debug_print_memmaps(struct resource *root, int level) +{ + int i; + char prefix[30]; + + for (i = 0; i < level * 3; i++) { + prefix[i] = ' '; + } + + prefix[i] = 0; + + printk("%s [%d]-----------\n", prefix, level); + printk("%s name=%s \n", prefix, root->name); + printk("%s start=0x%08x \n", prefix, (unsigned int)root->start); + printk("%s end=0x%08x \n", prefix, (unsigned int)root->end); + printk("%s flags=%#lx \n", prefix, (long unsigned int)root->flags); + printk("%s ------------\n", prefix); + + if (root->child) { + debug_print_memmaps(root->child, level + 1); + } + + if (root->sibling) { + debug_print_memmaps(root->sibling, level); + } +} + /* platram_probe * * called from device drive system when a device matching our @@ -128,6 +155,7 @@ struct resource *res; int err = 0; + printk("[%s] %d\n ", __func__, __LINE__); dev_dbg(&pdev->dev, "probe entered\n"); if (pdev->dev.platform_data == NULL) { @@ -173,9 +201,12 @@ /* register our usage of the memory area */ + debug_print_memmaps(&iomem_resource, 0); + info->area = request_mem_region(res->start, info->map.size, pdev->name); if (info->area == NULL) { dev_err(&pdev->dev, "failed to request memory region\n"); + debug_print_memmaps(&iomem_resource, 0); err = -EIO; goto exit_free; } @@ -183,6 +214,9 @@ /* remap the memory area */ info->map.virt = ioremap(res->start, info->map.size); + printk("[%s] ioremap start=%#x, virt=%#x \n", + __func__, (unsigned int)res->start, + (unsigned int)info->map.virt); dev_dbg(&pdev->dev, "virt %p, %lu bytes\n", info->map.virt, info->map.size); if (info->map.virt == NULL) {