aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2023-05-01 00:17:23 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2023-05-18 10:07:34 +0000
commit20005eb81abaa3d191d6cdf36fd6f3d4e48a1db7 (patch)
treee01ad31cf6de89c21224a07b055be48e9ba583c5
parent5d77897526115a59754f625b6d503459c0d73eee (diff)
downloadriscv-openocd-20005eb81abaa3d191d6cdf36fd6f3d4e48a1db7.zip
riscv-openocd-20005eb81abaa3d191d6cdf36fd6f3d4e48a1db7.tar.gz
riscv-openocd-20005eb81abaa3d191d6cdf36fd6f3d4e48a1db7.tar.bz2
nor: move in driver.h the flash_driver's declaration
The static analyser 'sparse' complains, while compiling a nor driver, that the struct flash_driver is declared in the file as non static, but it is not exposed through an include file. The message is: warning: symbol 'XXX' was not declared. Should it be static? Move the list of flash_driver's declaration in driver.h Fix some incorrect non-const declaration and remove redundant forward declarations. Change-Id: I5e41d094307aac4a57dfa9a70496ff3cf180bd92 Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com> Reviewed-on: https://review.openocd.org/c/openocd/+/7662 Tested-by: jenkins
-rw-r--r--src/flash/nor/at91sam3.c2
-rw-r--r--src/flash/nor/at91sam4.c2
-rw-r--r--src/flash/nor/atsamv.c2
-rw-r--r--src/flash/nor/driver.h71
-rw-r--r--src/flash/nor/drivers.c71
-rw-r--r--src/flash/nor/rp2040.c2
-rw-r--r--src/flash/nor/stmqspi.c2
-rw-r--r--src/flash/nor/swm050.c2
8 files changed, 74 insertions, 80 deletions
diff --git a/src/flash/nor/at91sam3.c b/src/flash/nor/at91sam3.c
index fb6d98b..b1cb8f1 100644
--- a/src/flash/nor/at91sam3.c
+++ b/src/flash/nor/at91sam3.c
@@ -67,8 +67,6 @@
#define OFFSET_EFC_FSR 8
#define OFFSET_EFC_FRR 12
-extern const struct flash_driver at91sam3_flash;
-
static float _tomhz(uint32_t freq_hz)
{
float f;
diff --git a/src/flash/nor/at91sam4.c b/src/flash/nor/at91sam4.c
index 6b94373..6212753 100644
--- a/src/flash/nor/at91sam4.c
+++ b/src/flash/nor/at91sam4.c
@@ -62,8 +62,6 @@
#define OFFSET_EFC_FSR 8
#define OFFSET_EFC_FRR 12
-extern const struct flash_driver at91sam4_flash;
-
static float _tomhz(uint32_t freq_hz)
{
float f;
diff --git a/src/flash/nor/atsamv.c b/src/flash/nor/atsamv.c
index 67533fc..24c432c 100644
--- a/src/flash/nor/atsamv.c
+++ b/src/flash/nor/atsamv.c
@@ -53,8 +53,6 @@
#define SAMV_PAGE_SIZE 512
#define SAMV_FLASH_BASE 0x00400000
-extern const struct flash_driver atsamv_flash;
-
struct samv_flash_bank {
bool probed;
unsigned size_bytes;
diff --git a/src/flash/nor/driver.h b/src/flash/nor/driver.h
index 931f794..889a811 100644
--- a/src/flash/nor/driver.h
+++ b/src/flash/nor/driver.h
@@ -237,4 +237,75 @@ struct flash_driver {
*/
const struct flash_driver *flash_driver_find_by_name(const char *name);
+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 cc26xx_flash;
+extern const struct flash_driver cc3220sf_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 fespi_flash;
+extern const struct flash_driver fm3_flash;
+extern const struct flash_driver fm4_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 npcx_flash;
+extern const struct flash_driver nrf51_flash;
+extern const struct flash_driver nrf5_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_eeprom_flash;
+extern const struct flash_driver psoc5lp_flash;
+extern const struct flash_driver psoc5lp_nvl_flash;
+extern const struct flash_driver psoc6_flash;
+extern const struct flash_driver renesas_rpchf_flash;
+extern const struct flash_driver rp2040_flash;
+extern const struct flash_driver rsl10_flash;
+extern const struct flash_driver sh_qspi_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 stm32h7x_flash;
+extern const struct flash_driver stm32l4x_flash;
+extern const struct flash_driver stm32lx_flash;
+extern const struct flash_driver stmqspi_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 swm050_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;
+
#endif /* OPENOCD_FLASH_NOR_DRIVER_H */
diff --git a/src/flash/nor/drivers.c b/src/flash/nor/drivers.c
index b9353d8..9247698 100644
--- a/src/flash/nor/drivers.c
+++ b/src/flash/nor/drivers.c
@@ -9,77 +9,6 @@
#endif
#include "imp.h"
-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 npcx_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 renesas_rpchf_flash;
-extern const struct flash_driver rp2040_flash;
-extern const struct flash_driver sh_qspi_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 stmqspi_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 swm050_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;
-extern const struct flash_driver rsl10_flash;
-
/**
* The list of built-in flash drivers.
* @todo Make this dynamically extendable with loadable modules.
diff --git a/src/flash/nor/rp2040.c b/src/flash/nor/rp2040.c
index b0d118b..6c18c7b 100644
--- a/src/flash/nor/rp2040.c
+++ b/src/flash/nor/rp2040.c
@@ -520,7 +520,7 @@ FLASH_BANK_COMMAND_HANDLER(rp2040_flash_bank_command)
return ERROR_OK;
}
-struct flash_driver rp2040_flash = {
+const struct flash_driver rp2040_flash = {
.name = "rp2040_flash",
.flash_bank_command = rp2040_flash_bank_command,
.erase = rp2040_flash_erase,
diff --git a/src/flash/nor/stmqspi.c b/src/flash/nor/stmqspi.c
index 77ea4c4..c9fc1bf 100644
--- a/src/flash/nor/stmqspi.c
+++ b/src/flash/nor/stmqspi.c
@@ -2447,7 +2447,7 @@ static const struct command_registration stmqspi_command_handlers[] = {
COMMAND_REGISTRATION_DONE
};
-struct flash_driver stmqspi_flash = {
+const struct flash_driver stmqspi_flash = {
.name = "stmqspi",
.commands = stmqspi_command_handlers,
.flash_bank_command = stmqspi_flash_bank_command,
diff --git a/src/flash/nor/swm050.c b/src/flash/nor/swm050.c
index 89e59ae..dcf59d3 100644
--- a/src/flash/nor/swm050.c
+++ b/src/flash/nor/swm050.c
@@ -183,7 +183,7 @@ static const struct command_registration swm050_command_handlers[] = {
COMMAND_REGISTRATION_DONE
};
-struct flash_driver swm050_flash = {
+const struct flash_driver swm050_flash = {
.name = "swm050",
.commands = swm050_command_handlers,
.flash_bank_command = swm050_flash_bank_command,