diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index a668a5a4ed5c769f386c3b183d169666f42f87b5..ebfa196ad79693ddf6e9cb479bdce5cc21a04a14 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -15934,7 +15934,7 @@ static struct ast_vm_mailbox_snapshot *vm_mailbox_snapshot_destroy(struct ast_vm
  * \param vms The voicemail state corresponding to an open mailbox
  * \param msg_ids An array of message identifiers
  * \param num_msgs The number of identifiers in msg_ids
- * \param msg_nums [out] The message indexes corresponding to the given
+ * \param[out] msg_nums The message indexes corresponding to the given
  * \param vmu
  * message IDs
  * \pre vms must have open_mailbox() called on it prior to this function.
diff --git a/include/asterisk/cdr.h b/include/asterisk/cdr.h
index cf3e2f25b05816a6f25ae0b0cc240fc669e3bc78..e2a5a90d7cc3b7f6c376adb8abddf0325ad45ce5 100644
--- a/include/asterisk/cdr.h
+++ b/include/asterisk/cdr.h
@@ -494,7 +494,6 @@ struct ast_cdr *ast_cdr_dup(struct ast_cdr *cdr);
 /*!
  * \brief Free a CDR record
  * \param cdr ast_cdr structure to free
- * Returns nothing
  */
 void ast_cdr_free(struct ast_cdr *cdr);
 
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index bc12de8c90270be292d41dd9783312573b26dfa1..e9dcf6a3c2456d991861fb75c4be01345278d49a 100644
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -4504,7 +4504,7 @@ void ast_channel_set_manager_vars(size_t varc, char **vars);
  *
  * \param chan Channel to get variables for.
  * \return List of channel variables.
- * \return \c NULL on error
+ * \retval NULL on error
  */
 struct varshead *ast_channel_get_manager_vars(struct ast_channel *chan);
 
@@ -4534,7 +4534,7 @@ void ast_channel_set_ari_vars(size_t varc, char **vars);
  *
  * \param chan Channel to get variables for.
  * \return List of channel variables.
- * \return \c NULL on error
+ * \retval NULL on error
  */
 struct varshead *ast_channel_get_ari_vars(struct ast_channel *chan);
 
@@ -4546,7 +4546,7 @@ struct varshead *ast_channel_get_ari_vars(struct ast_channel *chan);
  *
  * \param chan Channel to get variables for
  * \return List of channel variables.
- * \return \c NULL on error
+ * \retval NULL on error
  */
 struct varshead *ast_channel_get_vars(struct ast_channel *chan);
 
diff --git a/include/asterisk/conversions.h b/include/asterisk/conversions.h
index 852d80fc482c465bf69b88b56fc6a9231ab2e8be..fb7309a0b6d63e941448a4e408057c7ec39b652b 100644
--- a/include/asterisk/conversions.h
+++ b/include/asterisk/conversions.h
@@ -37,7 +37,7 @@
  *       or greater than INT_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
@@ -55,7 +55,7 @@ int ast_str_to_int(const char *str, int *res);
  *   Once converted the number is out of range (greater than UINT_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
@@ -73,7 +73,7 @@ int ast_str_to_uint(const char *str, unsigned int *res);
  *       or greater than LONG_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
@@ -91,7 +91,7 @@ int ast_str_to_long(const char *str, long *res);
  *   Once converted the number is out of range (greater than ULONG_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
@@ -109,7 +109,7 @@ int ast_str_to_ulong(const char *str, unsigned long *res);
  *       or greater than INTMAX_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
@@ -127,7 +127,7 @@ int ast_str_to_imax(const char *str, intmax_t *res);
  *   Once converted the number is out of range (greater than UINTMAX_MAX)
  *
  * \param str The string to convert
- * \param res [out] The converted value
+ * \param[out] res The converted value
  *
  * \returns -1 if it fails to convert, 0 on success
  */
diff --git a/include/asterisk/core_local.h b/include/asterisk/core_local.h
index 27e92447721089a90f0e06fa7e1860b9d18ec77a..fbe852814cafe6b0c260ca5ad44edec4d04cb7da 100644
--- a/include/asterisk/core_local.h
+++ b/include/asterisk/core_local.h
@@ -51,9 +51,9 @@ struct stasis_message_type;
  * \since 13.17.0, 14.6.0
  *
  * \param chan Must be a local channel
- * \param tech_pvt [out] channel's private tech (ref and lock added)
- * \param base_chan [out] One side of the local channel (ref and lock added)
- * \param base_owner [out] Other side of the local channel (ref and lock added)
+ * \param[out] tech_pvt channel's private tech (ref and lock added)
+ * \param[out] base_chan One side of the local channel (ref and lock added)
+ * \param[out] base_owner Other side of the local channel (ref and lock added)
  */
 void ast_local_lock_all(struct ast_channel *chan, void **tech_pvt,
 	struct ast_channel **base_chan, struct ast_channel **base_owner);
diff --git a/include/asterisk/endpoints.h b/include/asterisk/endpoints.h
index ee73dc6666bd4d32266800812c5c3c2760a58cf1..0c5edcec31dab3dd1ee026a0ee1b00ad149dca8e 100644
--- a/include/asterisk/endpoints.h
+++ b/include/asterisk/endpoints.h
@@ -62,7 +62,7 @@ enum ast_endpoint_state {
  *
  * \param state Endpoint state.
  * \return String representation of \a state.
- * \return \c "?" if \a state isn't in \ref ast_endpoint_state.
+ * \retval "?" if \a state isn't in \ref ast_endpoint_state.
  */
 const char *ast_endpoint_state_to_string(enum ast_endpoint_state state);
 
@@ -89,7 +89,7 @@ struct ast_endpoint;
  *
  * \param id Tech[/resource] id to look for.
  * \return Associated endpoint.
- * \return \c NULL if not found.
+ * \retval NULL if not found.
  *
  * \since 12
  */
@@ -106,7 +106,7 @@ struct ast_endpoint *ast_endpoint_find_by_id(const char *id);
  * \param tech Technology for this endpoint.
  * \param resource Name of this endpoint.
  * \return Newly created endpoint.
- * \return \c NULL on error.
+ * \retval NULL on error.
  * \since 12
  */
 struct ast_endpoint *ast_endpoint_create(const char *tech, const char *resource);
@@ -127,7 +127,7 @@ void ast_endpoint_shutdown(struct ast_endpoint *endpoint);
  *
  * \param endpoint The endpoint.
  * \return Tec of the endpoint.
- * \return \c NULL if endpoint is \c NULL.
+ * \retval NULL if endpoint is \c NULL.
  * \since 12
  */
 const char *ast_endpoint_get_tech(const struct ast_endpoint *endpoint);
@@ -142,7 +142,7 @@ const char *ast_endpoint_get_tech(const struct ast_endpoint *endpoint);
  *
  * \param endpoint The endpoint.
  * \return Resource name of the endpoint.
- * \return \c NULL if endpoint is \c NULL.
+ * \retval NULL if endpoint is \c NULL.
  * \since 12
  */
 const char *ast_endpoint_get_resource(const struct ast_endpoint *endpoint);
@@ -154,7 +154,7 @@ const char *ast_endpoint_get_resource(const struct ast_endpoint *endpoint);
  *
  * \param endpoint The endpoint.
  * \return Tech/resource id of the endpoint.
- * \return \c NULL if endpoint is \c NULL.
+ * \retval NULL if endpoint is \c NULL.
  * \since 12
  */
 const char *ast_endpoint_get_id(const struct ast_endpoint *endpoint);
@@ -164,7 +164,7 @@ const char *ast_endpoint_get_id(const struct ast_endpoint *endpoint);
  *
  * \param endpoint The endpoint.
  * \return state.
- * \return \c AST_ENDPOINT_UNKNOWN if endpoint is \c NULL.
+ * \retval AST_ENDPOINT_UNKNOWN if endpoint is \c NULL.
  * \since 13.4
  */
 enum ast_endpoint_state ast_endpoint_get_state(const struct ast_endpoint *endpoint);
diff --git a/include/asterisk/http.h b/include/asterisk/http.h
index f8fa8adc9962b653801e492195ff39ef8ecde411..033ae2debbf0cdcaf8dbc5805e673f75075ccb78 100644
--- a/include/asterisk/http.h
+++ b/include/asterisk/http.h
@@ -311,8 +311,8 @@ int ast_http_response_status_line(const char *buf, const char *version, int code
  *       respectively.
  *
  * \param buf a string containing the name/value to point to
- * \param name out parameter pointing to the header name
- * \param value out parameter pointing to header value
+ * \param[out] name header name
+ * \param[out] value header value
  * \retval -1 if buf is empty
  * \retval 0 if buf could be separated into name and value
  * \retval 1 if name or value portion don't exist
diff --git a/include/asterisk/image.h b/include/asterisk/image.h
index f159b41c742318a751230f381870b534aee9e4ec..4f491805d3be1f473b26a66f96dd5326f464c608 100644
--- a/include/asterisk/image.h
+++ b/include/asterisk/image.h
@@ -76,7 +76,6 @@ int ast_image_register(struct ast_imager *imgdrv);
  * \brief Unregister an image format
  * \param imgdrv pointer to the ast_imager structure you wish to unregister
  * Unregisters the image format passed in.
- * Returns nothing
  */
 void ast_image_unregister(struct ast_imager *imgdrv);
 
diff --git a/include/asterisk/stasis_app_device_state.h b/include/asterisk/stasis_app_device_state.h
index e01ac4a57925e4b4d6036ce120a15ebd45ce9ade..a0038f7b9aa9e57a34cbc264db789ba5ffe7e0d7 100644
--- a/include/asterisk/stasis_app_device_state.h
+++ b/include/asterisk/stasis_app_device_state.h
@@ -39,7 +39,7 @@
  * \param name the name of the device
  * \param state the device state
  * \return JSON representation.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct ast_json *stasis_app_device_state_to_json(
 	const char *name, enum ast_device_state state);
@@ -48,7 +48,7 @@ struct ast_json *stasis_app_device_state_to_json(
  * \brief Convert device states to json array.
  *
  * \return JSON representation.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct ast_json *stasis_app_device_states_to_json(void);
 
diff --git a/include/asterisk/stasis_cache_pattern.h b/include/asterisk/stasis_cache_pattern.h
index 514d62e695a509a92e9984770c463761e2f603f7..547a1c8772a2fb5eeef23bf47bbdd738618898e4 100644
--- a/include/asterisk/stasis_cache_pattern.h
+++ b/include/asterisk/stasis_cache_pattern.h
@@ -55,7 +55,7 @@ struct stasis_cp_all;
  * \param name Base name of the topics.
  * \param id_fn Identity function for the cache.
  * \return All side instance.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct stasis_cp_all *stasis_cp_all_create(const char *name,
 	snapshot_get_id id_fn);
@@ -68,7 +68,7 @@ struct stasis_cp_all *stasis_cp_all_create(const char *name,
  *
  * \param all All side caching pattern object.
  * \return The aggregate topic.
- * \return \c NULL if \a all is \c NULL
+ * \retval NULL if \a all is \c NULL
  */
 struct stasis_topic *stasis_cp_all_topic(struct stasis_cp_all *all);
 
@@ -83,7 +83,7 @@ struct stasis_topic *stasis_cp_all_topic(struct stasis_cp_all *all);
  *
  * \param all All side caching pattern object.
  * \return The aggregate caching topic.
- * \return \c NULL if \a all is \c NULL
+ * \retval NULL if \a all is \c NULL
  */
 struct stasis_topic *stasis_cp_all_topic_cached(
 	struct stasis_cp_all *all);
@@ -95,7 +95,7 @@ struct stasis_topic *stasis_cp_all_topic_cached(
  *
  * \param all All side caching pattern object.
  * \return The cache.
- * \return \c NULL if \a all is \c NULL
+ * \retval NULL if \a all is \c NULL
  */
 struct stasis_cache *stasis_cp_all_cache(struct stasis_cp_all *all);
 
@@ -152,7 +152,7 @@ void stasis_cp_single_unsubscribe(struct stasis_cp_single *one);
  *
  * \param one One side of the cache pattern.
  * \return The main topic.
- * \return \c NULL if \a one is \c NULL
+ * \retval NULL if \a one is \c NULL
  */
 struct stasis_topic *stasis_cp_single_topic(struct stasis_cp_single *one);
 
@@ -164,7 +164,7 @@ struct stasis_topic *stasis_cp_single_topic(struct stasis_cp_single *one);
  *
  * \param one One side of the cache pattern.
  * \return The caching topic.
- * \return \c NULL if \a one is \c NULL
+ * \retval NULL if \a one is \c NULL
  */
 struct stasis_topic *stasis_cp_single_topic_cached(
 	struct stasis_cp_single *one);
diff --git a/include/asterisk/stasis_endpoints.h b/include/asterisk/stasis_endpoints.h
index 71b7c59339aab906f8b157083c7343fa5dc5257b..454aa5fad8d22fc9fa906bb58f546b27ad4357b3 100644
--- a/include/asterisk/stasis_endpoints.h
+++ b/include/asterisk/stasis_endpoints.h
@@ -91,7 +91,7 @@ struct ast_endpoint_blob {
  *             \c NULL, ast_json_null() is put into the object.
  *
  * \return \ref ast_endpoint_blob message.
- * \return \c NULL on error
+ * \retval NULL on error
  */
 struct stasis_message *ast_endpoint_blob_create(struct ast_endpoint *endpoint,
 	struct stasis_message_type *type, struct ast_json *blob);
@@ -133,7 +133,7 @@ struct stasis_message_type *ast_endpoint_snapshot_type(void);
  * \brief Create a snapshot of an endpoint
  * \param endpoint Endpoint to snap a shot of.
  * \return Snapshot of the endpoint.
- * \return \c NULL on error.
+ * \retval NULL on error.
  * \since 12
  */
 struct ast_endpoint_snapshot *ast_endpoint_snapshot_create(
@@ -200,7 +200,7 @@ struct stasis_cache *ast_endpoint_cache(void);
  * \param tech Name of the endpoint's technology.
  * \param resource Resource name of the endpoint.
  * \return Snapshot of the endpoint with the given name.
- * \return \c NULL if endpoint is not found, or on error.
+ * \retval NULL if endpoint is not found, or on error.
  * \since 12
  */
 struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech,
@@ -216,7 +216,7 @@ struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech,
  * \param sanitize The message sanitizer to use on the snapshot
  *
  * \return JSON object representing endpoint snapshot.
- * \return \c NULL on error
+ * \retval NULL on error
  */
 struct ast_json *ast_endpoint_snapshot_to_json(
 	const struct ast_endpoint_snapshot *snapshot,
diff --git a/include/asterisk/stasis_internal.h b/include/asterisk/stasis_internal.h
index 2495fc0266d6394468b7beed6017ffeeb3e12ed3..678812e48ea16e9190518e9079107139ff586b9e 100644
--- a/include/asterisk/stasis_internal.h
+++ b/include/asterisk/stasis_internal.h
@@ -58,7 +58,7 @@
  *  relevant if \c needs_mailbox is non-zero.
  * \param file, lineno, func
  * \return New \ref stasis_subscription object.
- * \return \c NULL on error.
+ * \retval NULL on error.
  * \since 12
  */
 struct stasis_subscription *internal_stasis_subscribe(
diff --git a/include/asterisk/threadpool.h b/include/asterisk/threadpool.h
index 9474ede941bdb98cc7c799d15da042d57ce9b45e..a72e4523a102e6c681216f2c8f5120998dcc1c43 100644
--- a/include/asterisk/threadpool.h
+++ b/include/asterisk/threadpool.h
@@ -259,7 +259,7 @@ struct ast_taskprocessor *ast_threadpool_serializer_get_current(void);
  * \param pool \ref ast_threadpool for execution.
  *
  * \return \ref ast_taskprocessor for enqueuing work.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct ast_taskprocessor *ast_threadpool_serializer(const char *name, struct ast_threadpool *pool);
 
@@ -288,7 +288,7 @@ struct ast_taskprocessor *ast_threadpool_serializer(const char *name, struct ast
  * \param shutdown_group Group shutdown controller. (NULL if no group association)
  *
  * \return \ref ast_taskprocessor for enqueuing work.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct ast_taskprocessor *ast_threadpool_serializer_group(const char *name,
 	struct ast_threadpool *pool, struct ast_serializer_shutdown_group *shutdown_group);
diff --git a/main/stasis_endpoints.c b/main/stasis_endpoints.c
index 289a90e14f887ba76436c850265ce837a0866fd4..69399e652acb14149df21d2eca6e022acb977cf8 100644
--- a/main/stasis_endpoints.c
+++ b/main/stasis_endpoints.c
@@ -378,7 +378,7 @@ struct ast_endpoint_snapshot *ast_endpoint_latest_snapshot(const char *tech,
  *
  * \param message Message to extract id from.
  * \return String representing the snapshot's id.
- * \return \c NULL if the message_type of the message isn't a handled snapshot.
+ * \retval NULL if the message_type of the message isn't a handled snapshot.
  * \since 12
  */
 static const char *endpoint_snapshot_get_id(struct stasis_message *message)
diff --git a/res/ari/internal.h b/res/ari/internal.h
index 93ea0b773c12bfc6626777ed6644b7cf6b8e194d..610e9160cebc72a2cb9d0decba8367d9b86eadba 100644
--- a/res/ari/internal.h
+++ b/res/ari/internal.h
@@ -126,7 +126,7 @@ void ast_ari_config_destroy(void);
  * ao2_cleanup() when you're done with it.
  *
  * \return ARI configuration object.
- * \return \c NULL on error.
+ * \retval NULL on error.
  */
 struct ast_ari_conf *ast_ari_config_get(void);
 
@@ -136,7 +136,7 @@ struct ast_ari_conf *ast_ari_config_get(void);
  * \param username Name of the user.
  * \param password User's password.
  * \return User object.
- * \return \c NULL if username or password is invalid.
+ * \retval NULL if username or password is invalid.
  */
 struct ast_ari_conf_user *ast_ari_config_validate_user(const char *username,
 	const char *password);
diff --git a/res/parking/parking_ui.c b/res/parking/parking_ui.c
index f12963a2bafa5f194baae5db321536b6ec68e6f4..2b0bd92e07847b179b8facaa5b1dd9230da0929e 100644
--- a/res/parking/parking_ui.c
+++ b/res/parking/parking_ui.c
@@ -158,7 +158,7 @@ static char *complete_parking_lot(const char *word, int seeking)
 	return ret;
 }
 
-/* \brief command parking show <name> */
+/*! \brief command parking show \<name\> */
 static char *handle_show_parking_lot_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
 {
 	switch (cmd) {
diff --git a/res/stasis_recording/stored.c b/res/stasis_recording/stored.c
index 7fe2b7c47096a7e16cf8d3fc2cc6c70f80d399dc..6cdca96e2bb8990342f86945293cb78c84517c6c 100644
--- a/res/stasis_recording/stored.c
+++ b/res/stasis_recording/stored.c
@@ -180,7 +180,7 @@ static int handle_find_recording(const char *dir_name, const char *filename, voi
  * \param dir_name Directory to search (absolute path).
  * \param file File name, without extension.
  * \return Absolute path of the recording file.
- * \return \c NULL if recording is not found.
+ * \retval NULL if recording is not found.
  */
 static char *find_recording(const char *dir_name, const char *file)
 {
diff --git a/tests/test_bridging.c b/tests/test_bridging.c
index 74595c4f2057281c1c02777d279890de5a247551..f4c81b0ac306fb773e92b00e7db43889c78cecab 100644
--- a/tests/test_bridging.c
+++ b/tests/test_bridging.c
@@ -48,7 +48,7 @@
 
 /*! \brief A private structure for the test channel */
 struct test_bridging_chan_pvt {
-	/* \brief The expected indication */
+	/*! \brief The expected indication */
 	int condition;
 	/*! \brief The number of indicated things */
 	unsigned int indicated;