Lines Matching refs:bcom_sram
31 struct bcom_sram *bcom_sram = NULL;
32 EXPORT_SYMBOL_GPL(bcom_sram); /* needed for inline functions */
49 if (bcom_sram) {
55 bcom_sram = kmalloc(sizeof(struct bcom_sram), GFP_KERNEL);
56 if (!bcom_sram) {
73 bcom_sram->base_phys = (phys_addr_t) regaddr64;
74 bcom_sram->size = (unsigned int) size64;
77 if (!request_mem_region(bcom_sram->base_phys, bcom_sram->size, owner)) {
86 bcom_sram->base_virt = (void*) ioremap(bcom_sram->base_phys, bcom_sram->size);
88 if (!bcom_sram->base_virt) {
91 owner, (long)bcom_sram->base_phys, bcom_sram->size );
97 bcom_sram->rh = rh_create(4);
110 rh_attach_region(bcom_sram->rh, 0, bcom_sram->size);
115 rh_attach_region(bcom_sram->rh, zbase - bcom_sram->base_phys, regaddr_p[1]);
122 spin_lock_init(&bcom_sram->lock);
127 release_mem_region(bcom_sram->base_phys, bcom_sram->size);
129 kfree(bcom_sram);
130 bcom_sram = NULL;
139 if (bcom_sram) {
140 rh_destroy(bcom_sram->rh);
141 iounmap((void __iomem *)bcom_sram->base_virt);
142 release_mem_region(bcom_sram->base_phys, bcom_sram->size);
143 kfree(bcom_sram);
144 bcom_sram = NULL;
153 spin_lock(&bcom_sram->lock);
154 offset = rh_alloc_align(bcom_sram->rh, size, align, NULL);
155 spin_unlock(&bcom_sram->lock);
160 *phys = bcom_sram->base_phys + offset;
161 return bcom_sram->base_virt + offset;
172 offset = ptr - bcom_sram->base_virt;
174 spin_lock(&bcom_sram->lock);
175 rh_free(bcom_sram->rh, offset);
176 spin_unlock(&bcom_sram->lock);