flash: fix stellaris class regression
[fw/openocd] / src / flash / nor / aduc702x.c
index 57c591d5360de63289deafecad24ac771efc43ae..02270aefbdc3adb3bc60a7229166122304d0760d 100644 (file)
@@ -105,19 +105,19 @@ static int aduc702x_erase(struct flash_bank *bank, int first, int last)
 
        /* mass erase */
        if (((first | last) == 0) || ((first == 0) && (last >= bank->num_sectors))) {
-               LOG_DEBUG("performing mass erase.\n");
+               LOG_DEBUG("performing mass erase.");
                target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEDAT, 0x3cff);
                target_write_u16(target, ADUC702x_FLASH + ADUC702x_FLASH_FEEADR, 0xffc3);
                target_write_u8(target, ADUC702x_FLASH + ADUC702x_FLASH_FEECON, 0x06);
 
                 if (aduc702x_check_flash_completion(target, 3500) != ERROR_OK)
                {
-                       LOG_ERROR("mass erase failed\n");
+                       LOG_ERROR("mass erase failed");
                         aduc702x_set_write_enable(target, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
-               LOG_DEBUG("mass erase successful.\n");
+               LOG_DEBUG("mass erase successful.");
                return ERROR_OK;
        } else {
                 unsigned long adr;
@@ -132,12 +132,12 @@ static int aduc702x_erase(struct flash_bank *bank, int first, int last)
 
                         if (aduc702x_check_flash_completion(target, 50) != ERROR_OK)
                         {
-                                LOG_ERROR("failed to erase sector at address 0x%08lX\n", adr);
+                                LOG_ERROR("failed to erase sector at address 0x%08lX", adr);
                                 aduc702x_set_write_enable(target, 0);
                                 return ERROR_FLASH_SECTOR_NOT_ERASED;
                         }
 
-                        LOG_DEBUG("erased sector at address 0x%08lX\n", adr);
+                        LOG_DEBUG("erased sector at address 0x%08lX", adr);
                 }
         }
 
@@ -227,7 +227,7 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
        }
 
        /* memory buffer */
-       while (target_alloc_working_area(target, buffer_size, &source) != ERROR_OK)
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
        {
                buffer_size /= 2;
                if (buffer_size <= 256)
@@ -330,13 +330,13 @@ static int aduc702x_write_single(struct flash_bank *bank, uint8_t *buffer, uint3
 
                 if (aduc702x_check_flash_completion(target, 1) != ERROR_OK)
                 {
-                       LOG_ERROR("single write failed for address 0x%08lX\n", (unsigned long)(offset + x));
+                       LOG_ERROR("single write failed for address 0x%08lX", (unsigned long)(offset + x));
                         aduc702x_set_write_enable(target, 0);
                        return ERROR_FLASH_OPERATION_FAILED;
                }
 
        }
-        LOG_DEBUG("wrote %d bytes at address 0x%08lX\n", (int)count, (unsigned long)(offset + x));
+        LOG_DEBUG("wrote %d bytes at address 0x%08lX", (int)count, (unsigned long)(offset + x));
 
         aduc702x_set_write_enable(target, 0);
 
@@ -417,6 +417,7 @@ struct flash_driver aduc702x_flash = {
        .erase = aduc702x_erase,
        .protect = aduc702x_protect,
        .write = aduc702x_write,
+       .read = default_flash_read,
        .probe = aduc702x_probe,
        .auto_probe = aduc702x_probe,
        .erase_check = default_flash_blank_check,