flash/nor: add support for Nuvoton NPCX series flash
[fw/openocd] / src / flash / nor / ocl.c
index 4ae5652194b784bd703aac0a9b5dcc66a2a11c5d..813537d446e1f9d61f4990dc6a4b1236a1fb108a 100644 (file)
@@ -30,16 +30,6 @@ struct ocl_priv {
        unsigned int bufalign;
 };
 
-static int ocl_erase_check(struct flash_bank *bank)
-{
-       return ERROR_OK;
-}
-
-static int ocl_protect_check(struct flash_bank *bank)
-{
-       return ERROR_OK;
-}
-
 /* flash_bank ocl 0 0 0 0 <target#> */
 FLASH_BANK_COMMAND_HANDLER(ocl_flash_bank_command)
 {
@@ -61,7 +51,8 @@ FLASH_BANK_COMMAND_HANDLER(ocl_flash_bank_command)
        return ERROR_OK;
 }
 
-static int ocl_erase(struct flash_bank *bank, int first, int last)
+static int ocl_erase(struct flash_bank *bank, unsigned int first,
+               unsigned int last)
 {
        struct ocl_priv *ocl = bank->driver_priv;
        int retval;
@@ -111,11 +102,6 @@ static int ocl_erase(struct flash_bank *bank, int first, int last)
        return ERROR_OK;
 }
 
-static int ocl_protect(struct flash_bank *bank, int set, int first, int last)
-{
-       return ERROR_OK;
-}
-
 static int ocl_write(struct flash_bank *bank, const uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        struct ocl_priv *ocl = bank->driver_priv;
@@ -222,7 +208,6 @@ static int ocl_probe(struct flash_bank *bank)
        int retval;
        uint32_t dcc_buffer[1];
        int sectsize;
-       int i;
 
        /* purge pending data in DCC */
        embeddedice_receive(ocl->jtag_info, dcc_buffer, 1);
@@ -291,7 +276,7 @@ static int ocl_probe(struct flash_bank *bank)
                return ERROR_FLASH_BANK_INVALID;
        }
        sectsize = bank->size / bank->num_sectors;
-       for (i = 0; i < bank->num_sectors; i++) {
+       for (unsigned int i = 0; i < bank->num_sectors; i++) {
                bank->sectors[i].offset = i * sectsize;
                bank->sectors[i].size = sectsize;
                bank->sectors[i].is_erased = -1;
@@ -329,15 +314,14 @@ 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,
-       .protect = ocl_protect,
        .write = ocl_write,
        .read = default_flash_read,
        .probe = ocl_probe,
-       .erase_check = ocl_erase_check,
-       .protect_check = ocl_protect_check,
+       .erase_check = default_flash_blank_check,
        .auto_probe = ocl_auto_probe,
+       .free_driver_priv = default_flash_free_driver_priv,
 };