This is an automated email from Gerrit.

"Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>" just uploaded a new patch 
set to Gerrit, which you can find at https://review.openocd.org/c/openocd/+/8092

-- gerrit

commit d3e17e30136ed23c19d143cdca25a8332822e2df
Author: Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>
Date:   Thu Jan 11 14:02:28 2024 +0300

    target: pass target to observers via const pointer
    
    There are quite a lot of "getters" in target interface.
    They do not change target structure, nevertheless the structure is
    passed to these functions via a plain pointer.
    
    The intention is to clarify the purpouse of these functions by passing
    the `target` structure as a pointer to constant data.
    
    Change-Id: Ida4a798da94938753b86a293a308d93b091d1bf3
    Signed-off-by: Evgeniy Naydanov <evgeniy.nayda...@syntacore.com>

diff --git a/src/target/target.c b/src/target/target.c
index 61890aa3e5..244a5bf7dc 100644
--- a/src/target/target.c
+++ b/src/target/target.c
@@ -248,7 +248,7 @@ static const struct nvp nvp_reset_modes[] = {
        { .name = NULL,      .value = -1 },
 };
 
-const char *debug_reason_name(struct target *t)
+const char *debug_reason_name(const struct target *t)
 {
        const char *cp;
 
@@ -261,7 +261,7 @@ const char *debug_reason_name(struct target *t)
        return cp;
 }
 
-const char *target_state_name(struct target *t)
+const char *target_state_name(const struct target *t)
 {
        const char *cp;
        cp = nvp_value2name(nvp_target_state, t->state)->name;
@@ -737,7 +737,7 @@ int target_examine(void)
        return retval;
 }
 
-const char *target_type_name(struct target *target)
+const char *target_type_name(const struct target *target)
 {
        return target->type->name;
 }
@@ -1402,7 +1402,7 @@ int target_get_gdb_reg_list_noread(struct target *target,
        return target_get_gdb_reg_list(target, reg_list, reg_list_size, 
reg_class);
 }
 
-bool target_supports_gdb_connection(struct target *target)
+bool target_supports_gdb_connection(const struct target *target)
 {
        /*
         * exclude all the targets that don't provide get_gdb_reg_list
@@ -5236,7 +5236,7 @@ static int target_jim_set_reg(Jim_Interp *interp, int 
argc,
 /**
  * Returns true only if the target has a handler for the specified event.
  */
-bool target_has_event_action(struct target *target, enum target_event event)
+bool target_has_event_action(const struct target *target, enum target_event 
event)
 {
        struct target_event_action *teap;
 
diff --git a/src/target/target.h b/src/target/target.h
index f69ee77ac4..bd01f5eb68 100644
--- a/src/target/target.h
+++ b/src/target/target.h
@@ -222,19 +222,19 @@ struct gdb_fileio_info {
 };
 
 /** Returns a description of the endianness for the specified target. */
-static inline const char *target_endianness(struct target *target)
+static inline const char *target_endianness(const struct target *target)
 {
        return (target->endianness == TARGET_ENDIAN_UNKNOWN) ? "unknown" :
                        (target->endianness == TARGET_BIG_ENDIAN) ? "big 
endian" : "little endian";
 }
 
 /** Returns the instance-specific name of the specified target. */
-static inline const char *target_name(struct target *target)
+static inline const char *target_name(const struct target *target)
 {
        return target->cmd_name;
 }
 
-const char *debug_reason_name(struct target *t);
+const char *debug_reason_name(const struct target *t);
 
 enum target_event {
 
@@ -301,7 +301,7 @@ struct target_event_action {
        struct target_event_action *next;
 };
 
-bool target_has_event_action(struct target *target, enum target_event event);
+bool target_has_event_action(const struct target *target, enum target_event 
event);
 
 struct target_event_callback {
        int (*callback)(struct target *target, enum target_event event, void 
*priv);
@@ -421,7 +421,7 @@ struct target *get_target(const char *id);
  * This routine is a wrapper for the target->type->name field.
  * Note that this is not an instance-specific name for his target.
  */
-const char *target_type_name(struct target *target);
+const char *target_type_name(const struct target *target);
 
 /**
  * Examine the specified @a target, letting it perform any
@@ -432,7 +432,7 @@ const char *target_type_name(struct target *target);
 int target_examine_one(struct target *target);
 
 /** @returns @c true if target_set_examined() has been called. */
-static inline bool target_was_examined(struct target *target)
+static inline bool target_was_examined(const struct target *target)
 {
        return target->examined;
 }
@@ -527,7 +527,7 @@ int target_get_gdb_reg_list_noread(struct target *target,
  *
  * Some target do not implement the necessary code required by GDB.
  */
-bool target_supports_gdb_connection(struct target *target);
+bool target_supports_gdb_connection(const struct target *target);
 
 /**
  * Step the target.
@@ -694,7 +694,7 @@ unsigned target_address_bits(struct target *target);
 unsigned int target_data_bits(struct target *target);
 
 /** Return the *name* of this targets current state */
-const char *target_state_name(struct target *target);
+const char *target_state_name(const struct target *target);
 
 /** Return the *name* of a target event enumeration value */
 const char *target_event_name(enum target_event event);

-- 

Reply via email to