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