* Parses the optional '.index' portion of a flash bank identifier.
* @param name The desired driver name, passed by the user.
* @returns The parsed index request, or 0 if not present. If the
- * name provides a suffix but it does not parse as an unsigned integer,
+ * name provides a suffix but it does not parse as an unsigned integer,
* the routine returns ~0U. This will prevent further matching.
- */
+ */
unsigned get_flash_name_index(const char *name);
/**
* Attempt to match the @c expected name with the @c name of a driver.
#define ERROR_FLASH_BUSY (-905)
#define ERROR_FLASH_SECTOR_NOT_ERASED (-906)
#define ERROR_FLASH_BANK_NOT_PROBED (-907)
+#define ERROR_FLASH_OPER_UNSUPPORTED (-908)
#endif // FLASH_COMMON_H
{
struct cfi_flash_bank *cfi_info = bank->driver_priv;
+ if (cfi_info->buf_write_timeout_typ == 0)
+ {
+ /* buffer writes are not supported */
+ LOG_DEBUG("Buffer Writes Not Supported");
+ return ERROR_FLASH_OPER_UNSUPPORTED;
+ }
+
switch (cfi_info->pri_id)
{
case 1:
count -= buffersize;
fallback = 0;
}
+ else if (retval != ERROR_FLASH_OPER_UNSUPPORTED)
+ return retval;
}
/* try the slow way? */
if (fallback)