On the discussion of style, I mentioned that the Linux coding standard
doesn't really like typedefs. Here is an article from Greg K-H that
partially addresses the subject:
http://www.linuxjournal.com/article/5780?page=0,2

I don't really like typedefs either, so I started writing a script
called 'detypedefifier' that will remove typedefs. So far, it only
finds them, but I found and removed a good portion of the typedefs.
The ones that remain are either function pointer typedefs, have
far-reaching consequences, or are generally in places I don't really
want to touch right now. Here is a list of the non-function pointer
typedefs that remain after my patches:
src/flash/mflash.h:
Simple typedef: mg_io_uint32 => unsigned long
Simple typedef: mg_io_uint16 => unsigned short
Simple typedef: mg_io_uint8 => unsigned char
Complex typedef: mg_io_type_drv_info => struct _mg_io_type_drv_info
Complex typedef: mg_pll_t => struct _mg_pll_t
Complex typedef: mg_io_type_wait => enum _mg_io_type_wait
Complex typedef: mg_io_type_rbit_status => enum _mg_io_type_rbit_status
Complex typedef: mg_io_type_rbit_error => enum _mg_io_type_rbit_error
Complex typedef: mg_io_type_rbit_devc => enum _mg_io_type_rbit_devc
Complex typedef: mg_io_type_rval_dev => enum _mg_io_type_rval_dev
Complex typedef: mg_io_type_cmd => enum _mg_io_type_cmd
Complex typedef: mg_feature_id => enum _mg_feature_id
Complex typedef: mg_feature_val => enum _mg_feature_val
Complex typedef: mg_vcmd => enum _mg_vcmd
Complex typedef: mg_opmode => enum _mg_opmode

src/helper/types.h:
Simple typedef: _Bool => int
Simple typedef: _Bool => bool
Simple typedef: intptr_t => CYG_ADDRWORD
Simple typedef: intmax_t => int64_t
Simple typedef: uintmax_t => uint64_t

src/jtag/drivers/OpenULINK/include/shorttypes.h:
Simple typedef: s8 => int8_t
Simple typedef: s16 => int16_t
Simple typedef: s32 => int32_t
Simple typedef: u8 => uint8_t
Simple typedef: u16 => uint16_t
Simple typedef: u32 => uint32_t

src/jtag/drivers/OpenULINK/include/usb.h:
Complex typedef: usb_device_descriptor_t => struct
Complex typedef: usb_config_descriptor_t => struct
Complex typedef: usb_interface_descriptor_t => struct
Complex typedef: usb_endpoint_descriptor_t => struct
Complex typedef: usb_language_descriptor_t => struct
Complex typedef: usb_string_descriptor_t => struct
Complex typedef: setup_data_t => struct
Complex typedef: USB_ISR => enum

src/jtag/interface.c:
Simple typedef: tms_table[6][6] => const struct tms_sequences

src/jtag/jtag.h:
Simple typedef: jtag_callback_data_t => intptr_t
Complex typedef: tap_state_t => enum tap_state

src/rtos/rtos.h:
Simple typedef: threadid_t => int64_t
Simple typedef: symbol_address_t => int64_t
Complex typedef: symbol_table_elem_t => struct symbol_table_elem_struct

I don't think I have a way to verify the changes I made to
src/flash/ocl/at91sam7x (from the second patch) or the changes I would
make to src/jtag/drivers/OpenULINK.

Take them if you wish.
From 4262321ca3b10e4abec7e842561897fd9494857d Mon Sep 17 00:00:00 2001
From: Eric Wetzel <thewet...@gmail.com>
Date: Tue, 30 Aug 2011 14:53:35 -0400
Subject: [PATCH 1/2] style: typedefs are evil Removed some simple typedefs
 (translations from one type to another) Removed some
 complex typedefs (aliases for structs, enums, and
 unions)

---
 src/flash/nand/lpc32xx.c    |   21 ++++++++-------
 src/flash/nor/lpc2000.c     |    7 ++---
 src/helper/replacements.h   |   60 ++++++++++++++++++------------------------
 src/jtag/drivers/ulink.c    |   52 ++++++++++++++++++-------------------
 src/svf/svf.c               |   10 +++---
 src/target/etb.c            |    4 +-
 src/target/etm.c            |    2 +-
 src/target/etm.h            |   12 ++++----
 src/target/etm_dummy.c      |    2 +-
 src/target/image.c          |   14 +++++-----
 src/target/image.h          |    4 +-
 src/target/oocd_trace.c     |    2 +-
 src/target/target_request.c |    2 +-
 src/target/target_request.h |    4 +-
 src/target/trace.h          |    4 +-
 15 files changed, 95 insertions(+), 105 deletions(-)

diff --git a/src/flash/nand/lpc32xx.c b/src/flash/nand/lpc32xx.c
index ffb322c..450f4d2 100644
--- a/src/flash/nand/lpc32xx.c
+++ b/src/flash/nand/lpc32xx.c
@@ -61,14 +61,14 @@ static int lp_ooblayout[] = {
 	58, 59, 60, 61, 62, 63
 };
 
-typedef struct {
+struct dmac_ll {
 	volatile uint32_t dma_src;
 	volatile uint32_t dma_dest;
 	volatile uint32_t next_lli;
 	volatile uint32_t next_ctrl;
-} dmac_ll_t;
+};
 
-static dmac_ll_t dmalist[(2048/256) * 2 + 1];
+static struct dmac_ll dmalist[(2048/256) * 2 + 1];
 
 /* nand device lpc32xx <target#> <oscillator_frequency>
  */
@@ -871,14 +871,14 @@ static int lpc32xx_make_dma_list(uint32_t target_mem_base, uint32_t page_size,
 		dmalist[i*2].dma_src = (do_read ? dmasrc : (dmasrc + i * 256));
 		dmalist[i*2].dma_dest = (do_read ? (dmadst + i * 256) : dmadst);
 		dmalist[i*2].next_lli =
-			target_mem_base + (i*2 + 1) * sizeof(dmac_ll_t);
+			target_mem_base + (i*2 + 1) * sizeof(struct dmac_ll);
 		dmalist[i*2].next_ctrl = ctrl;
 
 		dmalist[(i*2) + 1].dma_src = 0x20020034; /* SLC_ECC */
 		dmalist[(i*2) + 1].dma_dest =
 			target_mem_base + ECC_OFFS + i * 4;
 		dmalist[(i*2) + 1].next_lli =
-			 target_mem_base + (i*2 + 2) * sizeof(dmac_ll_t);
+			 target_mem_base + (i*2 + 2) * sizeof(struct dmac_ll);
 		dmalist[(i*2) + 1].next_ctrl = ecc_ctrl;
 
 	}
@@ -1069,7 +1069,7 @@ static int lpc32xx_write_page_slc(struct nand_device *nand,
 	   XXX: Assumes host and target have same byte sex.
 	*/
 	retval = target_write_memory(target, target_mem_base, 4,
-				     nll * sizeof(dmac_ll_t) / 4,
+				     nll * sizeof(struct dmac_ll) / 4,
 				     (uint8_t *)dmalist);
 	if (ERROR_OK != retval) {
 		LOG_ERROR("Could not write DMA descriptors to IRAM");
@@ -1110,7 +1110,7 @@ static int lpc32xx_write_page_slc(struct nand_device *nand,
 
 		/* Write first decriptor to DMA controller */
 		retval = target_write_memory(target, 0x31000100, 4,
-					     sizeof(dmac_ll_t) / 4,
+					     sizeof(struct dmac_ll) / 4,
 					     (uint8_t *)dmalist);
 		if (ERROR_OK != retval) {
 			LOG_ERROR("Could not write DMA descriptor to DMAC");
@@ -1167,7 +1167,7 @@ static int lpc32xx_write_page_slc(struct nand_device *nand,
 
 	/* Write OOB decriptor to DMA controller */
 	retval = target_write_memory(target, 0x31000100, 4,
-				     sizeof(dmac_ll_t) / 4,
+				     sizeof(struct dmac_ll) / 4,
 				     (uint8_t *)(&dmalist[nll-1]));
 	if (ERROR_OK != retval) {
 		LOG_ERROR("Could not write OOB DMA descriptor to DMAC");
@@ -1466,7 +1466,7 @@ static int lpc32xx_read_page_slc(struct nand_device *nand,
 	   XXX: Assumes host and target have same byte sex.
 	*/
 	retval = target_write_memory(target, target_mem_base, 4,
-				     nll * sizeof(dmac_ll_t) / 4,
+				     nll * sizeof(struct dmac_ll) / 4,
 				     (uint8_t *)dmalist);
 	if (ERROR_OK != retval) {
 		LOG_ERROR("Could not write DMA descriptors to IRAM");
@@ -1495,7 +1495,8 @@ static int lpc32xx_read_page_slc(struct nand_device *nand,
 
 	/* Write first decriptor to DMA controller */
 	retval = target_write_memory(target, 0x31000100, 4,
-				     sizeof(dmac_ll_t) / 4, (uint8_t *)dmalist);
+				     sizeof(struct dmac_ll) / 4,
+				     (uint8_t *)dmalist);
 	if (ERROR_OK != retval) {
 		LOG_ERROR("Could not write DMA descriptor to DMAC");
 		return retval;
diff --git a/src/flash/nor/lpc2000.c b/src/flash/nor/lpc2000.c
index fea663e..479fa75 100644
--- a/src/flash/nor/lpc2000.c
+++ b/src/flash/nor/lpc2000.c
@@ -62,16 +62,15 @@
  * - 176x (tested with LPC1768)
  */
 
-typedef enum
-{
+enum lpc2000_variant {
 	lpc2000_v1,
 	lpc2000_v2,
 	lpc1700
-} lpc2000_variant;
+};
 
 struct lpc2000_flash_bank
 {
-	lpc2000_variant variant;
+	enum lpc2000_variant variant;
 	struct working_area *iap_working_area;
 	uint32_t cclk;
 	int cmd51_dst_boundary;
diff --git a/src/helper/replacements.h b/src/helper/replacements.h
index 3598dd9..d02c819 100644
--- a/src/helper/replacements.h
+++ b/src/helper/replacements.h
@@ -219,31 +219,23 @@ static __inline int socket_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set
 
 #include <helper/types.h>
 
-typedef uint32_t	Elf32_Addr;
-typedef uint16_t	Elf32_Half;
-typedef uint32_t	Elf32_Off;
-typedef int32_t		Elf32_Sword;
-typedef uint32_t	Elf32_Word;
-typedef uint32_t	Elf32_Size;
-typedef Elf32_Off	Elf32_Hashelt;
-
-typedef struct
+struct Elf32_Ehdr
 {
-	unsigned char	e_ident[16];	/* Magic number and other info */
-	Elf32_Half	e_type;			/* Object file type */
-	Elf32_Half	e_machine;		/* Architecture */
-	Elf32_Word	e_version;		/* Object file version */
-	Elf32_Addr	e_entry;		/* Entry point virtual address */
-	Elf32_Off	e_phoff;		/* Program header table file offset */
-	Elf32_Off	e_shoff;		/* Section header table file offset */
-	Elf32_Word	e_flags;		/* Processor-specific flags */
-	Elf32_Half	e_ehsize;		/* ELF header size in bytes */
-	Elf32_Half	e_phentsize;	/* Program header table entry size */
-	Elf32_Half	e_phnum;		/* Program header table entry count */
-	Elf32_Half	e_shentsize;	/* Section header table entry size */
-	Elf32_Half	e_shnum;		/* Section header table entry count */
-	Elf32_Half	e_shstrndx;		/* Section header string table index */
-} Elf32_Ehdr;
+	uint8_t		e_ident[16];	/* Magic number and other info */
+	uint16_t	e_type;		/* Object file type */
+	uint16_t	e_machine;	/* Architecture */
+	uint32_t	e_version;	/* Object file version */
+	uint32_t	e_entry;	/* Entry point virtual address */
+	uint32_t	e_phoff;	/* Program header table file offset */
+	uint32_t	e_shoff;	/* Section header table file offset */
+	uint32_t	e_flags;	/* Processor-specific flags */
+	uint16_t	e_ehsize;	/* ELF header size in bytes */
+	uint16_t	e_phentsize;	/* Program header table entry size */
+	uint16_t	e_phnum;	/* Program header table entry count */
+	uint16_t	e_shentsize;	/* Section header table entry size */
+	uint16_t	e_shnum;	/* Section header table entry count */
+	uint16_t	e_shstrndx;	/* Section header string table index */
+};
 
 #define	ELFMAG		"\177ELF"
 #define	SELFMAG		4
@@ -256,17 +248,17 @@ typedef struct
 #define ELFDATA2LSB	1		/* 2's complement, little endian */
 #define ELFDATA2MSB	2		/* 2's complement, big endian */
 
-typedef struct
+struct Elf32_Phdr
 {
-	Elf32_Word p_type;		/* Segment type */
-	Elf32_Off p_offset;		/* Segment file offset */
-	Elf32_Addr p_vaddr;		/* Segment virtual address */
-	Elf32_Addr p_paddr;		/* Segment physical address */
-	Elf32_Size p_filesz;	/* Segment size in file */
-	Elf32_Size p_memsz;		/* Segment size in memory */
-	Elf32_Word p_flags;		/* Segment flags */
-	Elf32_Size p_align;		/* Segment alignment */
-} Elf32_Phdr;
+	uint32_t p_type;	/* Segment type */
+	uint32_t p_offset;	/* Segment file offset */
+	uint32_t p_vaddr;	/* Segment virtual address */
+	uint32_t p_paddr;	/* Segment physical address */
+	uint32_t p_filesz;	/* Segment size in file */
+	uint32_t p_memsz;	/* Segment size in memory */
+	uint32_t p_flags;	/* Segment flags */
+	uint32_t p_align;	/* Segment alignment */
+};
 
 #define PT_LOAD		1		/* Loadable program segment */
 
diff --git a/src/jtag/drivers/ulink.c b/src/jtag/drivers/ulink.c
index 0e04fd6..7d081c4 100644
--- a/src/jtag/drivers/ulink.c
+++ b/src/jtag/drivers/ulink.c
@@ -139,8 +139,6 @@ struct ulink_cmd {
   struct ulink_cmd *next;    ///< Pointer to next command (linked list)
 };
 
-typedef struct ulink_cmd ulink_cmd_t;
-
 /** Describes one driver instance */
 struct ulink
 {
@@ -148,8 +146,8 @@ struct ulink
   enum ulink_type type;
 
   int commands_in_queue;     ///< Number of commands in queue
-  ulink_cmd_t *queue_start;  ///< Pointer to first command in queue
-  ulink_cmd_t *queue_end;    ///< Pointer to last command in queue
+  struct ulink_cmd *queue_start;  ///< Pointer to first command in queue
+  struct ulink_cmd *queue_end;    ///< Pointer to last command in queue
 };
 
 /**************************** Function Prototypes *****************************/
@@ -170,19 +168,19 @@ int ulink_write_firmware_section(struct ulink *device,
 void ulink_print_signal_states(uint8_t input_signals, uint8_t output_signals);
 
 /* OpenULINK command generation helper functions */
-int ulink_allocate_payload(ulink_cmd_t *ulink_cmd, int size,
+int ulink_allocate_payload(struct ulink_cmd *ulink_cmd, int size,
     enum ulink_payload_direction direction);
 
 /* OpenULINK command queue helper functions */
 int ulink_get_queue_size(struct ulink *device,
     enum ulink_payload_direction direction);
 void ulink_clear_queue(struct ulink *device);
-int ulink_append_queue(struct ulink *device, ulink_cmd_t *ulink_cmd);
+int ulink_append_queue(struct ulink *device, struct ulink_cmd *ulink_cmd);
 int ulink_execute_queued_commands(struct ulink *device, int timeout);
 
 #ifdef _DEBUG_JTAG_IO_
 const char * ulink_cmd_id_string(uint8_t id);
-void ulink_print_command(ulink_cmd_t *ulink_cmd);
+void ulink_print_command(struct ulink_cmd *ulink_cmd);
 void ulink_print_queue(struct ulink *device);
 #endif
 
@@ -213,7 +211,7 @@ int ulink_queue_sleep(struct ulink *device, struct jtag_command *cmd);
 
 static void ulink_set_end_state(tap_state_t endstate);
 
-int ulink_post_process_scan(ulink_cmd_t *ulink_cmd);
+int ulink_post_process_scan(struct ulink_cmd *ulink_cmd);
 int ulink_post_process_queue(struct ulink *device);
 
 /* JTAG driver functions (registered in struct jtag_interface) */
@@ -502,7 +500,7 @@ void ulink_print_signal_states(uint8_t input_signals, uint8_t output_signals)
  * @return on success: ERROR_OK
  * @return on failure: ERROR_FAIL
  */
-int ulink_allocate_payload(ulink_cmd_t *ulink_cmd, int size,
+int ulink_allocate_payload(struct ulink_cmd *ulink_cmd, int size,
     enum ulink_payload_direction direction)
 {
   uint8_t *payload;
@@ -559,7 +557,7 @@ int ulink_allocate_payload(ulink_cmd_t *ulink_cmd, int size,
 int ulink_get_queue_size(struct ulink *device,
     enum ulink_payload_direction direction)
 {
-  ulink_cmd_t *current = device->queue_start;
+  struct ulink_cmd *current = device->queue_start;
   int sum = 0;
 
   while (current != NULL) {
@@ -587,8 +585,8 @@ int ulink_get_queue_size(struct ulink *device,
  */
 void ulink_clear_queue(struct ulink *device)
 {
-  ulink_cmd_t *current = device->queue_start;
-  ulink_cmd_t *next = NULL;
+  struct ulink_cmd *current = device->queue_start;
+  struct ulink_cmd *next = NULL;
 
   while (current != NULL) {
     /* Save pointer to next element */
@@ -627,7 +625,7 @@ void ulink_clear_queue(struct ulink *device)
  * @return on success: ERROR_OK
  * @return on failure: ERROR_FAIL
  */
-int ulink_append_queue(struct ulink *device, ulink_cmd_t *ulink_cmd)
+int ulink_append_queue(struct ulink *device, struct ulink_cmd *ulink_cmd)
 {
   int newsize_out, newsize_in;
   int ret;
@@ -682,7 +680,7 @@ int ulink_append_queue(struct ulink *device, ulink_cmd_t *ulink_cmd)
  */
 int ulink_execute_queued_commands(struct ulink *device, int timeout)
 {
-  ulink_cmd_t *current;
+  struct ulink_cmd *current;
   int ret, i, index_out, index_in, count_out, count_in;
   uint8_t buffer[64];
 
@@ -812,7 +810,7 @@ const char * ulink_cmd_id_string(uint8_t id)
  *
  * @param ulink_cmd pointer to OpenULINK command.
  */
-void ulink_print_command(ulink_cmd_t *ulink_cmd)
+void ulink_print_command(struct ulink_cmd *ulink_cmd)
 {
   int i;
 
@@ -832,7 +830,7 @@ void ulink_print_command(ulink_cmd_t *ulink_cmd)
  */
 void ulink_print_queue(struct ulink *device)
 {
-  ulink_cmd_t *current;
+  struct ulink_cmd *current;
 
   printf("OpenULINK command queue:\n");
 
@@ -878,7 +876,7 @@ int ulink_append_scan_cmd(struct ulink *device, enum scan_type scan_type,
     uint8_t tms_count_start, uint8_t tms_sequence_start, uint8_t tms_count_end,
     uint8_t tms_sequence_end, struct jtag_command *origin, bool postprocess)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret, i, scan_size_bytes;
   uint8_t bits_last_byte;
 
@@ -969,7 +967,7 @@ int ulink_append_scan_cmd(struct ulink *device, enum scan_type scan_type,
 int ulink_append_clock_tms_cmd(struct ulink *device, uint8_t count,
     uint8_t sequence)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1002,7 +1000,7 @@ int ulink_append_clock_tms_cmd(struct ulink *device, uint8_t count,
  */
 int ulink_append_clock_tck_cmd(struct ulink *device, uint16_t count)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1032,7 +1030,7 @@ int ulink_append_clock_tck_cmd(struct ulink *device, uint16_t count)
  */
 int ulink_append_get_signals_cmd(struct ulink *device)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1072,7 +1070,7 @@ int ulink_append_get_signals_cmd(struct ulink *device)
 int ulink_append_set_signals_cmd(struct ulink *device, uint8_t low,
     uint8_t high)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1104,7 +1102,7 @@ int ulink_append_set_signals_cmd(struct ulink *device, uint8_t low,
  */
 int ulink_append_sleep_cmd(struct ulink *device, uint32_t us)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1139,7 +1137,7 @@ int ulink_append_sleep_cmd(struct ulink *device, uint32_t us)
 int ulink_append_configure_tck_cmd(struct ulink *device, uint8_t delay_scan,
     uint8_t delay_tck, uint8_t delay_tms)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1179,7 +1177,7 @@ int ulink_append_configure_tck_cmd(struct ulink *device, uint8_t delay_scan,
  */
 int ulink_append_led_cmd(struct ulink *device, uint8_t led_state)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1209,7 +1207,7 @@ int ulink_append_led_cmd(struct ulink *device, uint8_t led_state)
  */
 int ulink_append_test_cmd(struct ulink *device)
 {
-  ulink_cmd_t *cmd = calloc(1, sizeof(ulink_cmd_t));
+  struct ulink_cmd *cmd = calloc(1, sizeof(struct ulink_cmd));
   int ret;
 
   if (cmd == NULL) {
@@ -1557,7 +1555,7 @@ int ulink_queue_sleep(struct ulink *device, struct jtag_command *cmd)
  * @return on success: ERROR_OK
  * @return on failure: ERROR_FAIL
  */
-int ulink_post_process_scan(ulink_cmd_t *ulink_cmd)
+int ulink_post_process_scan(struct ulink_cmd *ulink_cmd)
 {
   struct jtag_command *cmd = ulink_cmd->cmd_origin;
   int ret;
@@ -1590,7 +1588,7 @@ int ulink_post_process_scan(ulink_cmd_t *ulink_cmd)
  */
 int ulink_post_process_queue(struct ulink *device)
 {
-  ulink_cmd_t *current;
+  struct ulink_cmd *current;
   struct jtag_command *openocd_cmd;
   int ret;
 
diff --git a/src/svf/svf.c b/src/svf/svf.c
index bb3f780..927fa3a 100644
--- a/src/svf/svf.c
+++ b/src/svf/svf.c
@@ -37,7 +37,7 @@
 
 
 // SVF command
-typedef enum
+enum svf_command
 {
 	ENDDR,
 	ENDIR,
@@ -53,7 +53,7 @@ typedef enum
 	TDR,
 	TIR,
 	TRST,
-}svf_command_t;
+};
 
 static const char *svf_command_name[14] =
 {
@@ -73,13 +73,13 @@ static const char *svf_command_name[14] =
 	"TRST"
 };
 
-typedef enum
+enum trst_mode
 {
 	TRST_ON,
 	TRST_OFF,
 	TRST_Z,
 	TRST_ABSENT
-}trst_mode_t;
+};
 
 static const char *svf_trst_mode_name[4] =
 {
@@ -158,7 +158,7 @@ struct svf_para
 	tap_state_t dr_end_state;
 	tap_state_t runtest_run_state;
 	tap_state_t runtest_end_state;
-	trst_mode_t trst_mode;
+	enum trst_mode trst_mode;
 
 	struct svf_xxr_para hir_para;
 	struct svf_xxr_para hdr_para;
diff --git a/src/target/etb.c b/src/target/etb.c
index 974ab2b..c67fd2d 100644
--- a/src/target/etb.c
+++ b/src/target/etb.c
@@ -481,12 +481,12 @@ static int etb_init(struct etm_context *etm_ctx)
 	return ERROR_OK;
 }
 
-static trace_status_t etb_status(struct etm_context *etm_ctx)
+static enum trace_status etb_status(struct etm_context *etm_ctx)
 {
 	struct etb *etb = etm_ctx->capture_driver_priv;
 	struct reg *control = &etb->reg_cache->reg_list[ETB_CTRL];
 	struct reg *status = &etb->reg_cache->reg_list[ETB_STATUS];
-	trace_status_t retval = 0;
+	enum trace_status retval = 0;
 	int etb_timeout = 100;
 
 	etb->etm_ctx = etm_ctx;
diff --git a/src/target/etm.c b/src/target/etm.c
index 7384764..1c2902c 100644
--- a/src/target/etm.c
+++ b/src/target/etm.c
@@ -1660,7 +1660,7 @@ COMMAND_HANDLER(handle_etm_status_command)
 	struct target *target;
 	struct arm *arm;
 	struct etm_context *etm;
-	trace_status_t trace_status;
+	enum trace_status trace_status;
 
 	target = get_current_target(CMD_CTX);
 	arm = target_to_arm(target);
diff --git a/src/target/etm.h b/src/target/etm.h
index 4224de6..b0bc775 100644
--- a/src/target/etm.h
+++ b/src/target/etm.h
@@ -142,7 +142,7 @@ struct etm_capture_driver
 	const char *name;
 	const struct command_registration *commands;
 	int (*init)(struct etm_context *etm_ctx);
-	trace_status_t (*status)(struct etm_context *etm_ctx);
+	enum trace_status (*status)(struct etm_context *etm_ctx);
 	int (*read_trace)(struct etm_context *etm_ctx);
 	int (*start_capture)(struct etm_context *etm_ctx);
 	int (*stop_capture)(struct etm_context *etm_ctx);
@@ -172,7 +172,7 @@ struct etm_context
 	struct reg_cache *reg_cache;		/* ETM register cache */
 	struct etm_capture_driver *capture_driver;	/* driver used to access ETM data */
 	void *capture_driver_priv;	/* capture driver private data */
-	trace_status_t capture_status;	/* current state of capture run */
+	enum trace_status capture_status;	/* current state of capture run */
 	struct etmv1_trace_data *trace_data;	/* trace data */
 	uint32_t trace_depth;		/* number of cycles to be analyzed, 0 if no data available */
 	uint32_t control;	/* shadow of ETM_CTRL */
@@ -194,7 +194,7 @@ struct etm_context
 };
 
 /* PIPESTAT values */
-typedef enum
+enum etmv1_pipestat
 {
 	STAT_IE = 0x0,
 	STAT_ID = 0x1,
@@ -204,10 +204,10 @@ typedef enum
 	STAT_BD = 0x5,
 	STAT_TR = 0x6,
 	STAT_TD = 0x7
-} etmv1_pipestat_t;
+};
 
 /* branch reason values */
-typedef enum
+enum etmv1_branch_reason
 {
 	BR_NORMAL  = 0x0, /* Normal PC change : periodic synchro (ETMv1.1) */
 	BR_ENABLE  = 0x1, /* Trace has been enabled */
@@ -217,7 +217,7 @@ typedef enum
 	BR_RSVD5   = 0x5, /* reserved */
 	BR_RSVD6   = 0x6, /* reserved */
 	BR_RSVD7   = 0x7, /* reserved */
-} etmv1_branch_reason_t;
+};
 
 struct reg_cache* etm_build_reg_cache(struct target *target,
 		struct arm_jtag *jtag_info, struct etm_context *etm_ctx);
diff --git a/src/target/etm_dummy.c b/src/target/etm_dummy.c
index f9c6fe7..2d0d983 100644
--- a/src/target/etm_dummy.c
+++ b/src/target/etm_dummy.c
@@ -82,7 +82,7 @@ static int etm_dummy_init(struct etm_context *etm_ctx)
 	return ERROR_OK;
 }
 
-static trace_status_t etm_dummy_status(struct etm_context *etm_ctx)
+static enum trace_status etm_dummy_status(struct etm_context *etm_ctx)
 {
 	return TRACE_IDLE;
 }
diff --git a/src/target/image.c b/src/target/image.c
index 21ce11f..94c290e 100644
--- a/src/target/image.c
+++ b/src/target/image.c
@@ -398,7 +398,7 @@ static int image_elf_read_headers(struct image *image)
 	int retval;
 	uint32_t nload,load_to_vaddr=0;
 
-	elf->header = malloc(sizeof(Elf32_Ehdr));
+	elf->header = malloc(sizeof(struct Elf32_Ehdr));
 
 	if (elf->header == NULL)
 	{
@@ -406,12 +406,12 @@ static int image_elf_read_headers(struct image *image)
 		return ERROR_FILEIO_OPERATION_FAILED;
 	}
 
-	if ((retval = fileio_read(&elf->fileio, sizeof(Elf32_Ehdr), (uint8_t*)elf->header, &read_bytes)) != ERROR_OK)
+	if ((retval = fileio_read(&elf->fileio, sizeof(struct Elf32_Ehdr), (uint8_t*)elf->header, &read_bytes)) != ERROR_OK)
 	{
 		LOG_ERROR("cannot read ELF file header, read failed");
 		return ERROR_FILEIO_OPERATION_FAILED;
 	}
-	if (read_bytes != sizeof(Elf32_Ehdr))
+	if (read_bytes != sizeof(struct Elf32_Ehdr))
 	{
 		LOG_ERROR("cannot read ELF file header, only partially read");
 		return ERROR_FILEIO_OPERATION_FAILED;
@@ -449,19 +449,19 @@ static int image_elf_read_headers(struct image *image)
 		return retval;
 	}
 
-	elf->segments = malloc(elf->segment_count*sizeof(Elf32_Phdr));
+	elf->segments = malloc(elf->segment_count*sizeof(struct Elf32_Phdr));
 	if (elf->segments == NULL)
 	{
 		LOG_ERROR("insufficient memory to perform operation ");
 		return ERROR_FILEIO_OPERATION_FAILED;
 	}
 
-	if ((retval = fileio_read(&elf->fileio, elf->segment_count*sizeof(Elf32_Phdr), (uint8_t*)elf->segments, &read_bytes)) != ERROR_OK)
+	if ((retval = fileio_read(&elf->fileio, elf->segment_count*sizeof(struct Elf32_Phdr), (uint8_t*)elf->segments, &read_bytes)) != ERROR_OK)
 	{
 		LOG_ERROR("cannot read ELF segment headers, read failed");
 		return retval;
 	}
-	if (read_bytes != elf->segment_count*sizeof(Elf32_Phdr))
+	if (read_bytes != elf->segment_count*sizeof(struct Elf32_Phdr))
 	{
 		LOG_ERROR("cannot read ELF segment headers, only partially read");
 		return ERROR_FILEIO_OPERATION_FAILED;
@@ -518,7 +518,7 @@ static int image_elf_read_headers(struct image *image)
 static int image_elf_read_section(struct image *image, int section, uint32_t offset, uint32_t size, uint8_t *buffer, size_t *size_read)
 {
 	struct image_elf *elf = image->type_private;
-	Elf32_Phdr *segment = (Elf32_Phdr *)image->sections[section].private;
+	struct Elf32_Phdr *segment = (struct Elf32_Phdr *)image->sections[section].private;
 	size_t read_size,really_read;
 	int retval;
 
diff --git a/src/target/image.h b/src/target/image.h
index 27f3186..e4ccdca 100644
--- a/src/target/image.h
+++ b/src/target/image.h
@@ -88,8 +88,8 @@ struct image_memory
 struct image_elf
 {
 	struct fileio fileio;
-	Elf32_Ehdr *header;
-	Elf32_Phdr *segments;
+	struct Elf32_Ehdr *header;
+	struct Elf32_Phdr *segments;
 	uint32_t segment_count;
 	uint8_t endianness;
 };
diff --git a/src/target/oocd_trace.c b/src/target/oocd_trace.c
index 5af1ba6..54b57e5 100644
--- a/src/target/oocd_trace.c
+++ b/src/target/oocd_trace.c
@@ -142,7 +142,7 @@ static int oocd_trace_init(struct etm_context *etm_ctx)
 	return ERROR_OK;
 }
 
-static trace_status_t oocd_trace_status(struct etm_context *etm_ctx)
+static enum trace_status oocd_trace_status(struct etm_context *etm_ctx)
 {
 	struct oocd_trace *oocd_trace = etm_ctx->capture_driver_priv;
 	uint32_t status;
diff --git a/src/target/target_request.c b/src/target/target_request.c
index ec3d48e..2b425b1 100644
--- a/src/target/target_request.c
+++ b/src/target/target_request.c
@@ -116,7 +116,7 @@ static int target_hexmsg(struct target *target, int size, uint32_t length)
  */
 int target_request(struct target *target, uint32_t request)
 {
-	target_req_cmd_t target_req_cmd = request & 0xff;
+	enum target_req_cmd target_req_cmd = request & 0xff;
 
 	if (charmsg_mode) {
 		target_charmsg(target, target_req_cmd);
diff --git a/src/target/target_request.h b/src/target/target_request.h
index e50c425..a1edbdd 100644
--- a/src/target/target_request.h
+++ b/src/target/target_request.h
@@ -29,13 +29,13 @@
 struct target;
 struct command_context;
 
-typedef enum target_req_cmd
+enum target_req_cmd
 {
 	TARGET_REQ_TRACEMSG,
 	TARGET_REQ_DEBUGMSG,
 	TARGET_REQ_DEBUGCHAR,
 /*	TARGET_REQ_SEMIHOSTING, */
-} target_req_cmd_t;
+};
 
 struct debug_msg_receiver
 {
diff --git a/src/target/trace.h b/src/target/trace.h
index 53502d4..c2b35b1 100644
--- a/src/target/trace.h
+++ b/src/target/trace.h
@@ -47,14 +47,14 @@ struct trace
  * to *hardware* tracing ... split such "real" tracing out from
  * the contrib/libdcc support.
  */
-typedef enum trace_status
+enum trace_status
 {
 	TRACE_IDLE = 0x0,
 	TRACE_RUNNING = 0x1,
 	TRACE_TRIGGERED = 0x2,
 	TRACE_COMPLETED = 0x4,
 	TRACE_OVERFLOWED = 0x8,
-} trace_status_t;
+};
 
 int trace_point(struct target *target, uint32_t number);
 int trace_register_commands(struct command_context *cmd_ctx);
-- 
1.7.5.1

From aa7a18a0172cd722174204add094d9c309aa000f Mon Sep 17 00:00:00 2001
From: Eric Wetzel <thewet...@gmail.com>
Date: Tue, 30 Aug 2011 15:12:55 -0400
Subject: [PATCH 2/2] style: typedefs are evil Removed typedefs from
 src/flash/ocl/at91sam7x/

---
 src/flash/ocl/at91sam7x/dcc.c      |    8 ++++----
 src/flash/ocl/at91sam7x/dcc.h      |    4 ++--
 src/flash/ocl/at91sam7x/main.c     |   12 ++++++------
 src/flash/ocl/at91sam7x/platform.h |   11 -----------
 src/flash/ocl/at91sam7x/samflash.c |   14 +++++++-------
 src/flash/ocl/at91sam7x/samflash.h |    4 ++--
 6 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/src/flash/ocl/at91sam7x/dcc.c b/src/flash/ocl/at91sam7x/dcc.c
index aa695fb..3f9f992 100644
--- a/src/flash/ocl/at91sam7x/dcc.c
+++ b/src/flash/ocl/at91sam7x/dcc.c
@@ -21,9 +21,9 @@
 
 
 /* debug channel read (debugger->MCU) */
-uint32 dcc_rd(void)
+unsigned int dcc_rd(void)
 {
-	volatile uint32 dcc_reg;
+	volatile unsigned int dcc_reg;
 
 	do {
 		asm volatile ("mrc p14, 0, %0, C0, C0" : "=r" (dcc_reg) :);
@@ -35,9 +35,9 @@ uint32 dcc_rd(void)
 
 
 /* debug channel write (MCU->debugger) */
-int dcc_wr(uint32 data)
+int dcc_wr(unsigned int data)
 {
-	volatile uint32 dcc_reg;
+	volatile unsigned int dcc_reg;
 
 	do {
 		asm volatile ("mrc p14, 0, %0, C0, C0" : "=r" (dcc_reg) :);
diff --git a/src/flash/ocl/at91sam7x/dcc.h b/src/flash/ocl/at91sam7x/dcc.h
index f7d6d22..c126638 100644
--- a/src/flash/ocl/at91sam7x/dcc.h
+++ b/src/flash/ocl/at91sam7x/dcc.h
@@ -23,9 +23,9 @@
 #include "platform.h"
 
 /* debug channel read (debugger->MCU) */
-uint32 dcc_rd(void);
+unsigned int dcc_rd(void);
 
 /* debug channel write (MCU->debugger) */
-int dcc_wr(uint32 data);
+int dcc_wr(unsigned int data);
 
 #endif
diff --git a/src/flash/ocl/at91sam7x/main.c b/src/flash/ocl/at91sam7x/main.c
index e4c0c3f..a9731cb 100644
--- a/src/flash/ocl/at91sam7x/main.c
+++ b/src/flash/ocl/at91sam7x/main.c
@@ -25,13 +25,13 @@
 
 
 #define BUFSIZE 1024 /* words, i.e. 4 KiB */
-uint32 buffer[1024];
+unsigned int buffer[1024];
 
-void cmd_flash(uint32 cmd)
+void cmd_flash(unsigned int cmd)
 {
 	unsigned int len;
-	uint32 adr;
-	uint32 chksum;
+	unsigned int adr;
+	unsigned int chksum;
 	unsigned int bi; /* buffer index */
 	unsigned int bi_start; /* receive start mark */
 	unsigned int bi_end; /* receive end mark */
@@ -70,7 +70,7 @@ void cmd_flash(uint32 cmd)
 	}
 
 	/* verify written data */
-	if (!result) result = flash_verify(adr, len, ((uint8 *)buffer) + ofs);
+	if (!result) result = flash_verify(adr, len, ((unsigned char *)buffer) + ofs);
 
 	dcc_wr(OCL_CMD_DONE | result);
 }
@@ -78,7 +78,7 @@ void cmd_flash(uint32 cmd)
 
 int main (void)
 {
-	uint32 cmd;
+	unsigned int cmd;
 
 	for (;;) {
 		cmd = dcc_rd();
diff --git a/src/flash/ocl/at91sam7x/platform.h b/src/flash/ocl/at91sam7x/platform.h
index f1eea97..8623357 100644
--- a/src/flash/ocl/at91sam7x/platform.h
+++ b/src/flash/ocl/at91sam7x/platform.h
@@ -22,7 +22,6 @@
 
 #include "samregs.h"
 
-
 #define outb(_reg, _val)  (*((volatile unsigned char *)(_reg)) = (_val))
 #define outw(_reg, _val)  (*((volatile unsigned short *)(_reg)) = (_val))
 #define outr(_reg, _val)  (*((volatile unsigned int *)(_reg)) = (_val))
@@ -33,14 +32,4 @@
 
 #define _BV(bit)    (1 << (bit))
 
-
-typedef signed char int8;
-typedef unsigned char uint8;
-
-typedef signed short int16;
-typedef unsigned short uint16;
-
-typedef signed int int32;
-typedef unsigned int uint32;
-
 #endif
diff --git a/src/flash/ocl/at91sam7x/samflash.c b/src/flash/ocl/at91sam7x/samflash.c
index 9922da4..6f059eb 100644
--- a/src/flash/ocl/at91sam7x/samflash.c
+++ b/src/flash/ocl/at91sam7x/samflash.c
@@ -73,13 +73,13 @@ int flash_init(void)
 
 
 /* program single flash page */
-int flash_page_program(uint32 *data, int page_num)
+int flash_page_program(unsigned int *data, int page_num)
 {
 	int i;
 	int efc_ofs;
 
-	uint32 *flash_ptr;
-	uint32 *data_ptr;
+	unsigned int *flash_ptr;
+	unsigned int *data_ptr;
 
 	/* select proper controller */
 	if (page_num >= 1024) efc_ofs = 0x10;
@@ -90,7 +90,7 @@ int flash_page_program(uint32 *data, int page_num)
 
 	/* calculate page address, only lower 8 bits are used to address the latch,
 		 but the upper part of address is needed for writing to proper EFC */
-	flash_ptr = (uint32 *)(FLASH_AREA_ADDR + (page_num*flash_page_size));
+	flash_ptr = (unsigned int *)(FLASH_AREA_ADDR + (page_num*flash_page_size));
 	data_ptr = data;
 
 	/* copy data to latch */
@@ -111,7 +111,7 @@ int flash_page_program(uint32 *data, int page_num)
 
 #if 0
 	/* verify written data */
-	flash_ptr = (uint32 *)(FLASH_AREA_ADDR + (page_num*flash_page_size));
+	flash_ptr = (unsigned int *)(FLASH_AREA_ADDR + (page_num*flash_page_size));
 	data_ptr = data;
 
 	for (i = flash_page_size/4; i; i--) {
@@ -184,11 +184,11 @@ int flash_erase_all(void)
 }
 
 
-int flash_verify(uint32 adr, unsigned int len, uint8 *src)
+int flash_verify(unsigned int adr, unsigned int len, unsigned char *src)
 {
 	unsigned char *flash_ptr;
 
-	flash_ptr = (uint8 *)FLASH_AREA_ADDR + adr;
+	flash_ptr = (unsigned char *)FLASH_AREA_ADDR + adr;
 	for (;len; len--) {
 		if (*(flash_ptr++)!=*(src++)) return FLASH_STAT_VERIFE;
 	}
diff --git a/src/flash/ocl/at91sam7x/samflash.h b/src/flash/ocl/at91sam7x/samflash.h
index f544942..21ed40e 100644
--- a/src/flash/ocl/at91sam7x/samflash.h
+++ b/src/flash/ocl/at91sam7x/samflash.h
@@ -37,12 +37,12 @@ extern unsigned int flash_page_size; /* words */
 int flash_init(void);
 
 /* program single flash page */
-int flash_page_program(uint32 *data, int page_num);
+int flash_page_program(unsigned int *data, int page_num);
 
 /* erase whole chip */
 int flash_erase_all(void);
 
 /* verify written data */
-int flash_verify(uint32 adr, unsigned int len, uint8 *src);
+int flash_verify(unsigned int adr, unsigned int len, unsigned char *src);
 
 #endif
-- 
1.7.5.1

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to