ehea_bmap
static struct ehea_bmap *ehea_bmap;
static inline int ehea_init_bmap(struct ehea_bmap *ehea_bmap, int top, int dir)
if (!ehea_bmap->top[top]) {
ehea_bmap->top[top] =
if (!ehea_bmap->top[top])
return ehea_init_top_bmap(ehea_bmap->top[top], dir);
if (!ehea_bmap->top[top])
ehea_top = ehea_bmap->top[top];
ehea_bmap->top[top] = NULL;
if (!ehea_bmap) {
ehea_bmap = kzalloc_obj(struct ehea_bmap);
if (!ehea_bmap)
int ret = ehea_init_bmap(ehea_bmap, top, dir);
if (!ehea_bmap->top[top])
if (!ehea_bmap->top[top]->dir[dir])
ehea_bmap->top[top]->dir[dir]->ent[idx] = flag;
if (!ehea_bmap)
if (!ehea_bmap->top[top])
if (!ehea_bmap->top[top]->dir[dir])
kfree(ehea_bmap->top[top]->dir[dir]);
kfree(ehea_bmap->top[top]);
kfree(ehea_bmap);
ehea_bmap = NULL;
if (!ehea_bmap)
if (!ehea_bmap->top[top])
if (!ehea_bmap->top[top]->dir[dir])
if (!ehea_bmap->top[top]->dir[dir]->ent[idx])
return ehea_bmap->top[top]->dir[dir]->ent[idx] | offset;
if (!ehea_bmap->top[top]->dir[dir]->ent[idx])
if (!ehea_bmap->top[top]->dir[dir])
if (!ehea_bmap) {
if (!ehea_bmap->top[top])