fix(clang): misc-no-recursion

Also remove __clang_analyzer__ ifndefs for the more
precise //NOLINTNEXTLINE

Signed-off-by: Daniel Boulby <daniel.boulby@arm.com>
Change-Id: I01496921a98e393b165c68d27d77d345b5bfa4b9
diff --git a/src/mm.c b/src/mm.c
index 80b6d51..6f15748 100644
--- a/src/mm.c
+++ b/src/mm.c
@@ -173,6 +173,7 @@
  * Frees all page-table-related memory associated with the given pte at the
  * given level, including any subtables recursively.
  */
+// NOLINTNEXTLINE(misc-no-recursion)
 static void mm_free_page_pte(pte_t pte, uint8_t level, struct mpool *ppool)
 {
 	struct mm_page_table *table;
@@ -354,6 +355,7 @@
  * levels, but the recursion is bound by the maximum number of levels in a page
  * table.
  */
+// NOLINTNEXTLINE(misc-no-recursion)
 static bool mm_map_level(ptable_addr_t begin, ptable_addr_t end, paddr_t pa,
 			 uint64_t attrs, struct mm_page_table *table,
 			 uint8_t level, int flags, struct mpool *ppool,
@@ -556,6 +558,7 @@
  * Writes the given table to the debug log, calling itself recursively to
  * write sub-tables.
  */
+// NOLINTNEXTLINE(misc-no-recursion)
 static void mm_dump_table_recursive(struct mm_page_table *table, uint8_t level,
 				    int max_level)
 {
@@ -630,6 +633,7 @@
  * Defragments the given PTE by recursively replacing any tables with blocks or
  * absent entries where possible.
  */
+// NOLINTNEXTLINE(misc-no-recursion)
 static void mm_ptable_defrag_entry(ptable_addr_t base_addr, pte_t *entry,
 				   uint8_t level, int flags,
 				   struct mpool *ppool, uint16_t id)
@@ -747,6 +751,7 @@
  *
  * Returns true if the whole range has the same attributes and false otherwise.
  */
+// NOLINTNEXTLINE(misc-no-recursion)
 static bool mm_ptable_get_attrs_level(struct mm_page_table *table,
 				      ptable_addr_t begin, ptable_addr_t end,
 				      uint8_t level, bool got_attrs,