Change return value on error.
[fw/openocd] / src / flash / nor / lpc288x.c
index 5ab4e9ccef98a796370eabb63977228156567405..d5fde9487e50f58a47d913018dcfa55613ceae6b 100644 (file)
@@ -32,7 +32,6 @@
 #endif
 
 #include "imp.h"
-#include "lpc288x.h"
 #include <helper/binarybuffer.h>
 
 
 /* F_CLK_TIME */
 #define FCT_CLK_DIV_MASK    0x0FFF
 
+struct lpc288x_flash_bank
+{
+       uint32_t working_area;
+       uint32_t working_area_size;
+
+       /* chip id register */
+       uint32_t cidr;
+       const char * target_name;
+       uint32_t cclk;
+
+       uint32_t sector_size_break;
+};
+
 static uint32_t lpc288x_wait_status_busy(struct flash_bank *bank, int timeout);
 static void lpc288x_load_timer(int erase, struct target *target);
 static void lpc288x_set_flash_clk(struct flash_bank *bank);
@@ -172,8 +184,7 @@ FLASH_BANK_COMMAND_HANDLER(lpc288x_flash_bank_command)
 
        if (CMD_ARGC < 6)
        {
-               LOG_WARNING("incomplete flash_bank LPC288x configuration");
-               return ERROR_FLASH_BANK_INVALID;
+               return ERROR_COMMAND_SYNTAX_ERROR;
        }
 
        lpc288x_info = malloc(sizeof(struct lpc288x_flash_bank));
@@ -478,6 +489,7 @@ struct flash_driver lpc288x_flash = {
        .erase = lpc288x_erase,
        .protect = lpc288x_protect,
        .write = lpc288x_write,
+       .read = default_flash_read,
        .probe = lpc288x_probe,
        .auto_probe = lpc288x_probe,
        .erase_check = lpc288x_erase_check,