Lines Matching refs:add
110 struct grant_map *add;
113 add = kzalloc(sizeof(struct grant_map), GFP_KERNEL);
114 if (NULL == add)
117 add->grants = kcalloc(count, sizeof(add->grants[0]), GFP_KERNEL);
118 add->map_ops = kcalloc(count, sizeof(add->map_ops[0]), GFP_KERNEL);
119 add->unmap_ops = kcalloc(count, sizeof(add->unmap_ops[0]), GFP_KERNEL);
120 add->kmap_ops = kcalloc(count, sizeof(add->kmap_ops[0]), GFP_KERNEL);
121 add->pages = kcalloc(count, sizeof(add->pages[0]), GFP_KERNEL);
122 if (NULL == add->grants ||
123 NULL == add->map_ops ||
124 NULL == add->unmap_ops ||
125 NULL == add->kmap_ops ||
126 NULL == add->pages)
129 if (alloc_xenballooned_pages(count, add->pages, false /* lowmem */))
133 add->map_ops[i].handle = -1;
134 add->unmap_ops[i].handle = -1;
135 add->kmap_ops[i].handle = -1;
138 add->index = 0;
139 add->count = count;
140 atomic_set(&add->users, 1);
142 return add;
145 kfree(add->pages);
146 kfree(add->grants);
147 kfree(add->map_ops);
148 kfree(add->unmap_ops);
149 kfree(add->kmap_ops);
150 kfree(add);
154 static void gntdev_add_map(struct gntdev_priv *priv, struct grant_map *add)
159 if (add->index + add->count < map->index) {
160 list_add_tail(&add->next, &map->next);
163 add->index = map->index + map->count;
165 list_add_tail(&add->next, &priv->maps);
168 gntdev_print_maps(priv, "[new]", add->index);
518 pr_debug("priv %p, add %d\n", priv, op.count);