_reg_op(REG_OP_ALLOC) duplicates bitmap_set().
CC: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
CC: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Yury Norov <yury.norov@gmail.com>
*/
int bitmap_allocate_region(unsigned long *bitmap, unsigned int pos, int order)
{
+ unsigned int len = BIT(order);
+
if (!__reg_op(bitmap, pos, order, REG_OP_ISFREE))
return -EBUSY;
- return __reg_op(bitmap, pos, order, REG_OP_ALLOC);
+ bitmap_set(bitmap, pos, len);
+ return 0;
}
EXPORT_SYMBOL(bitmap_allocate_region);