26 #include <linux/kernel.h>
27 #include <linux/export.h>
28 #include <linux/slab.h>
31 #include <asm/pgtable.h>
47 if (!size || (size > cache_sram->
size) || (align > cache_sram->
size)) {
48 pr_err(
"%s(): size(=%x) or align(=%x) zero or too big\n",
49 __func__, size, align);
53 if ((align & (align - 1)) || align <= 1) {
54 pr_err(
"%s(): align(=%x) must be power of two and >1\n",
61 spin_unlock_irqrestore(&cache_sram->
lock, flags);
79 spin_unlock_irqrestore(&cache_sram->
lock, flags);
89 dev_err(&dev->
dev,
"Already initialized cache-sram\n");
95 dev_err(&dev->
dev,
"Out of memory for cache_sram structure\n");
103 "fsl_85xx_cache_sram")) {
104 dev_err(&dev->
dev,
"%s: request memory failed\n",
105 dev->
dev.of_node->full_name);
113 dev_err(&dev->
dev,
"%s: ioremap_prot failed\n",
114 dev->
dev.of_node->full_name);
120 if (IS_ERR(cache_sram->
rh)) {
121 dev_err(&dev->
dev,
"%s: Unable to create remote heap\n",
122 dev->
dev.of_node->full_name);
123 ret = PTR_ERR(cache_sram->
rh);
130 dev_info(&dev->
dev,
"[base:0x%llx, size:0x%x] configured and loaded\n",
131 (
unsigned long long)cache_sram->
base_phys, cache_sram->
size);
159 dev_info(&dev->
dev,
"MPC85xx Cache-SRAM driver unloaded\n");