summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2010-10-25 16:10:51 +0200
committerMartin Schwidefsky <sky@mschwide.boeblingen.de.ibm.com>2010-10-25 16:10:21 +0200
commit14375bc4eb8dd0fb0e765390650564c35bb31068 (patch)
tree27200620658245c582ee9497fc969a082b304cab /drivers
parenteca577ef5989d25dedc6b0fae3c4622ceaee8005 (diff)
downloadlinux-3.10-14375bc4eb8dd0fb0e765390650564c35bb31068.tar.gz
linux-3.10-14375bc4eb8dd0fb0e765390650564c35bb31068.tar.bz2
linux-3.10-14375bc4eb8dd0fb0e765390650564c35bb31068.zip
[S390] cleanup facility list handling
Store the facility list once at system startup with stfl/stfle and reuse the result for all facility tests. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/crypto/ap_bus.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c
index 91c6028d7b7..8fd8c62455e 100644
--- a/drivers/s390/crypto/ap_bus.c
+++ b/drivers/s390/crypto/ap_bus.c
@@ -154,14 +154,7 @@ static inline int ap_instructions_available(void)
*/
static int ap_interrupts_available(void)
{
- unsigned long long facility_bits[2];
-
- if (stfle(facility_bits, 2) <= 1)
- return 0;
- if (!(facility_bits[0] & (1ULL << 61)) ||
- !(facility_bits[1] & (1ULL << 62)))
- return 0;
- return 1;
+ return test_facility(1) && test_facility(2);
}
/**