Constify struct flash_driver instances
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,