From 1e2076f4527b5b0854d0ebe60102b6710a9ba64c Mon Sep 17 00:00:00 2001 From: Holger Dengler Date: Tue, 28 Aug 2012 16:48:29 +0200 Subject: s390/zcrypt: Add support for CEX4 crypto card New zcrypt module supports IBM CryptoExpress 4 cards. Signed-off-by: Holger Dengler Signed-off-by: Martin Schwidefsky --- drivers/s390/crypto/ap_bus.c | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'drivers/s390/crypto/ap_bus.c') 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", -- cgit v1.2.3