Update LMS and LMOTS dependency macros

Signed-off-by: Raef Coles <raef.coles@arm.com>
diff --git a/include/mbedtls/check_config.h b/include/mbedtls/check_config.h
index 570d9db..4b27831 100644
--- a/include/mbedtls/check_config.h
+++ b/include/mbedtls/check_config.h
@@ -354,8 +354,8 @@
 #endif
 
 #if defined(MBEDTLS_LMS_C) &&                                          \
-    ( !defined(MBEDTLS_PSA_CRYPTO_C) )
-#error "MBEDTLS_LMS_C requires MBEDTLS_PSA_CRYPTO_C"
+    ( !defined(MBEDTLS_PSA_CRYPTO_C) && !defined(PSA_WANT_ALG_SHA256) )
+#error "MBEDTLS_LMS_C requires MBEDTLS_PSA_CRYPTO_C and PSA_WANT_ALG_SHA256"
 #endif
 
 #if defined(MBEDTLS_LMS_PRIVATE) &&                                    \
diff --git a/include/mbedtls/lms.h b/include/mbedtls/lms.h
index 1ba4f3a..40ab783 100644
--- a/include/mbedtls/lms.h
+++ b/include/mbedtls/lms.h
@@ -139,7 +139,7 @@
                                                      Boolean values only. */
 } mbedtls_lmots_public_t;
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 /** LMOTS private context structure.
  *
  * A LMOTS private key is one hash output for each of digit of the digest +
@@ -163,7 +163,7 @@
     unsigned char MBEDTLS_PRIVATE(have_private_key); /*!< Whether the context contains a private key.
                                                      Boolean values only. */
 } mbedtls_lmots_private_t;
-#endif /* MBEDTLS_LMS_PRIVATE */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
 
 
 /** LMS parameters structure.
@@ -209,7 +209,7 @@
 } mbedtls_lms_public_t;
 
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 /** LMS private context structure.
  *
  * A LMS private key is a set of LMOTS private keys, an index to the next usable
@@ -237,7 +237,7 @@
     unsigned char MBEDTLS_PRIVATE(have_private_key); /*!< Whether the context contains a private key.
                                                      Boolean values only. */
 } mbedtls_lms_private_t;
-#endif /* MBEDTLS_LMS_PRIVATE */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
 
 /**
  * \brief                    This function initializes an LMS public context
@@ -301,7 +301,7 @@
                         const unsigned char *msg, size_t msg_size,
                         const unsigned char *sig, size_t sig_size );
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 /**
  * \brief                    This function initializes an LMS private context
  *
@@ -434,7 +434,7 @@
                       int (*f_rng)(void *, unsigned char *, size_t),
                       void* p_rng, unsigned char *msg, unsigned int msg_size,
                       unsigned char *sig, size_t sig_size, size_t *sig_len );
-#endif /* MBEDTLS_LMS_PRIVATE */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
 
 #ifdef __cplusplus
 }
diff --git a/include/mbedtls/mbedtls_config.h b/include/mbedtls/mbedtls_config.h
index c0caf75..4188afe 100644
--- a/include/mbedtls/mbedtls_config.h
+++ b/include/mbedtls/mbedtls_config.h
@@ -2485,7 +2485,7 @@
  *
  * Uncomment to enable the LMS signature algorithm and private key operations.
  */
-// #define MBEDTLS_LMS_PRIVATE
+//#define MBEDTLS_LMS_PRIVATE
 
 /**
  * \def MBEDTLS_NIST_KW_C
diff --git a/library/lmots.c b/library/lmots.c
index e196635..9a6c6be 100644
--- a/library/lmots.c
+++ b/library/lmots.c
@@ -32,7 +32,7 @@
 
 #include "common.h"
 
-#ifdef MBEDTLS_LMS_C
+#if defined(MBEDTLS_LMS_C)
 
 #include <string.h>
 
@@ -568,7 +568,7 @@
     return( 0 );
 }
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 
 void mbedtls_lmots_init_private( mbedtls_lmots_private_t *ctx )
 {
@@ -851,5 +851,5 @@
     return( 0 );
 }
 
-#endif /* MBEDTLS_LMS_PRIVATE */
-#endif /* MBEDTLS_LMS_C */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
+#endif /* defined(MBEDTLS_LMS_C) */
diff --git a/library/lmots.h b/library/lmots.h
index 214321a..37466b7 100644
--- a/library/lmots.h
+++ b/library/lmots.h
@@ -189,7 +189,7 @@
                           size_t msg_size, const unsigned char *sig,
                           size_t sig_size );
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 
 /**
  * \brief                    This function initializes a private LMOTS context
@@ -310,7 +310,7 @@
                         void *p_rng, const unsigned char *msg, size_t msg_size,
                         unsigned char *sig, size_t sig_size, size_t* sig_len );
 
-#endif /* MBEDTLS_LMS_PRIVATE */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
 
 #ifdef __cplusplus
 }
diff --git a/library/lms.c b/library/lms.c
index 1c66946..6882a48 100644
--- a/library/lms.c
+++ b/library/lms.c
@@ -32,7 +32,7 @@
 
 #include "common.h"
 
-#ifdef MBEDTLS_LMS_C
+#if defined(MBEDTLS_LMS_C)
 
 #include <string.h>
 
@@ -402,7 +402,7 @@
     return( 0 );
 }
 
-#ifdef MBEDTLS_LMS_PRIVATE
+#if defined(MBEDTLS_LMS_PRIVATE)
 
 /* Calculate a full merkle tree based on a private key. This function
  * implements RFC8554 section 5.3, and is used to generate a public key (as the
@@ -773,5 +773,5 @@
     return( 0 );
 }
 
-#endif /* MBEDTLS_LMS_PRIVATE */
-#endif /* MBEDTLS_LMS_C */
+#endif /* defined(MBEDTLS_LMS_PRIVATE) */
+#endif /* defined(MBEDTLS_LMS_C) */
diff --git a/tests/suites/test_suite_lmots.function b/tests/suites/test_suite_lmots.function
index dd8a665..85e1da7 100644
--- a/tests/suites/test_suite_lmots.function
+++ b/tests/suites/test_suite_lmots.function
@@ -24,11 +24,11 @@
 /* END_HEADER */
 
 /* BEGIN_DEPENDENCIES
- * depends_on:MBEDTLS_LMS_C:MBEDTLS_LMS_PRIVATE:MBEDTLS_PSA_CRYPTO_C
+ * depends_on:MBEDTLS_LMS_C
  * END_DEPENDENCIES
  */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lmots_sign_verify_test ( data_t *msg, data_t *key_id, int leaf_id,
                               data_t *seed )
 {
@@ -52,7 +52,7 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lmots_sign_verify_null_msg_test ( data_t *key_id, int leaf_id, data_t *seed )
 {
     mbedtls_lmots_public_t pub_ctx;
@@ -92,7 +92,7 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lmots_import_export_test (  data_t * pub_key )
 {
     mbedtls_lmots_public_t ctx;
@@ -113,7 +113,7 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lmots_reuse_test ( data_t *msg, data_t *key_id, int leaf_id, data_t *seed )
 {
     mbedtls_lmots_private_t ctx;
diff --git a/tests/suites/test_suite_lms.function b/tests/suites/test_suite_lms.function
index 9003923..3c23b3b 100644
--- a/tests/suites/test_suite_lms.function
+++ b/tests/suites/test_suite_lms.function
@@ -4,11 +4,11 @@
 /* END_HEADER */
 
 /* BEGIN_DEPENDENCIES
- * depends_on:MBEDTLS_LMS_C:MBEDTLS_LMS_PRIVATE:MBEDTLS_PSA_CRYPTO_C
+ * depends_on:MBEDTLS_LMS_C
  * END_DEPENDENCIES
  */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lms_sign_verify_test ( data_t *msg, data_t *seed )
 {
     mbedtls_lms_public_t pub_ctx;
@@ -44,7 +44,7 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lms_sign_verify_null_msg_test( data_t *seed )
 {
     mbedtls_lms_public_t pub_ctx;
@@ -97,7 +97,7 @@
 }
 /* END_CASE */
 
-/* BEGIN_CASE */
+/* BEGIN_CASE depends_on:MBEDTLS_LMS_PRIVATE */
 void lms_import_export_test (  data_t * pub_key )
 {
     mbedtls_lms_public_t ctx;