summaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/idset.c
diff options
context:
space:
mode:
authorSebastian Ott <sebott@linux.vnet.ibm.com>2009-09-22 22:58:38 +0200
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-09-22 22:58:42 +0200
commit703e5c9993639284bc0a8929b6de362424df7019 (patch)
tree13d6348ca6e8a00aefa302c6a776bf50180a6ac7 /drivers/s390/cio/idset.c
parentb0a285d31bd475fdd4312e457288be558b705e55 (diff)
downloadop-kernel-dev-703e5c9993639284bc0a8929b6de362424df7019.zip
op-kernel-dev-703e5c9993639284bc0a8929b6de362424df7019.tar.gz
[S390] cio: introduce consistent subchannel scanning
Previously, there were multiple subchannel scanning mechanisms which could potentially conflict with each other. Fix this problem by moving blacklist and ccw driver triggered scanning to the existing evaluation method. Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/idset.c')
-rw-r--r--drivers/s390/cio/idset.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/s390/cio/idset.c b/drivers/s390/cio/idset.c
index 5c88faf..4d10981 100644
--- a/drivers/s390/cio/idset.c
+++ b/drivers/s390/cio/idset.c
@@ -120,3 +120,13 @@ int idset_is_empty(struct idset *set)
return 1;
return 0;
}
+
+void idset_add_set(struct idset *to, struct idset *from)
+{
+ unsigned long i, len;
+
+ 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];
+}
OpenPOWER on IntegriCloud