s3c24xx_nand_controller_t -> struct s3c24xx_nand_controller
[fw/openocd] / src / flash / nand.c
index 4d32d25d2dac7cc02041e20895a65e74532e1a22..794836127d166944459a2a1f176d7adc5783341f 100644 (file)
@@ -35,18 +35,18 @@ static int nand_write_page(struct nand_device_s *nand, uint32_t page, uint8_t *d
 
 /* NAND flash controller
  */
-extern nand_flash_controller_t davinci_nand_controller;
-extern nand_flash_controller_t lpc3180_nand_controller;
-extern nand_flash_controller_t orion_nand_controller;
-extern nand_flash_controller_t s3c2410_nand_controller;
-extern nand_flash_controller_t s3c2412_nand_controller;
-extern nand_flash_controller_t s3c2440_nand_controller;
-extern nand_flash_controller_t s3c2443_nand_controller;
-extern nand_flash_controller_t imx31_nand_flash_controller;
-
-/* extern nand_flash_controller_t boundary_scan_nand_controller; */
-
-static nand_flash_controller_t *nand_flash_controllers[] =
+extern struct nand_flash_controller davinci_nand_controller;
+extern struct nand_flash_controller lpc3180_nand_controller;
+extern struct nand_flash_controller orion_nand_controller;
+extern struct nand_flash_controller s3c2410_nand_controller;
+extern struct nand_flash_controller s3c2412_nand_controller;
+extern struct nand_flash_controller s3c2440_nand_controller;
+extern struct nand_flash_controller s3c2443_nand_controller;
+extern struct nand_flash_controller imx31_nand_flash_controller;
+
+/* extern struct nand_flash_controller boundary_scan_nand_controller; */
+
+static struct nand_flash_controller *nand_flash_controllers[] =
 {
        &davinci_nand_controller,
        &lpc3180_nand_controller,
@@ -74,7 +74,7 @@ static command_t *nand_cmd;
  *     256     256 Byte page size
  *     512     512 Byte page size
  */
-static nand_info_t nand_flash_ids[] =
+static struct nand_info nand_flash_ids[] =
 {
        /* start "museum" IDs */
        {"NAND 1MiB 5V 8-bit",          0x6e, 256, 1, 0x1000, 0},
@@ -154,7 +154,7 @@ static nand_info_t nand_flash_ids[] =
 
 /* Manufacturer ID list
  */
-static nand_manufacturer_t nand_manuf_ids[] =
+static struct nand_manufacturer nand_manuf_ids[] =
 {
        {0x0, "unknown"},
        {NAND_MFR_TOSHIBA, "Toshiba"},
@@ -173,7 +173,7 @@ static nand_manufacturer_t nand_manuf_ids[] =
  */
 
 #if 0
-static nand_ecclayout_t nand_oob_8 = {
+static struct nand_ecclayout nand_oob_8 = {
        .eccbytes = 3,
        .eccpos = {0, 1, 2},
        .oobfree = {
@@ -184,7 +184,7 @@ static nand_ecclayout_t nand_oob_8 = {
 };
 #endif
 
-static nand_ecclayout_t nand_oob_16 = {
+static struct nand_ecclayout nand_oob_16 = {
        .eccbytes = 6,
        .eccpos = {0, 1, 2, 3, 6, 7},
        .oobfree = {
@@ -192,7 +192,7 @@ static nand_ecclayout_t nand_oob_16 = {
                 . length = 8}}
 };
 
-static nand_ecclayout_t nand_oob_64 = {
+static struct nand_ecclayout nand_oob_64 = {
        .eccbytes = 24,
        .eccpos = {
                   40, 41, 42, 43, 44, 45, 46, 47,
@@ -205,7 +205,7 @@ static nand_ecclayout_t nand_oob_64 = {
 
 /* nand device <nand_controller> [controller options]
  */
-static int handle_nand_device_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_device_command)
 {
        int i;
        int retval;
@@ -241,7 +241,8 @@ static int handle_nand_device_command(struct command_context_s *cmd_ctx, char *c
                        c->use_raw = 0;
                        c->next = NULL;
 
-                       if ((retval = nand_flash_controllers[i]->nand_device_command(cmd_ctx, cmd, args, argc, c)) != ERROR_OK)
+                       retval = CALL_COMMAND_HANDLER(nand_flash_controllers[i]->nand_device_command, c);
+                       if (ERROR_OK != retval)
                        {
                                LOG_ERROR("'%s' driver rejected nand flash", c->controller->name);
                                free(c);
@@ -1041,7 +1042,7 @@ int nand_write_page_raw(struct nand_device_s *nand, uint32_t page, uint8_t *data
        return ERROR_OK;
 }
 
-int handle_nand_list_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_list_command)
 {
        nand_device_t *p;
        int i;
@@ -1068,7 +1069,7 @@ int handle_nand_list_command(struct command_context_s *cmd_ctx, char *cmd, char
        return ERROR_OK;
 }
 
-static int handle_nand_info_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_info_command)
 {
        int i = 0;
        int j = 0;
@@ -1143,7 +1144,7 @@ static int handle_nand_info_command(struct command_context_s *cmd_ctx, char *cmd
        return ERROR_OK;
 }
 
-static int handle_nand_probe_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_probe_command)
 {
        if (argc != 1)
        {
@@ -1171,7 +1172,7 @@ static int handle_nand_probe_command(struct command_context_s *cmd_ctx, char *cm
        return ERROR_OK;
 }
 
-static int handle_nand_erase_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_erase_command)
 {
        if (argc != 1 && argc != 3)
        {
@@ -1227,7 +1228,7 @@ static int handle_nand_erase_command(struct command_context_s *cmd_ctx, char *cm
        return ERROR_OK;
 }
 
-int handle_nand_check_bad_blocks_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_check_bad_blocks_command)
 {
        int first = -1;
        int last = -1;
@@ -1284,14 +1285,14 @@ int handle_nand_check_bad_blocks_command(struct command_context_s *cmd_ctx, char
        return ERROR_OK;
 }
 
-static int handle_nand_write_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_write_command)
 {
        uint32_t offset;
        uint32_t binary_size;
        uint32_t buf_cnt;
        enum oob_formats oob_format = NAND_OOB_NONE;
 
-       fileio_t fileio;
+       struct fileio fileio;
 
 
        if (argc < 3)
@@ -1314,8 +1315,7 @@ static int handle_nand_write_command(struct command_context_s *cmd_ctx, char *cm
 
        if (argc > 3)
        {
-               int i;
-               for (i = 3; i < argc; i++)
+               for (unsigned i = 3; i < argc; i++)
                {
                        if (!strcmp(args[i], "oob_raw"))
                                oob_format |= NAND_OOB_RAW;
@@ -1451,7 +1451,7 @@ static int handle_nand_write_command(struct command_context_s *cmd_ctx, char *cm
        return ERROR_OK;
 }
 
-static int handle_nand_dump_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_dump_command)
 {
        if (argc < 4)
        {
@@ -1469,7 +1469,7 @@ static int handle_nand_dump_command(struct command_context_s *cmd_ctx, char *cmd
                return ERROR_OK;
        }
 
-       fileio_t fileio;
+       struct fileio fileio;
 
        uint8_t *page = NULL;
        uint32_t page_size = 0;
@@ -1484,8 +1484,7 @@ static int handle_nand_dump_command(struct command_context_s *cmd_ctx, char *cmd
 
        if (argc > 4)
        {
-               int i;
-               for (i = 4; i < argc; i++)
+               for (unsigned i = 4; i < argc; i++)
                {
                        if (!strcmp(args[i], "oob_raw"))
                                oob_format |= NAND_OOB_RAW;
@@ -1569,7 +1568,7 @@ static int handle_nand_dump_command(struct command_context_s *cmd_ctx, char *cmd
        return ERROR_OK;
 }
 
-static int handle_nand_raw_access_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
+COMMAND_HANDLER(handle_nand_raw_access_command)
 {
        if ((argc < 1) || (argc > 2))
        {