}
early_param("early_ioremap_debug", early_ioremap_debug_setup);
+#define early_ioremap_dbg(fmt, args...) \
+ do { \
+ if (unlikely(early_ioremap_debug)) { \
+ pr_warn(fmt, ##args); \
+ dump_stack(); \
+ } \
+ } while (0)
+
static int after_paging_init __initdata;
pgprot_t __init __weak early_memremap_pgprot_adjust(resource_size_t phys_addr,
if (WARN_ON(nrpages > NR_FIX_BTMAPS))
return NULL;
- WARN(early_ioremap_debug, "%s(%pa, %08lx) [%d] => %08lx + %08lx\n",
- __func__, &phys_addr, size, slot, slot_virt[slot], offset);
+ early_ioremap_dbg("%s(%pa, %08lx) [%d] => %08lx + %08lx\n",
+ __func__, &phys_addr, size, slot, slot_virt[slot], offset);
/*
* Ok, go for it..
__func__, addr, size, slot, prev_size[slot]))
return;
- WARN(early_ioremap_debug, "%s(%p, %08lx) [%d]\n",
- __func__, addr, size, slot);
+ early_ioremap_dbg("%s(%p, %08lx) [%d]\n", __func__, addr, size, slot);
virt_addr = (unsigned long)addr;
if (WARN_ON(virt_addr < fix_to_virt(FIX_BTMAP_BEGIN)))