Assume get_num_ops cannot fail

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 0bb9e8e..1faf1dd 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -3448,7 +3448,6 @@
     size_t *signature_length)
 {
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
-    psa_status_t numops_status = PSA_ERROR_CORRUPTION_DETECTED;
 
     *signature_length = 0;
 
@@ -3471,10 +3470,7 @@
                                                    signature_length);
 
     /* Update ops count with work done. */
-    numops_status = psa_driver_wrapper_sign_hash_get_num_ops(operation, &operation->num_ops);
-    if (status == PSA_SUCCESS) {
-        status = numops_status;
-    }
+    operation->num_ops = psa_driver_wrapper_sign_hash_get_num_ops(operation);
 
 exit:
 
@@ -3594,7 +3590,6 @@
     psa_verify_hash_interruptible_operation_t *operation)
 {
     psa_status_t status = PSA_ERROR_CORRUPTION_DETECTED;
-    psa_status_t numops_status = PSA_ERROR_CORRUPTION_DETECTED;
 
     /* Check that start has been called first, and that operation has not
      * previously errored. */
@@ -3606,10 +3601,8 @@
     status = psa_driver_wrapper_verify_hash_complete(operation);
 
     /* Update ops count with work done. */
-    numops_status = psa_driver_wrapper_verify_hash_get_num_ops(operation, &operation->num_ops);
-    if (status == PSA_SUCCESS) {
-        status = numops_status;
-    }
+    operation->num_ops = psa_driver_wrapper_verify_hash_get_num_ops(
+        operation);
 
 exit:
 
diff --git a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
index 282dd7b..ded5c04 100644
--- a/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
+++ b/scripts/data_files/driver_templates/psa_crypto_driver_wrappers.h.jinja
@@ -472,19 +472,17 @@
     }
 }
 
-static inline psa_status_t psa_driver_wrapper_sign_hash_get_num_ops(
-    psa_sign_hash_interruptible_operation_t *operation, uint32_t *num_ops )
+static inline uint32_t psa_driver_wrapper_sign_hash_get_num_ops(
+    psa_sign_hash_interruptible_operation_t *operation )
 {
     switch( operation->id )
     {
         /* If uninitialised, return 0, as no work can have been done. */
         case 0:
-            *num_ops = 0;
-            return PSA_SUCCESS;
+            return 0;
 
         case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-            *num_ops = mbedtls_psa_sign_hash_get_num_ops(&operation->ctx.mbedtls_ctx);
-            return PSA_SUCCESS;
+            return(mbedtls_psa_sign_hash_get_num_ops(&operation->ctx.mbedtls_ctx));
 
 #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
 #if defined(PSA_CRYPTO_DRIVER_TEST)
@@ -494,22 +492,21 @@
 #endif /* PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT */
     }
 
-    return( PSA_ERROR_INVALID_ARGUMENT );
+    /* Can't happen (see discussion in #8271) */
+    return 0;
 }
 
-static inline psa_status_t psa_driver_wrapper_verify_hash_get_num_ops(
-    psa_verify_hash_interruptible_operation_t *operation, uint32_t *num_ops )
+static inline uint32_t psa_driver_wrapper_verify_hash_get_num_ops(
+    psa_verify_hash_interruptible_operation_t *operation )
 {
     switch( operation->id )
     {
         /* If uninitialised, return 0, as no work can have been done. */
         case 0:
-            *num_ops = 0;
-            return PSA_SUCCESS;
+            return 0;
 
         case PSA_CRYPTO_MBED_TLS_DRIVER_ID:
-            *num_ops = mbedtls_psa_verify_hash_get_num_ops(&operation->ctx.mbedtls_ctx);
-            return PSA_SUCCESS;
+            return (mbedtls_psa_verify_hash_get_num_ops(&operation->ctx.mbedtls_ctx));
 
 #if defined(PSA_CRYPTO_ACCELERATOR_DRIVER_PRESENT)
 #if defined(PSA_CRYPTO_DRIVER_TEST)
@@ -520,7 +517,8 @@
 
     }
 
-    return ( PSA_ERROR_INVALID_ARGUMENT );
+    /* Can't happen (see discussion in #8271) */
+    return 0;
 }
 
 static inline psa_status_t psa_driver_wrapper_sign_hash_start(