flash/nor: improved API of flash_driver.info & fixed buffer overruns
[openocd.git] / src / flash / nor / cc26xx.c
index 7b8744143365474e2b02afbf9da6f90930074fa9..4d58daad852913a8edc4d205386e359c158f8c49 100644 (file)
@@ -264,7 +264,8 @@ FLASH_BANK_COMMAND_HANDLER(cc26xx_flash_bank_command)
        return ERROR_OK;
 }
 
-static int cc26xx_erase(struct flash_bank *bank, int first, int last)
+static int cc26xx_erase(struct flash_bank *bank, unsigned int first,
+               unsigned int last)
 {
        struct target *target = bank->target;
        struct cc26xx_bank *cc26xx_bank = bank->driver_priv;
@@ -491,21 +492,15 @@ static int cc26xx_auto_probe(struct flash_bank *bank)
 
        int retval = ERROR_OK;
 
-       if (bank->bank_number != 0) {
-               /* Invalid bank number somehow */
-               return ERROR_FAIL;
-       }
-
        if (!cc26xx_bank->probed)
                retval = cc26xx_probe(bank);
 
        return retval;
 }
 
-static int cc26xx_info(struct flash_bank *bank, char *buf, int buf_size)
+static int cc26xx_info(struct flash_bank *bank, struct command_invocation *cmd)
 {
        struct cc26xx_bank *cc26xx_bank = bank->driver_priv;
-       int printed = 0;
        const char *device;
 
        switch (cc26xx_bank->device_type) {
@@ -530,17 +525,14 @@ static int cc26xx_info(struct flash_bank *bank, char *buf, int buf_size)
                        break;
        }
 
-       printed = snprintf(buf, buf_size,
-               "%s device: ICEPick ID 0x%08x, USER ID 0x%08x\n",
+       command_print_sameline(cmd,
+               "%s device: ICEPick ID 0x%08" PRIx32 ", USER ID 0x%08" PRIx32 "\n",
                device, cc26xx_bank->icepick_id, cc26xx_bank->user_id);
 
-       if (printed >= buf_size)
-               return ERROR_BUF_TOO_SMALL;
-
        return ERROR_OK;
 }
 
-struct flash_driver cc26xx_flash = {
+const struct flash_driver cc26xx_flash = {
        .name = "cc26xx",
        .flash_bank_command = cc26xx_flash_bank_command,
        .erase = cc26xx_erase,

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)