cortex_m: add missing error checking
[fw/openocd] / src / target / embeddedice.h
index 113a8fe92e9e05f453bf8c78a283e241080541a9..66fef0a615a459f0aad1883c12c043ee2617121f 100644 (file)
@@ -87,26 +87,25 @@ enum
        EICE_COMM_CTRL_RBIT = 0
 };
 
-typedef struct embeddedice_reg_s
+struct embeddedice_reg
 {
        int addr;
        struct arm_jtag *jtag_info;
-} embeddedice_reg_t;
+};
 
-reg_cache_t* embeddedice_build_reg_cache(target_t *target,
+struct reg_cache* embeddedice_build_reg_cache(struct target *target,
                struct arm7_9_common *arm7_9);
 
-int embeddedice_setup(target_t *target);
+int embeddedice_setup(struct target *target);
 
-int embeddedice_read_reg(reg_t *reg);
-int embeddedice_read_reg_w_check(reg_t *reg,
+int embeddedice_read_reg(struct reg *reg);
+int embeddedice_read_reg_w_check(struct reg *reg,
                uint8_t* check_value, uint8_t* check_mask);
 
-void embeddedice_write_reg(reg_t *reg, uint32_t value);
-void embeddedice_store_reg(reg_t *reg);
+void embeddedice_write_reg(struct reg *reg, uint32_t value);
+void embeddedice_store_reg(struct reg *reg);
 
-void embeddedice_set_reg(reg_t *reg, uint32_t value);
-int embeddedice_set_reg_w_exec(reg_t *reg, uint8_t *buf);
+void embeddedice_set_reg(struct reg *reg, uint32_t value);
 
 int embeddedice_receive(struct arm_jtag *jtag_info, uint32_t *data, uint32_t size);
 int embeddedice_send(struct arm_jtag *jtag_info, uint32_t *data, uint32_t size);
@@ -118,20 +117,19 @@ int embeddedice_handshake(struct arm_jtag *jtag_info, int hsbit, uint32_t timeou
  */
 static __inline__ void embeddedice_write_reg_inner(struct jtag_tap *tap, int reg_addr, uint32_t value)
 {
-       static const int embeddedice_num_bits[]={32,5,1};
-       uint32_t values[3];
+       static const int embeddedice_num_bits[] = {32, 6};
+       uint32_t values[2];
 
-       values[0]=value;
-       values[1]=reg_addr;
-       values[2]=1;
+       values[0] = value;
+       values[1] = (1 << 5) | reg_addr;
 
        jtag_add_dr_out(tap,
-                       3,
+                       2,
                        embeddedice_num_bits,
                        values,
-                       jtag_get_end_state());
+                       TAP_IDLE);
 }
 
-void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, uint8_t *buffer, int little, int count);
+void embeddedice_write_dcc(struct jtag_tap *tap, int reg_addr, const uint8_t *buffer, int little, int count);
 
 #endif /* EMBEDDED_ICE_H */