s390/cio: use generic bitmap functions
Use generic bitmap functions in the subchannel id bitmap to simplify and de-bloat the code. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Acked-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
4e860696e0
commit
aa92b33c6b
|
@ -1,9 +1,10 @@
|
|||
/*
|
||||
* Copyright IBM Corp. 2007
|
||||
* Copyright IBM Corp. 2007, 2012
|
||||
* Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com>
|
||||
*/
|
||||
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/bitops.h>
|
||||
#include "idset.h"
|
||||
#include "css.h"
|
||||
|
@ -111,20 +112,13 @@ int idset_sch_get_first(struct idset *set, struct subchannel_id *schid)
|
|||
|
||||
int idset_is_empty(struct idset *set)
|
||||
{
|
||||
int bitnum;
|
||||
|
||||
bitnum = find_first_bit(set->bitmap, set->num_ssid * set->num_id);
|
||||
if (bitnum >= set->num_ssid * set->num_id)
|
||||
return 1;
|
||||
return 0;
|
||||
return bitmap_empty(set->bitmap, set->num_ssid * set->num_id);
|
||||
}
|
||||
|
||||
void idset_add_set(struct idset *to, struct idset *from)
|
||||
{
|
||||
unsigned long i, len;
|
||||
int len = min(__BITOPS_WORDS(to->num_ssid * to->num_id),
|
||||
__BITOPS_WORDS(from->num_ssid * from->num_id));
|
||||
|
||||
len = min(__BITOPS_WORDS(to->num_ssid * to->num_id),
|
||||
__BITOPS_WORDS(from->num_ssid * from->num_id));
|
||||
for (i = 0; i < len ; i++)
|
||||
to->bitmap[i] |= from->bitmap[i];
|
||||
bitmap_or(to->bitmap, to->bitmap, from->bitmap, len);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user