remove nand_controller->register_callbacks
authorZachary T Welch <zw@superlucidity.net>
Sun, 22 Nov 2009 14:24:19 +0000 (06:24 -0800)
committerZachary T Welch <zw@superlucidity.net>
Wed, 25 Nov 2009 05:37:35 +0000 (21:37 -0800)
Replace flash_driver callback with pointer to command_registration.
Eliminates all related routines and allows drivers to omit commands.

12 files changed:
src/flash/davinci_nand.c
src/flash/lpc3180_nand_controller.c
src/flash/mx3_nand.c
src/flash/nand.c
src/flash/nand.h
src/flash/orion_nand.c
src/flash/s3c2410_nand.c
src/flash/s3c2412_nand.c
src/flash/s3c2440_nand.c
src/flash/s3c2443_nand.c
src/flash/s3c24xx_nand.c
src/flash/s3c24xx_nand.h

index ebd9ba8dde5495a464b0ca4033d12934ab3d9236..72cd378a4da7fbd1b9bf331d77bc923a4a586d0c 100644 (file)
@@ -78,11 +78,6 @@ static int halted(struct target *target, const char *label)
        return false;
 }
 
-static int davinci_register_commands(struct command_context *cmd_ctx)
-{
-       return ERROR_OK;
-}
-
 static int davinci_init(struct nand_device *nand)
 {
        struct davinci_nand *info = nand->controller_priv;
@@ -747,7 +742,6 @@ fail:
 struct nand_flash_controller davinci_nand_controller = {
        .name                   = "davinci",
        .nand_device_command    = davinci_nand_device_command,
-       .register_commands      = davinci_register_commands,
        .init                   = davinci_init,
        .reset                  = davinci_reset,
        .command                = davinci_command,
index 2dec3e1236ea8de78a00b2ca2d553ec037f413be..146c84382d0769862038b2067920e374442cfef2 100644 (file)
@@ -893,15 +893,10 @@ static const struct command_registration lpc3180_command_handler[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-static int lpc3180_register_commands(struct command_context *cmd_ctx)
-{
-       return register_commands(cmd_ctx, NULL, lpc3180_command_handler);
-}
-
 struct nand_flash_controller lpc3180_nand_controller = {
                .name = "lpc3180",
+               .commands = lpc3180_command_handler,
                .nand_device_command = lpc3180_nand_device_command,
-               .register_commands = lpc3180_register_commands,
                .init = lpc3180_init,
                .reset = lpc3180_reset,
                .command = lpc3180_command,
index 459e2a60cac2656088beca0fd3200e5832efdeef..1dc4fcbc4654a7411ccf575ac97e75d9f386fffd 100644 (file)
@@ -315,11 +315,6 @@ static int imx31_nand_ready (struct nand_device *nand, int timeout)
        return imx31_controller_ready (nand, timeout);
 }
 
-static int imx31_register_commands (struct command_context *cmd_ctx)
-{
-       return ERROR_OK;
-}
-
 static int imx31_reset (struct nand_device *nand)
 {
        /*
@@ -871,7 +866,6 @@ static int do_data_output (struct nand_device *nand)
 struct nand_flash_controller imx31_nand_flash_controller = {
                .name = "imx31",
                .nand_device_command = &imx31_nand_device_command,
-               .register_commands = &imx31_register_commands,
                .init = &imx31_init,
                .reset = &imx31_reset,
                .command = &imx31_command,
index bc0e350556f9b8a4a6e646a856b7dd0c12292c5d..1e28ba2697151318a15fb91f4bceaa080d509422 100644 (file)
@@ -214,11 +214,12 @@ COMMAND_HANDLER(handle_nand_list_drivers)
 static COMMAND_HELPER(create_nand_device, const char *bank_name,
                struct nand_flash_controller *controller)
 {
-       int retval = controller->register_commands(CMD_CTX);
-       if (ERROR_OK != retval)
+       if (NULL != controller->commands)
        {
-               LOG_ERROR("couldn't register '%s' commands", controller->name);
-               return retval;
+               int retval = register_commands(CMD_CTX, NULL,
+                               controller->commands);
+               if (ERROR_OK != retval)
+                       return retval;
        }
        struct nand_device *c = malloc(sizeof(struct nand_device));
 
@@ -233,7 +234,7 @@ static COMMAND_HELPER(create_nand_device, const char *bank_name,
        c->use_raw = 0;
        c->next = NULL;
 
-       retval = CALL_COMMAND_HANDLER(controller->nand_device_command, c);
+       int retval = CALL_COMMAND_HANDLER(controller->nand_device_command, c);
        if (ERROR_OK != retval)
        {
                LOG_ERROR("'%s' driver rejected nand flash", controller->name);
index af52c770970373fa911ef69118fc3698daf7cddf..b780f2846edbe547113c75639be33cc298a35922 100644 (file)
@@ -35,8 +35,8 @@ struct nand_device;
 struct nand_flash_controller
 {
        char *name;
+       const struct command_registration *commands;
        __NAND_DEVICE_COMMAND((*nand_device_command));
-       int (*register_commands)(struct command_context *cmd_ctx);
        int (*init)(struct nand_device *nand);
        int (*reset)(struct nand_device *nand);
        int (*command)(struct nand_device *nand, uint8_t command);
index c8fc96988421fdaf7847f609f478e2503ea3e43f..77a03f2752334a62a1a26c60978cfc4d4eb1a42a 100644 (file)
@@ -120,11 +120,6 @@ static int orion_nand_controller_ready(struct nand_device *nand, int timeout)
        return 1;
 }
 
-static int orion_nand_register_commands(struct command_context *cmd_ctx)
-{
-       return ERROR_OK;
-}
-
 NAND_DEVICE_COMMAND_HANDLER(orion_nand_device_command)
 {
        struct orion_nand_controller *hw;
@@ -180,7 +175,6 @@ struct nand_flash_controller orion_nand_controller =
        .reset                  = orion_nand_reset,
        .controller_ready       = orion_nand_controller_ready,
        .nand_device_command    = orion_nand_device_command,
-       .register_commands      = orion_nand_register_commands,
        .init                   = orion_nand_init,
 };
 
index 6fe8bae73f12238aab9ed35dd3085b2b1f8a7190..ca50c99445adcf7471200de29792765650af79c3 100644 (file)
@@ -110,7 +110,6 @@ static int s3c2410_nand_ready(struct nand_device *nand, int timeout)
 struct nand_flash_controller s3c2410_nand_controller = {
                .name = "s3c2410",
                .nand_device_command = &s3c2410_nand_device_command,
-               .register_commands = &s3c24xx_register_commands,
                .init = &s3c2410_init,
                .reset = &s3c24xx_reset,
                .command = &s3c24xx_command,
index 2ca4cd31f91797e6bb9915ec01ab28160f374558..acc6d993f61cbdd16261f733ebc638cd184df82d 100644 (file)
@@ -64,7 +64,6 @@ static int s3c2412_init(struct nand_device *nand)
 struct nand_flash_controller s3c2412_nand_controller = {
                .name = "s3c2412",
                .nand_device_command = &s3c2412_nand_device_command,
-               .register_commands = &s3c24xx_register_commands,
                .init = &s3c2412_init,
                .reset = &s3c24xx_reset,
                .command = &s3c24xx_command,
index 65e5a51180d6bba843a4e3ea41cc7eacdbe07345..556f6f1e89b960af560360689cf0d1f62932ad47 100644 (file)
@@ -156,7 +156,6 @@ int s3c2440_write_block_data(struct nand_device *nand, uint8_t *data, int data_s
 struct nand_flash_controller s3c2440_nand_controller = {
                .name = "s3c2440",
                .nand_device_command = &s3c2440_nand_device_command,
-               .register_commands = &s3c24xx_register_commands,
                .init = &s3c2440_init,
                .reset = &s3c24xx_reset,
                .command = &s3c24xx_command,
index 5afb26fcbb8135383dc4603583c8d2211435cf6d..311bb6977c8fb0b8399939dfd3d28311c5f8e5da 100644 (file)
@@ -65,7 +65,6 @@ static int s3c2443_init(struct nand_device *nand)
 struct nand_flash_controller s3c2443_nand_controller = {
                .name = "s3c2443",
                .nand_device_command = &s3c2443_nand_device_command,
-               .register_commands = &s3c24xx_register_commands,
                .init = &s3c2443_init,
                .reset = &s3c24xx_reset,
                .command = &s3c24xx_command,
index 262569e8f1ec18cd50a3174e6b391831c65cce94..e7afb48ad7b0bece77600deb041af1fa9df11891 100644 (file)
@@ -52,11 +52,6 @@ S3C24XX_DEVICE_COMMAND()
        return ERROR_OK;
 }
 
-int s3c24xx_register_commands(struct command_context *cmd_ctx)
-{
-       return ERROR_OK;
-}
-
 int s3c24xx_reset(struct nand_device *nand)
 {
        struct s3c24xx_nand_controller *s3c24xx_info = nand->controller_priv;
index 4829c7c4f22eeb5d18ac759e781e2db18c36bbe3..fad33a0c4dd84e029431a18312d920a510ba5715 100644 (file)
@@ -59,8 +59,6 @@ S3C24XX_DEVICE_COMMAND();
                        return retval; \
        } while (0)
 
-int s3c24xx_register_commands(struct command_context *cmd_ctx);
-
 int s3c24xx_reset(struct nand_device *nand);
 
 int s3c24xx_command(struct nand_device *nand, uint8_t command);

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)