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