Constify struct flash_driver instances 03/4803/3
authorChristopher Head <chead@zaber.com>
Thu, 13 Dec 2018 19:53:59 +0000 (11:53 -0800)
committerMatthias Welwarsky <matthias@welwarsky.de>
Wed, 27 Mar 2019 08:57:14 +0000 (08:57 +0000)
Instances of struct flash_driver are never written to at runtime. For a
small amount of memory saving and also robustness (fewer things for
stray pointer writes to hit), mark them const.

Change-Id: Iadbbbc2fac0976d892699200000c5f02856729f3
Signed-off-by: Christopher Head <chead@zaber.com>
Reviewed-on: http://openocd.zylin.com/4803
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Tested-by: jenkins
Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
64 files changed:
src/flash/nor/aduc702x.c
src/flash/nor/aducm360.c
src/flash/nor/ambiqmicro.c
src/flash/nor/at91sam3.c
src/flash/nor/at91sam4.c
src/flash/nor/at91sam4l.c
src/flash/nor/at91sam7.c
src/flash/nor/at91samd.c
src/flash/nor/ath79.c
src/flash/nor/atsame5.c
src/flash/nor/atsamv.c
src/flash/nor/avrf.c
src/flash/nor/bluenrg-x.c
src/flash/nor/cc26xx.c
src/flash/nor/cc3220sf.c
src/flash/nor/cfi.c
src/flash/nor/core.h
src/flash/nor/driver.h
src/flash/nor/drivers.c
src/flash/nor/dsp5680xx_flash.c
src/flash/nor/efm32.c
src/flash/nor/em357.c
src/flash/nor/esirisc_flash.c
src/flash/nor/faux.c
src/flash/nor/fespi.c
src/flash/nor/fm3.c
src/flash/nor/fm4.c
src/flash/nor/jtagspi.c
src/flash/nor/kinetis.c
src/flash/nor/kinetis_ke.c
src/flash/nor/lpc2000.c
src/flash/nor/lpc288x.c
src/flash/nor/lpc2900.c
src/flash/nor/lpcspifi.c
src/flash/nor/max32xxx.c
src/flash/nor/mdr.c
src/flash/nor/mrvlqspi.c
src/flash/nor/msp432.c
src/flash/nor/niietcm4.c
src/flash/nor/nrf5.c
src/flash/nor/numicro.c
src/flash/nor/ocl.c
src/flash/nor/pic32mx.c
src/flash/nor/psoc4.c
src/flash/nor/psoc5lp.c
src/flash/nor/psoc6.c
src/flash/nor/sim3x.c
src/flash/nor/stellaris.c
src/flash/nor/stm32f1x.c
src/flash/nor/stm32f2x.c
src/flash/nor/stm32h7x.c
src/flash/nor/stm32l4x.c
src/flash/nor/stm32lx.c
src/flash/nor/stmsmi.c
src/flash/nor/str7x.c
src/flash/nor/str9x.c
src/flash/nor/str9xpec.c
src/flash/nor/tcl.c
src/flash/nor/tms470.c
src/flash/nor/virtual.c
src/flash/nor/w600.c
src/flash/nor/xcf.c
src/flash/nor/xmc1xxx.c
src/flash/nor/xmc4xxx.c

index 824112b1bc44a57090f73923996a095918f224d6..b6e19376c3703600a5fd74a2018c6cfb2ce153a9 100644 (file)
@@ -378,7 +378,7 @@ static int aduc702x_check_flash_completion(struct target *target, unsigned int t
                return ERROR_OK;
 }
 
-struct flash_driver aduc702x_flash = {
+const struct flash_driver aduc702x_flash = {
        .name = "aduc702x",
        .flash_bank_command = aduc702x_flash_bank_command,
        .erase = aduc702x_erase,
index 7663783478f522472112ffac5529e973e3c392de..f468c89a53efb2e48a60ed14e17a6f2d986b43b0 100644 (file)
@@ -554,7 +554,7 @@ static int aducm360_check_flash_completion(struct target *target, unsigned int t
 }
 
 /* ----------------------------------------------------------------------- */
-struct flash_driver aducm360_flash = {
+const struct flash_driver aducm360_flash = {
        .name = "aducm360",
        .flash_bank_command = aducm360_flash_bank_command,
        .erase = aducm360_erase,
index 13b2b26ae3abaa0d999aaaa2df2781e54cec3661..a536d54562062220a9b9ecc248d9e9a60362dc5b 100644 (file)
@@ -888,7 +888,7 @@ static const struct command_registration ambiqmicro_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver ambiqmicro_flash = {
+const struct flash_driver ambiqmicro_flash = {
        .name = "ambiqmicro",
        .commands = ambiqmicro_command_handlers,
        .flash_bank_command = ambiqmicro_flash_bank_command,
index 711918862d95b4156e7bd2f301b12481faa0a5ec..2d61a8780f670d404229fed012e3c1bacc242448 100644 (file)
 #define  offset_EFC_FSR   8
 #define  offset_EFC_FRR   12
 
-extern struct flash_driver at91sam3_flash;
+extern const struct flash_driver at91sam3_flash;
 
 static float _tomhz(uint32_t freq_hz)
 {
@@ -3753,7 +3753,7 @@ static const struct command_registration at91sam3_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91sam3_flash = {
+const struct flash_driver at91sam3_flash = {
        .name = "at91sam3",
        .commands = at91sam3_command_handlers,
        .flash_bank_command = sam3_flash_bank_command,
index d4d48a74f6353678bd72467e63cb0029202942e3..446f7983b7971c531ecd31dcc919f64f208ea914 100644 (file)
 #define  offset_EFC_FSR   8
 #define  offset_EFC_FRR   12
 
-extern struct flash_driver at91sam4_flash;
+extern const struct flash_driver at91sam4_flash;
 
 static float _tomhz(uint32_t freq_hz)
 {
@@ -3234,7 +3234,7 @@ static const struct command_registration at91sam4_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91sam4_flash = {
+const struct flash_driver at91sam4_flash = {
        .name = "at91sam4",
        .commands = at91sam4_command_handlers,
        .flash_bank_command = sam4_flash_bank_command,
index f3b065f40914573a4cafcbc39ff57dfb9c907287..1c2402ff063ccd550e0af87447db2c834f5ce40f 100644 (file)
@@ -684,7 +684,7 @@ static const struct command_registration at91sam4l_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91sam4l_flash = {
+const struct flash_driver at91sam4l_flash = {
        .name = "at91sam4l",
        .commands = at91sam4l_command_handlers,
        .flash_bank_command = sam4l_flash_bank_command,
index 9de829327ac01cea07b4ae2f0016641d7b565079..15b93a29f4b977342f68691189fcf93bc8f220e8 100644 (file)
@@ -1140,7 +1140,7 @@ static const struct command_registration at91sam7_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91sam7_flash = {
+const struct flash_driver at91sam7_flash = {
        .name = "at91sam7",
        .usage = "gpnvm <bit> <set | clear>",
        .commands = at91sam7_command_handlers,
index 029579ba8b74120b12debcea99c099b0e6379622..ad0da5d7e0f01b2360749169aa04159124e0cbaf 100644 (file)
@@ -1287,7 +1287,7 @@ static const struct command_registration at91samd_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver at91samd_flash = {
+const struct flash_driver at91samd_flash = {
        .name = "at91samd",
        .commands = at91samd_command_handlers,
        .flash_bank_command = samd_flash_bank_command,
index af2112a9e50213e670cef2e530a6e10fa0f0d7d3..c551f27223512301ae8a8a5b7cddb6bff2247d82 100644 (file)
@@ -895,7 +895,7 @@ static int get_ath79_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver ath79_flash = {
+const struct flash_driver ath79_flash = {
        .name = "ath79",
        .flash_bank_command = ath79_flash_bank_command,
        .erase = ath79_erase,
index ff99e7d7c2d569a1693a56fa6a3f43f462c43439..833177e1a4f85009d0d43e3572f7af8855b0785f 100644 (file)
@@ -938,7 +938,7 @@ static const struct command_registration same5_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver atsame5_flash = {
+const struct flash_driver atsame5_flash = {
        .name = "atsame5",
        .commands = same5_command_handlers,
        .flash_bank_command = same5_flash_bank_command,
index 9c07bdf152f415cbbbafb452e7fb292e28156bf7..5beeefc5ab56dafe19d6afd063b36091f3a2b307 100644 (file)
@@ -94,7 +94,7 @@
 #define SAMV_PAGE_SIZE                 512
 #define SAMV_FLASH_BASE         0x00400000
 
-extern struct flash_driver atsamv_flash;
+extern const struct flash_driver atsamv_flash;
 
 struct samv_flash_bank {
        int      probed;
@@ -726,7 +726,7 @@ static const struct command_registration atsamv_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver atsamv_flash = {
+const struct flash_driver atsamv_flash = {
        .name = "atsamv",
        .commands = atsamv_command_handlers,
        .flash_bank_command = samv_flash_bank_command,
index b88f6f61c3995365543e661fd0f3b645c29c9fb6..6969f774104f90cde88e1ef109be0b02db27d9bd 100644 (file)
@@ -462,7 +462,7 @@ static const struct command_registration avrf_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver avr_flash = {
+const struct flash_driver avr_flash = {
        .name = "avr",
        .commands = avrf_command_handlers,
        .flash_bank_command = avrf_flash_bank_command,
index f1b2062019edf1a550dca1a7a65b160f44e2b2f4..f6a249273afe9660aff67b34c0b3915092f55b94 100644 (file)
@@ -539,7 +539,7 @@ static int bluenrgx_get_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver bluenrgx_flash = {
+const struct flash_driver bluenrgx_flash = {
        .name = "bluenrg-x",
        .flash_bank_command = bluenrgx_flash_bank_command,
        .erase = bluenrgx_erase,
index 0320e92c4fcba187e1a58a03b40dfd58e11c0a1e..176211a0777d2fb453db3c05d2e5aaee967aa3c3 100644 (file)
@@ -535,7 +535,7 @@ static int cc26xx_info(struct flash_bank *bank, char *buf, int buf_size)
        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,
index 244112467a0204efa8c77cfb88c446aa20a59305..afdb7f4917306926cb4e08b0892934301bc03001 100644 (file)
@@ -489,7 +489,7 @@ static int cc3220sf_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver cc3220sf_flash = {
+const struct flash_driver cc3220sf_flash = {
        .name = "cc3220sf",
        .flash_bank_command = cc3220sf_flash_bank_command,
        .erase = cc3220sf_erase,
index 163862817066b6d1d9113f89d1bff4e162cd3cfc..04fa83b552f0c54463b3fd19241f422870465efc 100644 (file)
@@ -3112,7 +3112,7 @@ static void cfi_fixup_0002_write_buffer(struct flash_bank *bank, const void *par
        cfi_info->buf_write_timeout_typ = 0;
 }
 
-struct flash_driver cfi_flash = {
+const struct flash_driver cfi_flash = {
        .name = "cfi",
        .flash_bank_command = cfi_flash_bank_command,
        .erase = cfi_erase,
index bd3aa7039bd04f6a9d9f74f565fbf4e17b3b564e..f6bd0cf1aea34b6b7e92db56ad7bcf96d57d625a 100644 (file)
@@ -87,7 +87,7 @@ struct flash_bank {
 
        struct target *target; /**< Target to which this bank belongs. */
 
-       struct flash_driver *driver; /**< Driver for this bank. */
+       const struct flash_driver *driver; /**< Driver for this bank. */
        void *driver_priv; /**< Private driver storage pointer */
 
        int bank_number; /**< The 'bank' (or chip number) of this instance. */
index ef69a0f424f2d3e7c2ab979cd9bb60254e6ead13..9c56d4ea8ccda07c285ddd9e88e8bc7c6aa7dbf6 100644 (file)
@@ -231,6 +231,6 @@ struct flash_driver {
  * @param name The name of the requested driver.
  * @returns The flash_driver called @c name, or NULL if not found.
  */
-struct flash_driver *flash_driver_find_by_name(const char *name);
+const struct flash_driver *flash_driver_find_by_name(const char *name);
 
 #endif /* OPENOCD_FLASH_NOR_DRIVER_H */
index 31caa5a55efb23cf2331d56bc4ea994c6c29be64..955d149b5fc9e93b6e8b6b5bd3a4253dff682c2b 100644 (file)
 #endif
 #include "imp.h"
 
-extern struct flash_driver aduc702x_flash;
-extern struct flash_driver aducm360_flash;
-extern struct flash_driver ambiqmicro_flash;
-extern struct flash_driver at91sam3_flash;
-extern struct flash_driver at91sam4_flash;
-extern struct flash_driver at91sam4l_flash;
-extern struct flash_driver at91sam7_flash;
-extern struct flash_driver at91samd_flash;
-extern struct flash_driver ath79_flash;
-extern struct flash_driver atsame5_flash;
-extern struct flash_driver atsamv_flash;
-extern struct flash_driver avr_flash;
-extern struct flash_driver bluenrgx_flash;
-extern struct flash_driver cc3220sf_flash;
-extern struct flash_driver cc26xx_flash;
-extern struct flash_driver cfi_flash;
-extern struct flash_driver dsp5680xx_flash;
-extern struct flash_driver efm32_flash;
-extern struct flash_driver em357_flash;
-extern struct flash_driver esirisc_flash;
-extern struct flash_driver faux_flash;
-extern struct flash_driver fm3_flash;
-extern struct flash_driver fm4_flash;
-extern struct flash_driver fespi_flash;
-extern struct flash_driver jtagspi_flash;
-extern struct flash_driver kinetis_flash;
-extern struct flash_driver kinetis_ke_flash;
-extern struct flash_driver lpc2000_flash;
-extern struct flash_driver lpc288x_flash;
-extern struct flash_driver lpc2900_flash;
-extern struct flash_driver lpcspifi_flash;
-extern struct flash_driver max32xxx_flash;
-extern struct flash_driver mdr_flash;
-extern struct flash_driver mrvlqspi_flash;
-extern struct flash_driver msp432_flash;
-extern struct flash_driver niietcm4_flash;
-extern struct flash_driver nrf5_flash;
-extern struct flash_driver nrf51_flash;
-extern struct flash_driver numicro_flash;
-extern struct flash_driver ocl_flash;
-extern struct flash_driver pic32mx_flash;
-extern struct flash_driver psoc4_flash;
-extern struct flash_driver psoc5lp_flash;
-extern struct flash_driver psoc5lp_eeprom_flash;
-extern struct flash_driver psoc5lp_nvl_flash;
-extern struct flash_driver psoc6_flash;
-extern struct flash_driver sim3x_flash;
-extern struct flash_driver stellaris_flash;
-extern struct flash_driver stm32f1x_flash;
-extern struct flash_driver stm32f2x_flash;
-extern struct flash_driver stm32lx_flash;
-extern struct flash_driver stm32l4x_flash;
-extern struct flash_driver stm32h7x_flash;
-extern struct flash_driver stmsmi_flash;
-extern struct flash_driver str7x_flash;
-extern struct flash_driver str9x_flash;
-extern struct flash_driver str9xpec_flash;
-extern struct flash_driver tms470_flash;
-extern struct flash_driver virtual_flash;
-extern struct flash_driver w600_flash;
-extern struct flash_driver xcf_flash;
-extern struct flash_driver xmc1xxx_flash;
-extern struct flash_driver xmc4xxx_flash;
+extern const struct flash_driver aduc702x_flash;
+extern const struct flash_driver aducm360_flash;
+extern const struct flash_driver ambiqmicro_flash;
+extern const struct flash_driver at91sam3_flash;
+extern const struct flash_driver at91sam4_flash;
+extern const struct flash_driver at91sam4l_flash;
+extern const struct flash_driver at91sam7_flash;
+extern const struct flash_driver at91samd_flash;
+extern const struct flash_driver ath79_flash;
+extern const struct flash_driver atsame5_flash;
+extern const struct flash_driver atsamv_flash;
+extern const struct flash_driver avr_flash;
+extern const struct flash_driver bluenrgx_flash;
+extern const struct flash_driver cc3220sf_flash;
+extern const struct flash_driver cc26xx_flash;
+extern const struct flash_driver cfi_flash;
+extern const struct flash_driver dsp5680xx_flash;
+extern const struct flash_driver efm32_flash;
+extern const struct flash_driver em357_flash;
+extern const struct flash_driver esirisc_flash;
+extern const struct flash_driver faux_flash;
+extern const struct flash_driver fm3_flash;
+extern const struct flash_driver fm4_flash;
+extern const struct flash_driver fespi_flash;
+extern const struct flash_driver jtagspi_flash;
+extern const struct flash_driver kinetis_flash;
+extern const struct flash_driver kinetis_ke_flash;
+extern const struct flash_driver lpc2000_flash;
+extern const struct flash_driver lpc288x_flash;
+extern const struct flash_driver lpc2900_flash;
+extern const struct flash_driver lpcspifi_flash;
+extern const struct flash_driver max32xxx_flash;
+extern const struct flash_driver mdr_flash;
+extern const struct flash_driver mrvlqspi_flash;
+extern const struct flash_driver msp432_flash;
+extern const struct flash_driver niietcm4_flash;
+extern const struct flash_driver nrf5_flash;
+extern const struct flash_driver nrf51_flash;
+extern const struct flash_driver numicro_flash;
+extern const struct flash_driver ocl_flash;
+extern const struct flash_driver pic32mx_flash;
+extern const struct flash_driver psoc4_flash;
+extern const struct flash_driver psoc5lp_flash;
+extern const struct flash_driver psoc5lp_eeprom_flash;
+extern const struct flash_driver psoc5lp_nvl_flash;
+extern const struct flash_driver psoc6_flash;
+extern const struct flash_driver sim3x_flash;
+extern const struct flash_driver stellaris_flash;
+extern const struct flash_driver stm32f1x_flash;
+extern const struct flash_driver stm32f2x_flash;
+extern const struct flash_driver stm32lx_flash;
+extern const struct flash_driver stm32l4x_flash;
+extern const struct flash_driver stm32h7x_flash;
+extern const struct flash_driver stmsmi_flash;
+extern const struct flash_driver str7x_flash;
+extern const struct flash_driver str9x_flash;
+extern const struct flash_driver str9xpec_flash;
+extern const struct flash_driver tms470_flash;
+extern const struct flash_driver virtual_flash;
+extern const struct flash_driver w600_flash;
+extern const struct flash_driver xcf_flash;
+extern const struct flash_driver xmc1xxx_flash;
+extern const struct flash_driver xmc4xxx_flash;
 
 /**
  * The list of built-in flash drivers.
  * @todo Make this dynamically extendable with loadable modules.
  */
-static struct flash_driver *flash_drivers[] = {
+static const struct flash_driver * const flash_drivers[] = {
        &aduc702x_flash,
        &aducm360_flash,
        &ambiqmicro_flash,
@@ -155,7 +155,7 @@ static struct flash_driver *flash_drivers[] = {
        NULL,
 };
 
-struct flash_driver *flash_driver_find_by_name(const char *name)
+const struct flash_driver *flash_driver_find_by_name(const char *name)
 {
        for (unsigned i = 0; flash_drivers[i]; i++) {
                if (strcmp(name, flash_drivers[i]->name) == 0)
index 38649ff0409ddc857b9bcfb9956f92d5ae1cc952..37b60f0014c82fc652c8dfed1434044831a1d3a0 100644 (file)
@@ -256,7 +256,7 @@ static int dsp5680xx_flash_erase_check(struct flash_bank *bank)
        return retval;
 }
 
-struct flash_driver dsp5680xx_flash = {
+const struct flash_driver dsp5680xx_flash = {
        .name = "dsp5680xx_flash",
        .flash_bank_command = dsp5680xx_flash_bank_command,
        .erase = dsp5680xx_flash_erase,
index 8ff689cc030f3ed548eb8a20fa5aec6b9c7e9187..d2ac3a8fb1d5ac9c7ab65186e96a233c98c6dc52 100644 (file)
@@ -1120,7 +1120,7 @@ static const struct command_registration efm32x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver efm32_flash = {
+const struct flash_driver efm32_flash = {
        .name = "efm32",
        .commands = efm32x_command_handlers,
        .flash_bank_command = efm32x_flash_bank_command,
index b14e0323c7916e272f66c073a07351d3d930d8b9..e6b27283ba5d88c8ac75f08ccb819af6fe6f74f1 100644 (file)
@@ -929,7 +929,7 @@ static const struct command_registration em357_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver em357_flash = {
+const struct flash_driver em357_flash = {
        .name = "em357",
        .commands = em357_command_handlers,
        .flash_bank_command = em357_flash_bank_command,
index 9e11571bd95651c7288544e1ce51b3a7b801079c..948d001a061364818a7ebe4a4433547fe26bf874 100644 (file)
@@ -571,7 +571,7 @@ static const struct command_registration esirisc_flash_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver esirisc_flash = {
+const struct flash_driver esirisc_flash = {
        .name = "esirisc",
        .usage = "flash bank bank_id 'esirisc' base_address size_bytes 0 0 target "
                        "cfg_address clock_hz wait_states",
index d68940fc6ea2dfe86052f9c703111e78d249efd4..49b6dccd0179268f4ae599b934baf37831b8ad10 100644 (file)
@@ -113,7 +113,7 @@ static const struct command_registration faux_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver faux_flash = {
+const struct flash_driver faux_flash = {
        .name = "faux",
        .commands = faux_command_handlers,
        .flash_bank_command = faux_flash_bank_command,
index ea47afd23162735260cb5fb23824118625a4414e..1c343a84c8834ff144a878c38a5e99e8793182ef 100644 (file)
@@ -1038,7 +1038,7 @@ static int get_fespi_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver fespi_flash = {
+const struct flash_driver fespi_flash = {
        .name = "fespi",
        .flash_bank_command = fespi_flash_bank_command,
        .erase = fespi_erase,
index 6c619775ac149124454ab15722dd398dde0b23bc..f2da2af8ae4481e4f5cd6476032bce93f65ac7f7 100644 (file)
@@ -988,7 +988,7 @@ static const struct command_registration fm3_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver fm3_flash = {
+const struct flash_driver fm3_flash = {
        .name = "fm3",
        .commands = fm3_command_handlers,
        .flash_bank_command = fm3_flash_bank_command,
index 171cbd73e38a62086a4682351840f1711bb7be26..a8877b4fbbd2b48a75070c21a3ac14ce8cbfdf22 100644 (file)
@@ -702,7 +702,7 @@ static const struct command_registration fm4_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver fm4_flash = {
+const struct flash_driver fm4_flash = {
        .name = "fm4",
        .commands = fm4_command_handlers,
        .flash_bank_command = fm4_flash_bank_command,
index 0750fdfd5039d07ec0e45081bcf14e856c17499f..a9f2dd4a4b8e0111bed8f01678933eb351b1de9b 100644 (file)
@@ -427,7 +427,7 @@ static int jtagspi_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver jtagspi_flash = {
+const struct flash_driver jtagspi_flash = {
        .name = "jtagspi",
        .flash_bank_command = jtagspi_flash_bank_command,
        .erase = jtagspi_erase,
index d827355533ba0203e39aaa2a94c7b3a30dc1ba4c..22c5d5c2df414876d17065bdd436985c2bf6ec30 100644 (file)
@@ -393,7 +393,7 @@ static bool fcf_fopt_configured;
 static bool create_banks;
 
 
-struct flash_driver kinetis_flash;
+const struct flash_driver kinetis_flash;
 static int kinetis_write_inner(struct flash_bank *bank, const uint8_t *buffer,
                        uint32_t offset, uint32_t count);
 static int kinetis_probe_chip(struct kinetis_chip *k_chip);
@@ -3143,7 +3143,7 @@ static const struct command_registration kinetis_command_handler[] = {
 
 
 
-struct flash_driver kinetis_flash = {
+const struct flash_driver kinetis_flash = {
        .name = "kinetis",
        .commands = kinetis_command_handler,
        .flash_bank_command = kinetis_flash_bank_command,
index 9441a9d648b7b4687af89663dc8e0afa5d2593ed..27b6d3a83b539dbc7c307cd52ea91b4a10403c9a 100644 (file)
@@ -1297,7 +1297,7 @@ static const struct command_registration kinetis_ke_command_handler[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver kinetis_ke_flash = {
+const struct flash_driver kinetis_ke_flash = {
        .name = "kinetis_ke",
        .commands = kinetis_ke_command_handler,
        .flash_bank_command = kinetis_ke_flash_bank_command,
index 58afd79ac650a31f97c2669f29ea76902f475396..cb3f58e87074a395538d85a84149a6084d5a1d9a 100644 (file)
@@ -1609,7 +1609,7 @@ static const struct command_registration lpc2000_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver lpc2000_flash = {
+const struct flash_driver lpc2000_flash = {
        .name = "lpc2000",
        .commands = lpc2000_command_handlers,
        .flash_bank_command = lpc2000_flash_bank_command,
index afa8d79489ebbe085c701f6bd36da5e7ecb84a16..8852c859c351cdb9b78b6078a769467c76a21f9b 100644 (file)
@@ -412,7 +412,7 @@ static int lpc288x_protect(struct flash_bank *bank, int set, int first, int last
        return ERROR_OK;
 }
 
-struct flash_driver lpc288x_flash = {
+const struct flash_driver lpc288x_flash = {
        .name = "lpc288x",
        .flash_bank_command = lpc288x_flash_bank_command,
        .erase = lpc288x_erase,
index 022fb82a3e7fe9a78ed6539faace287b327251eb..c798e445552f70aa98372671a25416165491e236 100644 (file)
@@ -1581,7 +1581,7 @@ static int lpc2900_protect_check(struct flash_bank *bank)
        return lpc2900_read_security_status(bank);
 }
 
-struct flash_driver lpc2900_flash = {
+const struct flash_driver lpc2900_flash = {
        .name = "lpc2900",
        .commands = lpc2900_command_handlers,
        .flash_bank_command = lpc2900_flash_bank_command,
index a7e65ec4909f393f3134f2e86dade2dce046cb62..19d754b0f22d2aacb96a2cddd83ba9f08e1aa866 100644 (file)
@@ -946,7 +946,7 @@ static int get_lpcspifi_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver lpcspifi_flash = {
+const struct flash_driver lpcspifi_flash = {
        .name = "lpcspifi",
        .flash_bank_command = lpcspifi_flash_bank_command,
        .erase = lpcspifi_erase,
index ca037de4d5389e924270b6a834c83662af4eb0dd..12e3db9403530e942a7ab1872bf9e29106345ccf 100644 (file)
@@ -981,7 +981,7 @@ static const struct command_registration max32xxx_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver max32xxx_flash = {
+const struct flash_driver max32xxx_flash = {
        .name = "max32xxx",
        .commands = max32xxx_command_handlers,
        .flash_bank_command = max32xxx_flash_bank_command,
index c4a4458f9e68b35ea129acedd3c5f3dd37ab43c6..3796259948a5f25124dc49672cd076c8f38e9049 100644 (file)
@@ -609,7 +609,7 @@ static int get_mdr_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver mdr_flash = {
+const struct flash_driver mdr_flash = {
        .name = "mdr",
        .usage = "flash bank <name> mdr <base> <size> 0 0 <target#> <type> <page_count> <sec_count>\n"
        "<type>: 0 for main memory, 1 for info memory",
index cb2cfdbd553da56173f77e2b150427680ad1c1b2..803e84a91600554ddd3d6cbb572e99e6aee70b17 100644 (file)
@@ -953,7 +953,7 @@ FLASH_BANK_COMMAND_HANDLER(mrvlqspi_flash_bank_command)
        return ERROR_OK;
 }
 
-struct flash_driver mrvlqspi_flash = {
+const struct flash_driver mrvlqspi_flash = {
        .name = "mrvlqspi",
        .flash_bank_command = mrvlqspi_flash_bank_command,
        .erase = mrvlqspi_flash_erase,
index e2e65d4f0b480ed70d2dfb3e72e1b7e443bdbb7a..e9e4be33a4d6e3f46d5a1e75f2c323fb9040bded 100644 (file)
@@ -1075,7 +1075,7 @@ static const struct command_registration msp432_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver msp432_flash = {
+const struct flash_driver msp432_flash = {
        .name = "msp432",
        .commands = msp432_command_handlers,
        .flash_bank_command = msp432_flash_bank_command,
index f2f4470042c90e89d89bf22c419f36d7d411cec0..b034ee127854b56cc7fcdfe37cf3f0b7a051e0e8 100644 (file)
@@ -1729,7 +1729,7 @@ static int get_niietcm4_info(struct flash_bank *bank, char *buf, int buf_size)
 }
 
 
-struct flash_driver niietcm4_flash = {
+const struct flash_driver niietcm4_flash = {
        .name = "niietcm4",
        .usage = "flash bank <name> niietcm4 <base> <size> 0 0 <target#>",
        .commands = niietcm4_command_handlers,
index 1e8dda39330453557865069f421e0a76699fbf45..aab80f9bc2f7607d51ff9389afe4229a2f061b1a 100644 (file)
@@ -1140,7 +1140,7 @@ static const struct command_registration nrf5_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver nrf5_flash = {
+const struct flash_driver nrf5_flash = {
        .name                   = "nrf5",
        .commands               = nrf5_command_handlers,
        .flash_bank_command     = nrf5_flash_bank_command,
@@ -1158,7 +1158,7 @@ struct flash_driver nrf5_flash = {
 
 /* We need to retain the flash-driver name as well as the commands
  * for backwards compatability */
-struct flash_driver nrf51_flash = {
+const struct flash_driver nrf51_flash = {
        .name                   = "nrf51",
        .commands               = nrf5_command_handlers,
        .flash_bank_command     = nrf5_flash_bank_command,
index ebf9d534fe6d8105906837f5bcd0f52f3c60c833..8d8abd5ed83eb72b1992e8cb4ea0bf59ab123500 100644 (file)
@@ -1871,7 +1871,7 @@ static const struct command_registration numicro_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver numicro_flash = {
+const struct flash_driver numicro_flash = {
        .name = "numicro",
        .commands = numicro_command_handlers,
        .flash_bank_command = numicro_flash_bank_command,
index acc464b0b3f706051db344d705447760d50ffc75..d2a6594189d1f2a864a30f10667eb570875ff1d7 100644 (file)
@@ -314,7 +314,7 @@ static int ocl_auto_probe(struct flash_bank *bank)
        return ERROR_OK;
 }
 
-struct flash_driver ocl_flash = {
+const struct flash_driver ocl_flash = {
        .name = "ocl",
        .flash_bank_command = ocl_flash_bank_command,
        .erase = ocl_erase,
index 852a8bd6f0a5209d761c064ecd56039f3a99c625..5ad4cb7e5b267a3ad2d83a5ce7bc0d5b4915c7c1 100644 (file)
@@ -967,7 +967,7 @@ static const struct command_registration pic32mx_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver pic32mx_flash = {
+const struct flash_driver pic32mx_flash = {
        .name = "pic32mx",
        .commands = pic32mx_command_handlers,
        .flash_bank_command = pic32mx_flash_bank_command,
index 47d60dee4267f87ed3c091eb89bf97f5a4fed7ec..0058f2dadf43dd6dc61aefd303d2b6a3e820567b 100644 (file)
@@ -950,7 +950,7 @@ static const struct command_registration psoc4_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver psoc4_flash = {
+const struct flash_driver psoc4_flash = {
        .name = "psoc4",
        .commands = psoc4_command_handlers,
        .flash_bank_command = psoc4_flash_bank_command,
index 47567e7660e51c1283d0b5db9c2af2e5933ec38b..66e2b071ef94e6cd52c1e94f1f57b2d36b1a738c 100644 (file)
@@ -838,7 +838,7 @@ static const struct command_registration psoc5lp_nvl_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver psoc5lp_nvl_flash = {
+const struct flash_driver psoc5lp_nvl_flash = {
        .name = "psoc5lp_nvl",
        .commands = psoc5lp_nvl_command_handlers,
        .flash_bank_command = psoc5lp_nvl_flash_bank_command,
@@ -1036,7 +1036,7 @@ static const struct command_registration psoc5lp_eeprom_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver psoc5lp_eeprom_flash = {
+const struct flash_driver psoc5lp_eeprom_flash = {
        .name = "psoc5lp_eeprom",
        .commands = psoc5lp_eeprom_command_handlers,
        .flash_bank_command = psoc5lp_eeprom_flash_bank_command,
@@ -1548,7 +1548,7 @@ static const struct command_registration psoc5lp_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver psoc5lp_flash = {
+const struct flash_driver psoc5lp_flash = {
        .name = "psoc5lp",
        .commands = psoc5lp_command_handlers,
        .flash_bank_command = psoc5lp_flash_bank_command,
index 9352ad41b512123d437c4061a9ccd4c7dc64b5be..386075e2c3a79eef08d3b0c047fef9f72d5533d3 100644 (file)
@@ -1048,7 +1048,7 @@ static const struct command_registration psoc6_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver psoc6_flash = {
+const struct flash_driver psoc6_flash = {
        .name = "psoc6",
        .commands = psoc6_command_handlers,
        .flash_bank_command = psoc6_flash_bank_command,
index f282ba0897033c28b50e884c0fa4327be403bf13..7ccf56b6e150ad5c81a6534fb9baa9b935588110 100644 (file)
@@ -1110,7 +1110,7 @@ static const struct command_registration sim3x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver sim3x_flash = {
+const struct flash_driver sim3x_flash = {
        .name = "sim3x",
        .commands = sim3x_command_handlers,
        .flash_bank_command = sim3x_flash_bank_command,
index 8731f8b88d089e02faa1cd53fe1a5677ce3dbf0b..6b6f6e802b600ed8fec220b1e8ba7c680aa9d33b 100644 (file)
@@ -1441,7 +1441,7 @@ static const struct command_registration stellaris_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stellaris_flash = {
+const struct flash_driver stellaris_flash = {
        .name = "stellaris",
        .commands = stellaris_command_handlers,
        .flash_bank_command = stellaris_flash_bank_command,
index cd060daaef81cfb5f8828bb0a2c3bbee83308715..d5d59c6113731a8d4ef9f540962e787d69c5e766 100644 (file)
@@ -1570,7 +1570,7 @@ static const struct command_registration stm32x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32f1x_flash = {
+const struct flash_driver stm32f1x_flash = {
        .name = "stm32f1x",
        .commands = stm32x_command_handlers,
        .flash_bank_command = stm32x_flash_bank_command,
index 63c83479d372e716ca491375fb42004e48fc94d0..23f0030851f3066c8ec88faaf8aa736c20050893 100644 (file)
@@ -1792,7 +1792,7 @@ static const struct command_registration stm32x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32f2x_flash = {
+const struct flash_driver stm32f2x_flash = {
        .name = "stm32f2x",
        .commands = stm32x_command_handlers,
        .flash_bank_command = stm32x_flash_bank_command,
index d21e9fa5e558888f43259b3577e09c91e539c25e..ce89bb446b8d41fde23b1dc5235b8f5e8a93ae8f 100644 (file)
@@ -1114,7 +1114,7 @@ static const struct command_registration stm32x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32h7x_flash = {
+const struct flash_driver stm32h7x_flash = {
        .name = "stm32h7x",
        .commands = stm32x_command_handlers,
        .flash_bank_command = stm32x_flash_bank_command,
index 7d1e4298406d0c0b2af50f6d4739d3b456752a77..3d4303beed1f9e4c1c3e10b62fd140d8d4895014 100644 (file)
@@ -1053,7 +1053,7 @@ static const struct command_registration stm32l4_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32l4x_flash = {
+const struct flash_driver stm32l4x_flash = {
        .name = "stm32l4x",
        .commands = stm32l4_command_handlers,
        .flash_bank_command = stm32l4_flash_bank_command,
index 814df8f6faacbe749fdef9da0b78b9f735ed6d9e..27780103ee76013ac051356b4796661a7d2ad0b8 100644 (file)
@@ -944,7 +944,7 @@ static const struct command_registration stm32lx_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver stm32lx_flash = {
+const struct flash_driver stm32lx_flash = {
                .name = "stm32lx",
                .commands = stm32lx_command_handlers,
                .flash_bank_command = stm32lx_flash_bank_command,
index b55c8b90b94aea881e8ac046a2e7c478220aa4ad..f56b9b7bed3d80b955a210dbe3b13ef75f73c948 100644 (file)
@@ -652,7 +652,7 @@ static int get_stmsmi_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver stmsmi_flash = {
+const struct flash_driver stmsmi_flash = {
        .name = "stmsmi",
        .flash_bank_command = stmsmi_flash_bank_command,
        .erase = stmsmi_erase,
index 015202a0e98a0660ed53b5fab913a26a60a0819e..eaef1970e60aecd814e954c4c6e0328a614e4b77 100644 (file)
@@ -799,7 +799,7 @@ static const struct command_registration str7x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver str7x_flash = {
+const struct flash_driver str7x_flash = {
        .name = "str7x",
        .commands = str7x_command_handlers,
        .flash_bank_command = str7x_flash_bank_command,
index 37700ce36d9bfb693fcfca15329cf8804dd091ab..85cbe6a4fe4cbbd215bcf89b2130f5aab26a491e 100644 (file)
@@ -667,7 +667,7 @@ static const struct command_registration str9x_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver str9x_flash = {
+const struct flash_driver str9x_flash = {
        .name = "str9x",
        .commands = str9x_command_handlers,
        .flash_bank_command = str9x_flash_bank_command,
index 29e0977bb435ec1cf4eadd02b94b19ae988995b7..b618706b9497e2117e6f46acdbbc89dddc7ad072 100644 (file)
@@ -1195,7 +1195,7 @@ static const struct command_registration str9xpec_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver str9xpec_flash = {
+const struct flash_driver str9xpec_flash = {
        .name = "str9xpec",
        .commands = str9xpec_command_handlers,
        .flash_bank_command = str9xpec_flash_bank_command,
index 93c4d28469bd395bc897e1938eed5b8f26b23106..6e216e68ebfdc521e4d365465c0f2c8740aded53 100644 (file)
@@ -1107,7 +1107,7 @@ COMMAND_HANDLER(handle_flash_bank_command)
        }
 
        const char *driver_name = CMD_ARGV[0];
-       struct flash_driver *driver = flash_driver_find_by_name(driver_name);
+       const struct flash_driver *driver = flash_driver_find_by_name(driver_name);
        if (NULL == driver) {
                /* no matching flash driver found */
                LOG_ERROR("flash driver '%s' not found", driver_name);
index 62fe2f54b88a9b0c192d1dd39a2dd3fe97979edc..195d1ae1f2c07a547ef21980fe2825228975ec7d 100644 (file)
@@ -1162,7 +1162,7 @@ FLASH_BANK_COMMAND_HANDLER(tms470_flash_bank_command)
        return ERROR_OK;
 }
 
-struct flash_driver tms470_flash = {
+const struct flash_driver tms470_flash = {
        .name = "tms470",
        .commands = tms470_command_handlers,
        .flash_bank_command = tms470_flash_bank_command,
index 217f7a4df08b785ba2cca2aa14c3acabe05716bc..fa51537409a11de725ac76d04aa4a5c0b9e7bfc4 100644 (file)
@@ -224,7 +224,7 @@ static int virtual_flash_read(struct flash_bank *bank,
        return ERROR_OK;
 }
 
-struct flash_driver virtual_flash = {
+const struct flash_driver virtual_flash = {
        .name = "virtual",
        .flash_bank_command = virtual_flash_bank_command,
        .erase = virtual_erase,
index 3d376161784e4579056ad7c2c9d264d2c55351ed..3a6f3ff83ffc9c8a11e064301d7edbc0fc93c757 100644 (file)
@@ -376,7 +376,7 @@ static int get_w600_info(struct flash_bank *bank, char *buf, int buf_size)
        return ERROR_OK;
 }
 
-struct flash_driver w600_flash = {
+const struct flash_driver w600_flash = {
        .name = "w600",
        .flash_bank_command = w600_flash_bank_command,
        .erase = w600_erase,
index bc4b1be5edbeaf80379f8b1c5d97bf7197b40b2b..a0c35c5e52ff13080d8885ebf01ddcfdb63f2754 100644 (file)
@@ -881,7 +881,7 @@ static const struct command_registration xcf_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver xcf_flash = {
+const struct flash_driver xcf_flash = {
        .name               = "xcf",
        .usage              = NULL,
        .commands           = xcf_command_handlers,
index 262300cc81d0cf0fd140e8ee9b3b7d48ea31c0d2..75897719077ac2eef68e149124fefc60c79548fa 100644 (file)
@@ -534,7 +534,7 @@ static const struct command_registration xmc1xxx_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver xmc1xxx_flash = {
+const struct flash_driver xmc1xxx_flash = {
        .name = "xmc1xxx",
        .commands = xmc1xxx_command_handlers,
        .flash_bank_command = xmc1xxx_flash_bank_command,
index d862e857e7067470103e08505dd34a959391b654..c56adb5003dcbf476d20dd33aeca090ce84e0dab 100644 (file)
@@ -1343,7 +1343,7 @@ static const struct command_registration xmc4xxx_command_handlers[] = {
        COMMAND_REGISTRATION_DONE
 };
 
-struct flash_driver xmc4xxx_flash = {
+const struct flash_driver xmc4xxx_flash = {
        .name = "xmc4xxx",
        .commands = xmc4xxx_command_handlers,
        .flash_bank_command = xmc4xxx_flash_bank_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)