From: OpenOCD-Gerrit <ope...@us...> - 2021-01-13 11:34:00
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 4cf5ab614bd830355065bb9400acf5484dc3f2c3 (commit) via 02bd67db3f85b9764b6c4a3556d070a3345e4103 (commit) via fa476daa60b51881938577d102893e6443ea8bf8 (commit) via f94495154d7b8c15c8e207f76afecbe7d0aac53e (commit) via a16e8ba455c901c9656eebf9f7c06d3dc5844e6b (commit) via f83c2b0c7c53770df9771d46a32c045175d02284 (commit) via 3fbcb26f988c10286d00d08e488f87cddd4ebe38 (commit) from c1270bcb38477a0c8a8be32921fccda61f9c06c7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4cf5ab614bd830355065bb9400acf5484dc3f2c3 Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 18:17:20 2021 +0100 openocd: fix incorrect doxygen comments Use '@param' in front of function's parameters and '@a' when the parameter is recalled in the description. This fixes doxygen complains: warning: Found unknown command '@buff16' While there, fix a minor typo s/occured/occurred/ in a comment and the typo s/@apram/@param/ in a doxygen comment. Change-Id: I5cd86a80adef552331310a21c55ec5d11354be21 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/6001 Tested-by: jenkins diff --git a/src/flash/nor/dsp5680xx_flash.c b/src/flash/nor/dsp5680xx_flash.c index 6f1eccfeb..49022825e 100644 --- a/src/flash/nor/dsp5680xx_flash.c +++ b/src/flash/nor/dsp5680xx_flash.c @@ -193,8 +193,8 @@ static int dsp5680xx_probe(struct flash_bank *bank) /** * The flash module (FM) on the dsp5680xx supports both individual sector * and mass erase of the flash memory. - * If this function is called with @first == @last == 0 or if @first is the - * first sector (#0) and @last is the last sector then the mass erase command + * If this function is called with @a first == @a last == 0 or if @a first is the + * first sector (#0) and @a last is the last sector then the mass erase command * is executed (much faster than erasing each sector individually). * * @param bank diff --git a/src/helper/bits.h b/src/helper/bits.h index 464584db8..cdcac9eaf 100644 --- a/src/helper/bits.h +++ b/src/helper/bits.h @@ -36,8 +36,8 @@ /** * bitmap_zero - Clears all the bits in memory - * @dst: the address of the bitmap - * @nbits: the number of bits to clear + * @param dst the address of the bitmap + * @param nbits the number of bits to clear */ static inline void bitmap_zero(unsigned long *dst, unsigned int nbits) { @@ -47,8 +47,8 @@ static inline void bitmap_zero(unsigned long *dst, unsigned int nbits) /** * clear_bit - Clear a bit in memory - * @nr: the bit to set - * @addr: the address to start counting from + * @param nr the bit to set + * @param addr the address to start counting from */ static inline void clear_bit(unsigned int nr, volatile unsigned long *addr) { @@ -60,8 +60,8 @@ static inline void clear_bit(unsigned int nr, volatile unsigned long *addr) /** * set_bit - Set a bit in memory - * @nr: the bit to set - * @addr: the address to start counting from + * @param nr the bit to set + * @param addr the address to start counting from */ static inline void set_bit(unsigned int nr, volatile unsigned long *addr) { @@ -73,8 +73,8 @@ static inline void set_bit(unsigned int nr, volatile unsigned long *addr) /** * test_bit - Determine whether a bit is set - * @nr: bit number to test - * @addr: Address to start counting from + * @param nr bit number to test + * @param addr Address to start counting from */ static inline int test_bit(unsigned int nr, const volatile unsigned long *addr) { diff --git a/src/helper/list.h b/src/helper/list.h index 6fd0e7ca7..7f6046441 100644 --- a/src/helper/list.h +++ b/src/helper/list.h @@ -64,8 +64,8 @@ extern void __list_add(struct list_head *new, /** * list_add - add a new entry - * @new: new entry to be added - * @head: list head to add it after + * @param new new entry to be added + * @param head list head to add it after * * Insert a new entry after the specified head. * This is good for implementing stacks. @@ -78,8 +78,8 @@ static inline void list_add(struct list_head *new, struct list_head *head) /** * list_add_tail - add a new entry - * @new: new entry to be added - * @head: list head to add it before + * @param new new entry to be added + * @param head list head to add it before * * Insert a new entry before the specified head. * This is useful for implementing queues. @@ -104,7 +104,7 @@ static inline void __list_del(struct list_head *prev, struct list_head *next) /** * list_del - deletes entry from list. - * @entry: the element to delete from the list. + * @param entry the element to delete from the list. * Note: list_empty() on entry does not return true after this, the entry is * in an undefined state. */ @@ -127,10 +127,10 @@ extern void list_del(struct list_head *entry); /** * list_replace - replace old entry by new one - * @old : the element to be replaced - * @new : the new element to insert + * @param old the element to be replaced + * @param new the new element to insert * - * If @old was empty, it will be overwritten. + * If @a old was empty, it will be overwritten. */ static inline void list_replace(struct list_head *old, struct list_head *new) @@ -150,7 +150,7 @@ static inline void list_replace_init(struct list_head *old, /** * list_del_init - deletes entry from list and reinitialize it. - * @entry: the element to delete from the list. + * @param entry the element to delete from the list. */ static inline void list_del_init(struct list_head *entry) { @@ -160,8 +160,8 @@ static inline void list_del_init(struct list_head *entry) /** * list_move - delete from one list and add as another's head - * @list: the entry to move - * @head: the head that will precede our entry + * @param list the entry to move + * @param head the head that will precede our entry */ static inline void list_move(struct list_head *list, struct list_head *head) { @@ -171,8 +171,8 @@ static inline void list_move(struct list_head *list, struct list_head *head) /** * list_move_tail - delete from one list and add as another's tail - * @list: the entry to move - * @head: the head that will follow our entry + * @param list the entry to move + * @param head the head that will follow our entry */ static inline void list_move_tail(struct list_head *list, struct list_head *head) @@ -182,9 +182,9 @@ static inline void list_move_tail(struct list_head *list, } /** - * list_is_last - tests whether @list is the last entry in list @head - * @list: the entry to test - * @head: the head of the list + * list_is_last - tests whether @a list is the last entry in list @a head + * @param list the entry to test + * @param head the head of the list */ static inline int list_is_last(const struct list_head *list, const struct list_head *head) @@ -194,7 +194,7 @@ static inline int list_is_last(const struct list_head *list, /** * list_empty - tests whether a list is empty - * @head: the list to test. + * @param head the list to test. */ static inline int list_empty(const struct list_head *head) { @@ -203,7 +203,7 @@ static inline int list_empty(const struct list_head *head) /** * list_empty_careful - tests whether a list is empty and not being modified - * @head: the list to test + * @param head the list to test * * Description: * tests whether a list is empty _and_ checks that no other CPU might be @@ -222,7 +222,7 @@ static inline int list_empty_careful(const struct list_head *head) /** * list_rotate_left - rotate the list to the left - * @head: the head of the list + * @param head the head of the list */ static inline void list_rotate_left(struct list_head *head) { @@ -236,7 +236,7 @@ static inline void list_rotate_left(struct list_head *head) /** * list_is_singular - tests whether a list has just one entry. - * @head: the list to test. + * @param head the list to test. */ static inline int list_is_singular(const struct list_head *head) { @@ -257,14 +257,14 @@ static inline void __list_cut_position(struct list_head *list, /** * list_cut_position - cut a list into two - * @list: a new list to add all removed entries - * @head: a list with entries - * @entry: an entry within head, could be the head itself + * @param list a new list to add all removed entries + * @param head a list with entries + * @param entry an entry within head, could be the head itself * and if so we won't cut the list * - * This helper moves the initial part of @head, up to and - * including @entry, from @head to @list. You should - * pass on @entry an element you know is on @head. @list + * This helper moves the initial part of @a head, up to and + * including @a entry, from @a head to @a list. You should + * pass on @a entry an element you know is on @a head. @a list * should be an empty list or a list you do not care about * losing its data. * @@ -299,8 +299,8 @@ static inline void __list_splice(const struct list_head *list, /** * list_splice - join two lists, this is designed for stacks - * @list: the new list to add. - * @head: the place to add it in the first list. + * @param list the new list to add. + * @param head the place to add it in the first list. */ static inline void list_splice(const struct list_head *list, struct list_head *head) @@ -311,8 +311,8 @@ static inline void list_splice(const struct list_head *list, /** * list_splice_tail - join two lists, each list being a queue - * @list: the new list to add. - * @head: the place to add it in the first list. + * @param list the new list to add. + * @param head the place to add it in the first list. */ static inline void list_splice_tail(struct list_head *list, struct list_head *head) @@ -323,10 +323,10 @@ static inline void list_splice_tail(struct list_head *list, /** * list_splice_init - join two lists and reinitialise the emptied list. - * @list: the new list to add. - * @head: the place to add it in the first list. + * @param list the new list to add. + * @param head the place to add it in the first list. * - * The list at @list is reinitialised + * The list at @a list is reinitialised */ static inline void list_splice_init(struct list_head *list, struct list_head *head) @@ -339,11 +339,11 @@ static inline void list_splice_init(struct list_head *list, /** * list_splice_tail_init - join two lists and reinitialise the emptied list - * @list: the new list to add. - * @head: the place to add it in the first list. + * @param list the new list to add. + * @param head the place to add it in the first list. * * Each of the lists is a queue. - * The list at @list is reinitialised + * The list at @a list is reinitialised */ static inline void list_splice_tail_init(struct list_head *list, struct list_head *head) @@ -356,18 +356,18 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_entry - get the struct for this entry - * @ptr: the &struct list_head pointer. - * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. + * @param ptr the &struct list_head pointer. + * @param type the type of the struct this is embedded in. + * @param member the name of the list_struct within the struct. */ #define list_entry(ptr, type, member) \ container_of(ptr, type, member) /** * list_first_entry - get the first element from a list - * @ptr: the list head to take the element from. - * @type: the type of the struct this is embedded in. - * @member: the name of the list_struct within the struct. + * @param ptr the list head to take the element from. + * @param type the type of the struct this is embedded in. + * @param member the name of the list_struct within the struct. * * Note, that list is expected to be not empty. */ @@ -376,8 +376,8 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each - iterate over a list - * @pos: the &struct list_head to use as a loop cursor. - * @head: the head for your list. + * @param pos the &struct list_head to use as a loop cursor. + * @param head the head for your list. */ #define list_for_each(pos, head) \ for (pos = (head)->next; prefetch(pos->next), pos != (head); \ @@ -385,8 +385,8 @@ static inline void list_splice_tail_init(struct list_head *list, /** * __list_for_each - iterate over a list - * @pos: the &struct list_head to use as a loop cursor. - * @head: the head for your list. + * @param pos the &struct list_head to use as a loop cursor. + * @param head the head for your list. * * This variant differs from list_for_each() in that it's the * simplest possible list iteration code, no prefetching is done. @@ -398,8 +398,8 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_prev - iterate over a list backwards - * @pos: the &struct list_head to use as a loop cursor. - * @head: the head for your list. + * @param pos the &struct list_head to use as a loop cursor. + * @param head the head for your list. */ #define list_for_each_prev(pos, head) \ for (pos = (head)->prev; prefetch(pos->prev), pos != (head); \ @@ -407,9 +407,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_safe - iterate over a list safe against removal of list entry - * @pos: the &struct list_head to use as a loop cursor. - * @n: another &struct list_head to use as temporary storage - * @head: the head for your list. + * @param pos the &struct list_head to use as a loop cursor. + * @param n another &struct list_head to use as temporary storage + * @param head the head for your list. */ #define list_for_each_safe(pos, n, head) \ for (pos = (head)->next, n = pos->next; pos != (head); \ @@ -417,9 +417,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_prev_safe - iterate over a list backwards safe against removal of list entry - * @pos: the &struct list_head to use as a loop cursor. - * @n: another &struct list_head to use as temporary storage - * @head: the head for your list. + * @param pos the &struct list_head to use as a loop cursor. + * @param n another &struct list_head to use as temporary storage + * @param head the head for your list. */ #define list_for_each_prev_safe(pos, n, head) \ for (pos = (head)->prev, n = pos->prev; \ @@ -428,9 +428,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry - iterate over list of given type - * @pos: the type * to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the list_struct within the struct. */ #define list_for_each_entry(pos, head, member) \ for (pos = list_entry((head)->next, typeof(*pos), member); \ @@ -439,9 +439,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_reverse - iterate backwards over list of given type. - * @pos: the type * to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the list_struct within the struct. */ #define list_for_each_entry_reverse(pos, head, member) \ for (pos = list_entry((head)->prev, typeof(*pos), member); \ @@ -450,9 +450,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_prepare_entry - prepare a pos entry for use in list_for_each_entry_continue() - * @pos: the type * to use as a start point - * @head: the head of the list - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a start point + * @param head the head of the list + * @param member the name of the list_struct within the struct. * * Prepares a pos entry for use as a start point in list_for_each_entry_continue(). */ @@ -461,9 +461,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_continue - continue iteration over list of given type - * @pos: the type * to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Continue to iterate over list of given type, continuing after * the current position. @@ -475,9 +475,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_continue_reverse - iterate backwards from the given point - * @pos: the type * to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Start to iterate over list of given type backwards, continuing after * the current position. @@ -489,9 +489,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_from - iterate over list of given type from the current point - * @pos: the type * to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Iterate over list of given type, continuing from current position. */ @@ -501,10 +501,10 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_safe - iterate over list of given type safe against removal of list entry - * @pos: the type * to use as a loop cursor. - * @n: another type * to use as temporary storage - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param n another type * to use as temporary storage + * @param head the head for your list. + * @param member the name of the list_struct within the struct. */ #define list_for_each_entry_safe(pos, n, head, member) \ for (pos = list_entry((head)->next, typeof(*pos), member), \ @@ -514,10 +514,10 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_safe_continue - continue list iteration safe against removal - * @pos: the type * to use as a loop cursor. - * @n: another type * to use as temporary storage - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param n another type * to use as temporary storage + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Iterate over list of given type, continuing after current point, * safe against removal of list entry. @@ -530,10 +530,10 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_safe_from - iterate over list from current point safe against removal - * @pos: the type * to use as a loop cursor. - * @n: another type * to use as temporary storage - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param n another type * to use as temporary storage + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Iterate over list of given type from current point, safe against * removal of list entry. @@ -545,10 +545,10 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_for_each_entry_safe_reverse - iterate backwards over list safe against removal - * @pos: the type * to use as a loop cursor. - * @n: another type * to use as temporary storage - * @head: the head for your list. - * @member: the name of the list_struct within the struct. + * @param pos the type * to use as a loop cursor. + * @param n another type * to use as temporary storage + * @param head the head for your list. + * @param member the name of the list_struct within the struct. * * Iterate backwards over list of given type, safe against removal * of list entry. @@ -561,9 +561,9 @@ static inline void list_splice_tail_init(struct list_head *list, /** * list_safe_reset_next - reset a stale list_for_each_entry_safe loop - * @pos: the loop cursor used in the list_for_each_entry_safe loop - * @n: temporary storage used in list_for_each_entry_safe - * @member: the name of the list_struct within the struct. + * @param pos the loop cursor used in the list_for_each_entry_safe loop + * @param n temporary storage used in list_for_each_entry_safe + * @param member the name of the list_struct within the struct. * * list_safe_reset_next is not safe to use in general if the list may be * modified concurrently (eg. the lock is dropped in the loop body). An @@ -686,10 +686,10 @@ static inline void hlist_move_list(struct hlist_head *old, /** * hlist_for_each_entry - iterate over list of given type - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @head: the head for your list. - * @member: the name of the hlist_node within the struct. + * @param tpos the type * to use as a loop cursor. + * @param pos the &struct hlist_node to use as a loop cursor. + * @param head the head for your list. + * @param member the name of the hlist_node within the struct. */ #define hlist_for_each_entry(tpos, pos, head, member) \ for (pos = (head)->first; \ @@ -699,9 +699,9 @@ static inline void hlist_move_list(struct hlist_head *old, /** * hlist_for_each_entry_continue - iterate over a hlist continuing after current point - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @member: the name of the hlist_node within the struct. + * @param tpos the type * to use as a loop cursor. + * @param pos the &struct hlist_node to use as a loop cursor. + * @param member the name of the hlist_node within the struct. */ #define hlist_for_each_entry_continue(tpos, pos, member) \ for (pos = (pos)->next; \ @@ -711,9 +711,9 @@ static inline void hlist_move_list(struct hlist_head *old, /** * hlist_for_each_entry_from - iterate over a hlist continuing from current point - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @member: the name of the hlist_node within the struct. + * @param tpos the type * to use as a loop cursor. + * @param pos the &struct hlist_node to use as a loop cursor. + * @param member the name of the hlist_node within the struct. */ #define hlist_for_each_entry_from(tpos, pos, member) \ for (; pos && ({ prefetch(pos->next); 1; }) && \ @@ -722,11 +722,11 @@ static inline void hlist_move_list(struct hlist_head *old, /** * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry - * @tpos: the type * to use as a loop cursor. - * @pos: the &struct hlist_node to use as a loop cursor. - * @n: another &struct hlist_node to use as temporary storage - * @head: the head for your list. - * @member: the name of the hlist_node within the struct. + * @param tpos the type * to use as a loop cursor. + * @param pos the &struct hlist_node to use as a loop cursor. + * @param n another &struct hlist_node to use as temporary storage + * @param head the head for your list. + * @param member the name of the hlist_node within the struct. */ #define hlist_for_each_entry_safe(tpos, pos, n, head, member) \ for (pos = (head)->first; \ diff --git a/src/jtag/drivers/jtag_dpi.c b/src/jtag/drivers/jtag_dpi.c index 575c6bce2..7cac20051 100644 --- a/src/jtag/drivers/jtag_dpi.c +++ b/src/jtag/drivers/jtag_dpi.c @@ -79,8 +79,8 @@ static int read_sock(char *buf, size_t len) /** * jtag_dpi_reset - ask to reset the JTAG device - * @trst: 1 if TRST is to be asserted - * @srst: 1 if SRST is to be asserted + * @param trst 1 if TRST is to be asserted + * @param srst 1 if SRST is to be asserted */ static int jtag_dpi_reset(int trst, int srst) { @@ -109,11 +109,11 @@ static int jtag_dpi_reset(int trst, int srst) /** * jtag_dpi_scan - launches a DR-scan or IR-scan - * @cmd: the command to launch + * @param cmd the command to launch * * Launch a JTAG IR-scan or DR-scan * - * Returns ERROR_OK if OK, ERROR_xxx if a read/write error occured. + * Returns ERROR_OK if OK, ERROR_xxx if a read/write error occurred. */ static int jtag_dpi_scan(struct scan_command *cmd) { diff --git a/src/jtag/drivers/jtag_vpi.c b/src/jtag/drivers/jtag_vpi.c index 32a43f8bf..a6609d21e 100644 --- a/src/jtag/drivers/jtag_vpi.c +++ b/src/jtag/drivers/jtag_vpi.c @@ -208,8 +208,8 @@ static int jtag_vpi_receive_cmd(struct vpi_cmd *vpi) /** * jtag_vpi_reset - ask to reset the JTAG device - * @trst: 1 if TRST is to be asserted - * @srst: 1 if SRST is to be asserted + * @param trst 1 if TRST is to be asserted + * @param srst 1 if SRST is to be asserted */ static int jtag_vpi_reset(int trst, int srst) { @@ -223,8 +223,8 @@ static int jtag_vpi_reset(int trst, int srst) /** * jtag_vpi_tms_seq - ask a TMS sequence transition to JTAG - * @bits: TMS bits to be written (bit0, bit1 .. bitN) - * @nb_bits: number of TMS bits (between 1 and 8) + * @param bits TMS bits to be written (bit0, bit1 .. bitN) + * @param nb_bits number of TMS bits (between 1 and 8) * * Write a series of TMS transitions, where each transition consists in : * - writing out TCK=0, TMS=<new_state>, TDI=<???> @@ -250,7 +250,7 @@ static int jtag_vpi_tms_seq(const uint8_t *bits, int nb_bits) /** * jtag_vpi_path_move - ask a TMS sequence transition to JTAG - * @cmd: path transition + * @param cmd path transition * * Write a series of TMS transitions, where each transition consists in : * - writing out TCK=0, TMS=<new_state>, TDI=<???> @@ -276,7 +276,7 @@ static int jtag_vpi_path_move(struct pathmove_command *cmd) /** * jtag_vpi_tms - ask a tms command - * @cmd: tms command + * @param cmd tms command */ static int jtag_vpi_tms(struct tms_command *cmd) { @@ -342,8 +342,8 @@ static int jtag_vpi_queue_tdi_xfer(uint8_t *bits, int nb_bits, int tap_shift) /** * jtag_vpi_queue_tdi - short description - * @bits: bits to be queued on TDI (or NULL if 0 are to be queued) - * @nb_bits: number of bits + * @param bits bits to be queued on TDI (or NULL if 0 are to be queued) + * @param nb_bits number of bits */ static int jtag_vpi_queue_tdi(uint8_t *bits, int nb_bits, int tap_shift) { @@ -372,7 +372,7 @@ static int jtag_vpi_queue_tdi(uint8_t *bits, int nb_bits, int tap_shift) /** * jtag_vpi_clock_tms - clock a TMS transition - * @tms: the TMS to be sent + * @param tms the TMS to be sent * * Triggers a TMS transition (ie. one JTAG TAP state move). */ @@ -386,7 +386,7 @@ static int jtag_vpi_clock_tms(int tms) /** * jtag_vpi_scan - launches a DR-scan or IR-scan - * @cmd: the command to launch + * @param cmd the command to launch * * Launch a JTAG IR-scan or DR-scan * diff --git a/src/jtag/drivers/usb_blaster/usb_blaster.c b/src/jtag/drivers/usb_blaster/usb_blaster.c index de3b5d58b..5559bcedb 100644 --- a/src/jtag/drivers/usb_blaster/usb_blaster.c +++ b/src/jtag/drivers/usb_blaster/usb_blaster.c @@ -253,7 +253,7 @@ static void ublast_flush_buffer(void) /** * ublast_queue_byte - queue one 'bitbang mode' byte for USB Blaster - * @abyte: the byte to queue + * @param abyte the byte to queue * * Queues one byte in 'bitbang mode' to the USB Blaster. The byte is not * actually sent, but stored in a buffer. The write is performed once @@ -271,7 +271,7 @@ static void ublast_queue_byte(uint8_t abyte) /** * ublast_compute_pin - compute if gpio should be asserted - * @steer: control (ie. TRST driven, SRST driven, of fixed) + * @param steer control (ie. TRST driven, SRST driven, of fixed) * * Returns pin value (1 means driven high, 0 mean driven low) */ @@ -293,7 +293,7 @@ static bool ublast_compute_pin(enum gpio_steer steer) /** * ublast_build_out - build bitbang mode output byte - * @type: says if reading back TDO is required + * @param type says if reading back TDO is required * * Returns the compute bitbang mode byte */ @@ -313,8 +313,8 @@ static uint8_t ublast_build_out(enum scan_type type) /** * ublast_reset - reset the JTAG device is possible - * @trst: 1 if TRST is to be asserted - * @srst: 1 if SRST is to be asserted + * @param trst 1 if TRST is to be asserted + * @param srst 1 if SRST is to be asserted */ static void ublast_reset(int trst, int srst) { @@ -329,7 +329,7 @@ static void ublast_reset(int trst, int srst) /** * ublast_clock_tms - clock a TMS transition - * @tms: the TMS to be sent + * @param tms the TMS to be sent * * Triggers a TMS transition (ie. one JTAG TAP state move). */ @@ -360,8 +360,8 @@ static void ublast_idle_clock(void) /** * ublast_clock_tdi - Output a TDI with bitbang mode - * @tdi: the TDI bit to be shifted out - * @type: scan type (ie. does a readback of TDO is required) + * @param tdi the TDI bit to be shifted out + * @param type scan type (ie. does a readback of TDO is required) * * Output a TDI bit and assert clock to push it into the JTAG device : * - writing out TCK=0, TMS=<old_state>=0, TDI=<tdi> @@ -387,8 +387,8 @@ static void ublast_clock_tdi(int tdi, enum scan_type type) /** * ublast_clock_tdi_flip_tms - Output a TDI with bitbang mode, change JTAG state - * @tdi: the TDI bit to be shifted out - * @type: scan type (ie. does a readback of TDO is required) + * @param tdi the TDI bit to be shifted out + * @param type scan type (ie. does a readback of TDO is required) * * This function is the same as ublast_clock_tdi(), but it changes also the TMS * while output the TDI. This should be the last TDI output of a TDI @@ -416,8 +416,8 @@ static void ublast_clock_tdi_flip_tms(int tdi, enum scan_type type) /** * ublast_queue_bytes - queue bytes for the USB Blaster - * @bytes: byte array - * @nb_bytes: number of bytes + * @param bytes byte array + * @param nb_bytes number of bytes * * Queues bytes to be sent to the USB Blaster. The bytes are not * actually sent, but stored in a buffer. The write is performed once @@ -443,9 +443,9 @@ static void ublast_queue_bytes(uint8_t *bytes, int nb_bytes) /** * ublast_tms_seq - write a TMS sequence transition to JTAG - * @bits: TMS bits to be written (bit0, bit1 .. bitN) - * @nb_bits: number of TMS bits (between 1 and 8) - * @skip: number of TMS bits to skip at the beginning of the series + * @param bits TMS bits to be written (bit0, bit1 .. bitN) + * @param nb_bits number of TMS bits (between 1 and 8) + * @param skip number of TMS bits to skip at the beginning of the series * * Write a series of TMS transitions, where each transition consists in : * - writing out TCK=0, TMS=<new_state>, TDI=<???> @@ -465,7 +465,7 @@ static void ublast_tms_seq(const uint8_t *bits, int nb_bits, int skip) /** * ublast_tms - write a tms command - * @cmd: tms command + * @param cmd tms command */ static void ublast_tms(struct tms_command *cmd) { @@ -475,7 +475,7 @@ static void ublast_tms(struct tms_command *cmd) /** * ublast_path_move - write a TMS sequence transition to JTAG - * @cmd: path transition + * @param cmd path transition * * Write a series of TMS transitions, where each transition consists in : * - writing out TCK=0, TMS=<new_state>, TDI=<???> @@ -501,8 +501,8 @@ static void ublast_path_move(struct pathmove_command *cmd) /** * ublast_state_move - move JTAG state to the target state - * @state: the target state - * @skip: number of bits to skip at the beginning of the path + * @param state the target state + * @param skip number of bits to skip at the beginning of the path * * Input the correct TMS sequence to the JTAG TAP so that we end up in the * target state. This assumes the current state (tap_get_state()) is correct. @@ -524,8 +524,8 @@ static void ublast_state_move(tap_state_t state, int skip) /** * ublast_read_byteshifted_tdos - read TDO of byteshift writes - * @buf: the buffer to store the bits - * @nb_bits: the number of bits + * @param buf the buffer to store the bits + * @param nb_bits the number of bits * * Reads back from USB Blaster TDO bits, triggered by a 'byteshift write', ie. eight * bits per received byte from USB interface, and store them in buffer. @@ -552,8 +552,8 @@ static int ublast_read_byteshifted_tdos(uint8_t *buf, int nb_bytes) /** * ublast_read_bitbang_tdos - read TDO of bitbang writes - * @buf: the buffer to store the bits - * @nb_bits: the number of bits + * @param buf the buffer to store the bits + * @param nb_bits the number of bits * * Reads back from USB Blaster TDO bits, triggered by a 'bitbang write', ie. one * bit per received byte from USB interface, and store them in buffer, where : @@ -592,9 +592,9 @@ static int ublast_read_bitbang_tdos(uint8_t *buf, int nb_bits) /** * ublast_queue_tdi - short description - * @bits: bits to be queued on TDI (or NULL if 0 are to be queued) - * @nb_bits: number of bits - * @scan: scan type (ie. if TDO read back is required or not) + * @param bits bits to be queued on TDI (or NULL if 0 are to be queued) + * @param nb_bits number of bits + * @param scan scan type (ie. if TDO read back is required or not) * * Outputs a series of TDI bits on TDI. * As a side effect, the last TDI bit is sent along a TMS=1, and triggers a JTAG @@ -703,7 +703,7 @@ static void ublast_stableclocks(int cycles) /** * ublast_scan - launches a DR-scan or IR-scan - * @cmd: the command to launch + * @param cmd the command to launch * * Launch a JTAG IR-scan or DR-scan * diff --git a/src/target/dsp5680xx.c b/src/target/dsp5680xx.c index ee26d24ac..ec07c2519 100644 --- a/src/target/dsp5680xx.c +++ b/src/target/dsp5680xx.c @@ -117,7 +117,7 @@ static int dsp5680xx_drscan(struct target *target, uint8_t *d_in, * @param target * @param d_in This is the data that will be shifted into the JTAG IR reg. * @param d_out The data that will be shifted out of the JTAG IR reg will be stored here. - * @apram ir_len Length of the data to be shifted to JTAG IR. + * @param ir_len Length of the data to be shifted to JTAG IR. * */ static int dsp5680xx_irscan(struct target *target, uint32_t *d_in, @@ -1070,8 +1070,8 @@ static int dsp5680xx_resume(struct target *target, int current, } /** - * The value of @address determines if it corresponds to P: (program) or X: (dat) memory. - * If the address is over 0x200000 then it is considered X: memory, and @pmem = 0. + * The value of @a address determines if it corresponds to P: (program) or X: (dat) memory. + * If the address is over 0x200000 then it is considered X: memory, and @a pmem = 0. * The special case of 0xFFXXXX is not modified, since it allows to read out the * memory mapped EOnCE registers. * @@ -1405,8 +1405,8 @@ static int dsp5680xx_write_32(struct target *t, uint32_t a, uint32_t c, } /** - * Writes @buffer to memory. - * The parameter @address determines whether @buffer should be written to + * Writes @a buffer to memory. + * The parameter @a address determines whether @a buffer should be written to * P: (program) memory or X: (dat) memory. * * @param target @@ -1506,8 +1506,8 @@ static int dsp5680xx_checksum_memory(struct target *t, target_addr_t a, uint32_t } /** - * Calculates a signature over @word_count words in the data from @buff16. - * The algorithm used is the same the FM uses, so the @return may be used to compare + * Calculates a signature over @a word_count words in the data from @a buff16. + * The algorithm used is the same the FM uses, so the @a return may be used to compare * with the one generated by the FM module, and check if flashing was successful. * This algorithm is based on the perl script available from the Freescale website at FAQ 25630. * @@ -1606,14 +1606,14 @@ int dsp5680xx_f_protect_check(struct target *target, uint16_t *protected) /** * Executes a command on the FM module. - * Some commands use the parameters @address and @data, others ignore them. + * Some commands use the parameters @a address and @a data, others ignore them. * * @param target * @param command Command to execute. * @param address Command parameter. * @param data Command parameter. * @param hfm_ustat FM status register. - * @param pmem Address is P: (program) memory (@pmem == 1) or X: (dat) memory (@pmem == 0) + * @param pmem Address is P: (program) memory (@a pmem == 1) or X: (dat) memory (@a pmem == 0) * * @return */ @@ -1787,9 +1787,9 @@ static int set_fm_ck_div(struct target *target) /** * Executes the FM calculate signature command. The FM will calculate over the - * data from @address to @address + @words -1. The result is written to a - * register, then read out by this function and returned in @signature. The - * value @signature may be compared to the one returned by perl_crc to + * data from @a address to @a address + @a words -1. The result is written to a + * register, then read out by this function and returned in @a signature. The + * value @a signature may be compared to the one returned by perl_crc to * verify the flash was written correctly. * * @param target commit 02bd67db3f85b9764b6c4a3556d070a3345e4103 Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 17:39:57 2021 +0100 Doxyfile.in: exclude libjaylink from doxygen When build using libjaylink as git submodule, doxygen includes the libjaylink files and complains for multiple 'mainpage' comment block, one in OpenOCD and the other in libjaylink: src/jtag/drivers/libjaylink/libjaylink/core.c:37: warning: found more than one \mainpage comment block! (first occurrence: doc/manual/main.txt, line 1), Skipping current block! Exclude libjaylink submodule from doxygen. Change-Id: I5e856817344c9f21f8c26f077a23c00b83cfbcb5 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/6000 Tested-by: jenkins diff --git a/Doxyfile.in b/Doxyfile.in index 55ed7f0f1..9be53d0fc 100644 --- a/Doxyfile.in +++ b/Doxyfile.in @@ -600,7 +600,7 @@ RECURSIVE = YES # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. -EXCLUDE = +EXCLUDE = @srcdir@/src/jtag/drivers/libjaylink # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded commit fa476daa60b51881938577d102893e6443ea8bf8 Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 17:32:26 2021 +0100 doc/manual/primer/jtag.txt: remove duplicated section name The section name 'primerjtag' is used twice, causing doxygen to complain: warning: multiple use of section label 'primerjtag', (first occurrence: doc/manual/primer/jtag.txt, line 107) Rename one of them. Change-Id: Id307915dbc51a7f647fab4fb28ab431e65344d61 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5999 Tested-by: jenkins diff --git a/doc/manual/primer/jtag.txt b/doc/manual/primer/jtag.txt index 41eef723d..097e20d10 100644 --- a/doc/manual/primer/jtag.txt +++ b/doc/manual/primer/jtag.txt @@ -104,7 +104,7 @@ target chips and work out what the various instruction registers/data registers do, so you can actually do something useful. That's where it gets interesting. But in and of itself, JTAG is actually very simple. -@section primerjtag More Reading +@section primerjtagmore More Reading A separate primer contains information about @subpage primerjtagbs for developers that want to extend OpenOCD for such purposes. commit f94495154d7b8c15c8e207f76afecbe7d0aac53e Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 17:13:12 2021 +0100 Doxyfile.in: fix build out-of-tree When doxygen is built out-of-tree, it fails to find the generated file startup_tcl.inc: src/openocd.c:59: warning: include file startup_tcl.inc not found, perhaps you forgot to add its directory to INCLUDE_PATH? Add '@builddir@/src' to INCLUDE_PATH. Change-Id: I51f2f6fe7224bba0f8b3db7219f9831de4e67139 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5998 Tested-by: jenkins diff --git a/Doxyfile.in b/Doxyfile.in index 6e68b4e37..55ed7f0f1 100644 --- a/Doxyfile.in +++ b/Doxyfile.in @@ -1234,7 +1234,7 @@ SEARCH_INCLUDES = YES # contain include files that are not input files but should be processed by # the preprocessor. -INCLUDE_PATH = +INCLUDE_PATH = @builddir@/src # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the commit a16e8ba455c901c9656eebf9f7c06d3dc5844e6b Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 17:00:59 2021 +0100 flash/nor/max32xxx: fix path of include file The relative path should have three times '..'. Issue identified by doxygen: src/flash/nor/max32xxx.c:85: warning: include file ../../contrib/loaders/flash/max32xxx/max32xxx.inc not found, perhaps you forgot to add its directory to INCLUDE_PATH? Change-Id: Ie7b4948c6770b8acb9eff26e08eea32945ebb219 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5997 Tested-by: jenkins diff --git a/src/flash/nor/max32xxx.c b/src/flash/nor/max32xxx.c index 9a5e83fa0..586a73b1d 100644 --- a/src/flash/nor/max32xxx.c +++ b/src/flash/nor/max32xxx.c @@ -82,7 +82,7 @@ struct max32xxx_flash_bank { /* see contrib/loaders/flash/max32xxx/max32xxx.s for src */ static const uint8_t write_code[] = { -#include "../../contrib/loaders/flash/max32xxx/max32xxx.inc" +#include "../../../contrib/loaders/flash/max32xxx/max32xxx.inc" }; /* Config Command: flash bank name driver base size chip_width bus_width target [driver_option] commit f83c2b0c7c53770df9771d46a32c045175d02284 Author: Antonio Borneo <bor...@gm...> Date: Sat Jan 2 16:49:11 2021 +0100 doc/style: fix doxygen error Doxygen complains about non-closed nested comments: doc/manual/style.txt:423: warning: Reached end of file while still inside a (nested) comment. Nesting level 1 (probable line reference: 149) This is caused by the string '/**' that is interpreted as the beginning of a comment. Escape the string to not let doxygen consider it as a comment While there, replace @code/@endcode with @verbatim/@endverbatim to properly render the line. Change-Id: If2a27c4cf659326e317cc4ac8c0b313e97e40432 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5996 Tested-by: jenkins diff --git a/doc/manual/style.txt b/doc/manual/style.txt index 7191a4b0e..dad3bb440 100644 --- a/doc/manual/style.txt +++ b/doc/manual/style.txt @@ -186,9 +186,9 @@ comments. "empty" lines should be removed from the block. -# Only single spaces should be used; do @b not add mid-line indentation. -# If the total line length will be less than 72-80 columns, then - - The @c /**< form can be used on the same line. + - The @c /\**< form can be used on the same line. - This style should be used sparingly; the best use is for fields: - @code int field; /**< field description */ @endcode + @verbatim int field; /**< field description */ @endverbatim @section styledoxyall Doxygen Style Guide commit 3fbcb26f988c10286d00d08e488f87cddd4ebe38 Author: Antonio Borneo <bor...@gm...> Date: Sun Jan 3 12:02:49 2021 +0100 udev: fix permission for Ambiq Micro EVK's Commit 68e204f1e91a ("udev: Add rules for Ambiq Micro EVK's.") was initially proposed as http://openocd.zylin.com/3429/ then replaced by http://openocd.zylin.com/3980/ The initial proposal was for file '99-openocd.rules', in which MODE="664" was the norm. After merge of http://openocd.zylin.com/2804/ the new udev rules in '60-openocd.rules' switched to MODE="660", but the evolution of the above patch missed this change. Switch udev rules of Ambiq Micro EVK's to MODE="660" and uniform them to the rest of the file. Change-Id: I4b4eea535184ee8569da3264bff4f1fafb5bce4d Signed-off-by: Antonio Borneo <bor...@gm...> Fixes: 68e204f1e91a ("udev: Add rules for Ambiq Micro EVK's.") Reviewed-on: http://openocd.zylin.com/6004 Tested-by: jenkins diff --git a/contrib/60-openocd.rules b/contrib/60-openocd.rules index b886df50b..e0864b827 100644 --- a/contrib/60-openocd.rules +++ b/contrib/60-openocd.rules @@ -161,9 +161,9 @@ ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="02a5", MODE="660", GROUP="plugdev", ATTRS{idVendor}=="1cbe", ATTRS{idProduct}=="00ff", MODE="660", GROUP="plugdev", TAG+="uaccess" # Ambiq Micro EVK and Debug boards. -ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6010", MODE="664", GROUP="plugdev", TAG+="uaccess" -ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6011", MODE="664", GROUP="plugdev", TAG+="uaccess" -ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="1106", MODE="664", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6010", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="6011", MODE="660", GROUP="plugdev", TAG+="uaccess" +ATTRS{idVendor}=="2aec", ATTRS{idProduct}=="1106", MODE="660", GROUP="plugdev", TAG+="uaccess" # Marvell Sheevaplug ATTRS{idVendor}=="9e88", ATTRS{idProduct}=="9e8f", MODE="660", GROUP="plugdev", TAG+="uaccess" ----------------------------------------------------------------------- Summary of changes: Doxyfile.in | 4 +- contrib/60-openocd.rules | 6 +- doc/manual/primer/jtag.txt | 2 +- doc/manual/style.txt | 4 +- src/flash/nor/dsp5680xx_flash.c | 4 +- src/flash/nor/max32xxx.c | 2 +- src/helper/bits.h | 16 +-- src/helper/list.h | 212 ++++++++++++++--------------- src/jtag/drivers/jtag_dpi.c | 8 +- src/jtag/drivers/jtag_vpi.c | 20 +-- src/jtag/drivers/usb_blaster/usb_blaster.c | 54 ++++---- src/target/dsp5680xx.c | 24 ++-- 12 files changed, 178 insertions(+), 178 deletions(-) hooks/post-receive -- Main OpenOCD repository |