/* This function returns an offset into the muram area. Use cpm_dpram_addr() to get the virtual address of the area. Use cpm_muram_free() to free the allocation.  */
unsigned long cpm_muram_alloc(unsigned long size, unsigned long align)
/* This function returns an offset into the muram area. Use cpm_dpram_addr() to get the virtual address of the area. Use cpm_muram_free() to free the allocation.  */
unsigned long cpm_muram_alloc(unsigned long size, unsigned long align)
{
	unsigned long start;
	unsigned long flags;
	spin_lock_irqsave(&cpm_muram_lock, flags);
	cpm_muram_info.alignment = align;
	start = rh_alloc(&cpm_muram_info, size, "commproc");
	spin_unlock_irqrestore(&cpm_muram_lock, flags);
	return start;
}