Make some private functions "static".  Remove their public declarations,
and what is now an obviously unused function.  Shrinks this object's size
(about 5% on x86_64) while making the code's scope easier to understand.
Shrink the affected lines.
---
 src/target/arm_adi_v5.c |   46 +++++++++++++++++++++++++++-------------------
 src/target/arm_adi_v5.h |   20 ++++++++------------
 2 files changed, 35 insertions(+), 31 deletions(-)

--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -71,7 +71,9 @@ static uint32_t max_tar_block_size(uint3
 ***************************************************************************/
 
 /* Scan out and in from target ordered uint8_t buffers */
-int adi_jtag_dp_scan(struct swjdp_common *swjdp, uint8_t instr, uint8_t 
reg_addr, uint8_t RnW, uint8_t *outvalue, uint8_t *invalue, uint8_t *ack)
+static int adi_jtag_dp_scan(struct swjdp_common *swjdp,
+               uint8_t instr, uint8_t reg_addr, uint8_t RnW,
+               uint8_t *outvalue, uint8_t *invalue, uint8_t *ack)
 {
        struct arm_jtag *jtag_info = swjdp->jtag_info;
        struct scan_field fields[2];
@@ -101,7 +103,9 @@ int adi_jtag_dp_scan(struct swjdp_common
 }
 
 /* Scan out and in from host ordered uint32_t variables */
-int adi_jtag_dp_scan_u32(struct swjdp_common *swjdp, uint8_t instr, uint8_t 
reg_addr, uint8_t RnW, uint32_t outvalue, uint32_t *invalue, uint8_t *ack)
+static int adi_jtag_dp_scan_u32(struct swjdp_common *swjdp,
+               uint8_t instr, uint8_t reg_addr, uint8_t RnW,
+               uint32_t outvalue, uint32_t *invalue, uint8_t *ack)
 {
        struct arm_jtag *jtag_info = swjdp->jtag_info;
        struct scan_field fields[2];
@@ -143,7 +147,9 @@ int adi_jtag_dp_scan_u32(struct swjdp_co
 }
 
 /* scan_inout_check adds one extra inscan for DPAP_READ commands to read 
variables */
-int scan_inout_check(struct swjdp_common *swjdp, uint8_t instr, uint8_t 
reg_addr, uint8_t RnW, uint8_t *outvalue, uint8_t *invalue)
+static int scan_inout_check(struct swjdp_common *swjdp,
+               uint8_t instr, uint8_t reg_addr, uint8_t RnW,
+               uint8_t *outvalue, uint8_t *invalue)
 {
        adi_jtag_dp_scan(swjdp, instr, reg_addr, RnW, outvalue, NULL, NULL);
 
@@ -161,7 +167,9 @@ int scan_inout_check(struct swjdp_common
        return ERROR_OK;
 }
 
-int scan_inout_check_u32(struct swjdp_common *swjdp, uint8_t instr, uint8_t 
reg_addr, uint8_t RnW, uint32_t outvalue, uint32_t *invalue)
+static int scan_inout_check_u32(struct swjdp_common *swjdp,
+               uint8_t instr, uint8_t reg_addr, uint8_t RnW,
+               uint32_t outvalue, uint32_t *invalue)
 {
        adi_jtag_dp_scan_u32(swjdp, instr, reg_addr, RnW, outvalue, NULL, NULL);
 
@@ -287,12 +295,14 @@ int swjdp_transaction_endcheck(struct sw
  *                                                                         *
 ***************************************************************************/
 
-int dap_dp_write_reg(struct swjdp_common *swjdp, uint32_t value, uint8_t 
reg_addr)
+static int dap_dp_write_reg(struct swjdp_common *swjdp,
+               uint32_t value, uint8_t reg_addr)
 {
        return scan_inout_check_u32(swjdp, DAP_IR_DPACC, reg_addr, DPAP_WRITE, 
value, NULL);
 }
 
-int dap_dp_read_reg(struct swjdp_common *swjdp, uint32_t *value, uint8_t 
reg_addr)
+static int dap_dp_read_reg(struct swjdp_common *swjdp,
+               uint32_t *value, uint8_t reg_addr)
 {
        return scan_inout_check_u32(swjdp, DAP_IR_DPACC, reg_addr, DPAP_READ, 
0, value);
 }
@@ -314,7 +324,7 @@ int dap_ap_select(struct swjdp_common *s
        return ERROR_OK;
 }
 
-int dap_dp_bankselect(struct swjdp_common *swjdp,uint32_t ap_reg)
+static int dap_dp_bankselect(struct swjdp_common *swjdp, uint32_t ap_reg)
 {
        uint32_t select;
        select = (ap_reg & 0x000000F0);
@@ -328,7 +338,8 @@ int dap_dp_bankselect(struct swjdp_commo
        return ERROR_OK;
 }
 
-int dap_ap_write_reg(struct swjdp_common *swjdp, uint32_t reg_addr, uint8_t* 
out_value_buf)
+static int dap_ap_write_reg(struct swjdp_common *swjdp,
+               uint32_t reg_addr, uint8_t *out_value_buf)
 {
        dap_dp_bankselect(swjdp, reg_addr);
        scan_inout_check(swjdp, DAP_IR_APACC, reg_addr, DPAP_WRITE, 
out_value_buf, NULL);
@@ -336,13 +347,6 @@ int dap_ap_write_reg(struct swjdp_common
        return ERROR_OK;
 }
 
-int dap_ap_read_reg(struct swjdp_common *swjdp, uint32_t reg_addr, uint8_t 
*in_value_buf)
-{
-       dap_dp_bankselect(swjdp, reg_addr);
-       scan_inout_check(swjdp, DAP_IR_APACC, reg_addr, DPAP_READ, 0, 
in_value_buf);
-
-       return ERROR_OK;
-}
 int dap_ap_write_reg_u32(struct swjdp_common *swjdp, uint32_t reg_addr, 
uint32_t value)
 {
        uint8_t out_value_buf[4];
@@ -516,7 +520,8 @@ int mem_ap_write_buf_u32(struct swjdp_co
        return retval;
 }
 
-int mem_ap_write_buf_packed_u16(struct swjdp_common *swjdp, uint8_t *buffer, 
int count, uint32_t address)
+static int mem_ap_write_buf_packed_u16(struct swjdp_common *swjdp,
+               uint8_t *buffer, int count, uint32_t address)
 {
        int retval = ERROR_OK;
        int wcount, blocksize, writecount, i;
@@ -612,7 +617,8 @@ int mem_ap_write_buf_u16(struct swjdp_co
        return retval;
 }
 
-int mem_ap_write_buf_packed_u8(struct swjdp_common *swjdp, uint8_t *buffer, 
int count, uint32_t address)
+static int mem_ap_write_buf_packed_u8(struct swjdp_common *swjdp,
+               uint8_t *buffer, int count, uint32_t address)
 {
        int retval = ERROR_OK;
        int wcount, blocksize, writecount, i;
@@ -782,7 +788,8 @@ int mem_ap_read_buf_u32(struct swjdp_com
        return retval;
 }
 
-int mem_ap_read_buf_packed_u16(struct swjdp_common *swjdp, uint8_t *buffer, 
int count, uint32_t address)
+static int mem_ap_read_buf_packed_u16(struct swjdp_common *swjdp,
+               uint8_t *buffer, int count, uint32_t address)
 {
        uint32_t invalue;
        int retval = ERROR_OK;
@@ -877,7 +884,8 @@ int mem_ap_read_buf_u16(struct swjdp_com
  * The solution is to arrange for a large out/in scan in this loop and
  * and convert data afterwards.
  */
-int mem_ap_read_buf_packed_u8(struct swjdp_common *swjdp, uint8_t *buffer, int 
count, uint32_t address)
+static int mem_ap_read_buf_packed_u8(struct swjdp_common *swjdp,
+               uint8_t *buffer, int count, uint32_t address)
 {
        uint32_t invalue;
        int retval = ERROR_OK;
--- a/src/target/arm_adi_v5.h
+++ b/src/target/arm_adi_v5.h
@@ -127,20 +127,16 @@ static inline uint8_t dap_ap_get_select(
        return (uint8_t)(swjdp ->apsel >> 24);
 }
 
-/* Internal functions used in the module, partial transactions, use with 
caution */
-int dap_dp_write_reg(struct swjdp_common *swjdp, uint32_t value, uint8_t 
reg_addr);
-/* int swjdp_write_apacc(struct swjdp_common *swjdp, uint32_t value, uint8_t 
reg_addr); */
-int dap_dp_read_reg(struct swjdp_common *swjdp, uint32_t *value, uint8_t 
reg_addr);
-/* int swjdp_read_apacc(struct swjdp_common *swjdp, uint32_t *value, uint8_t 
reg_addr); */
-int dap_setup_accessport(struct swjdp_common *swjdp, uint32_t csw, uint32_t 
tar);
+/* Queued transactions -- use with care */
+int dap_setup_accessport(struct swjdp_common *swjdp,
+               uint32_t csw, uint32_t tar);
 int dap_ap_select(struct swjdp_common *swjdp,uint8_t apsel);
+int dap_ap_write_reg_u32(struct swjdp_common *swjdp,
+               uint32_t addr, uint32_t value);
+int dap_ap_read_reg_u32(struct swjdp_common *swjdp,
+               uint32_t addr, uint32_t *value);
 
-int dap_ap_write_reg(struct swjdp_common *swjdp, uint32_t addr, uint8_t* 
out_buf);
-int dap_ap_write_reg_u32(struct swjdp_common *swjdp, uint32_t addr, uint32_t 
value);
-int dap_ap_read_reg(struct swjdp_common *swjdp, uint32_t addr, uint8_t 
*in_buf);
-int dap_ap_read_reg_u32(struct swjdp_common *swjdp, uint32_t addr, uint32_t 
*value);
-
-/* External interface, partial operations must be completed with 
swjdp_transaction_endcheck() */
+/* Queued transactions must be completed with swjdp_transaction_endcheck() */
 int swjdp_transaction_endcheck(struct swjdp_common *swjdp);
 
 /* MEM-AP memory mapped bus single uint32_t register transfers, without 
endcheck */
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to