diff options
author | Holger Dengler <hd@linux.vnet.ibm.com> | 2012-08-28 16:48:29 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-09-26 15:44:56 +0200 |
commit | 1e2076f4527b5b0854d0ebe60102b6710a9ba64c (patch) | |
tree | 66b42d73944010bbbffe9cfd0b0470ffe8ce8c44 /drivers/s390/crypto/ap_bus.c | |
parent | s390/zcrypt: Separate msgtype implementation from card modules. (diff) | |
download | linux-1e2076f4527b5b0854d0ebe60102b6710a9ba64c.tar.xz linux-1e2076f4527b5b0854d0ebe60102b6710a9ba64c.zip |
s390/zcrypt: Add support for CEX4 crypto card
New zcrypt module supports IBM CryptoExpress 4 cards.
Signed-off-by: Holger Dengler <hd@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/crypto/ap_bus.c')
-rw-r--r-- | drivers/s390/crypto/ap_bus.c | 22 |
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/s390/crypto/ap_bus.c b/drivers/s390/crypto/ap_bus.c index f0b53ee6802f..39e5eb263e4b 100644 --- a/drivers/s390/crypto/ap_bus.c +++ b/drivers/s390/crypto/ap_bus.c @@ -1340,30 +1340,22 @@ static void ap_scan_bus(struct work_struct *unused) (unsigned long) ap_dev); switch (device_type) { case 0: + /* device type probing for old cards */ if (ap_probe_device_type(ap_dev)) { kfree(ap_dev); continue; } break; - case 10: - if (ap_query_functions(qid, &device_functions)) { - kfree(ap_dev); - continue; - } - ap_dev->functions = device_functions; - if (ap_test_bit(&device_functions, 3)) - ap_dev->device_type = AP_DEVICE_TYPE_CEX3C; - else if (ap_test_bit(&device_functions, 4)) - ap_dev->device_type = AP_DEVICE_TYPE_CEX3A; - else { - kfree(ap_dev); - continue; - } - break; default: ap_dev->device_type = device_type; } + rc = ap_query_functions(qid, &device_functions); + if (!rc) + ap_dev->functions = device_functions; + else + ap_dev->functions = 0u; + ap_dev->device.bus = &ap_bus_type; ap_dev->device.parent = ap_root_device; if (dev_set_name(&ap_dev->device, "card%02x", |