flash: print bank usage on failure
authorSpencer Oliver <spen@spen-soft.co.uk>
Thu, 19 Jan 2012 15:08:50 +0000 (15:08 +0000)
committerSpencer Oliver <spen@spen-soft.co.uk>
Mon, 23 Jan 2012 11:29:52 +0000 (11:29 +0000)
This makes use of the newly introduced usage field in the flash bank
structure.

Also remove the assertion if usage field is null and
lets print a DEBUG_LOG message instead.

Change-Id: I384bf0e2c444fcc99deef73aec9ef01149a91c76
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/391
Tested-by: jenkins
src/flash/nand/tcl.c
src/flash/nor/tcl.c

index 29d4e1e1d3302f25dc69da877c04299b3d512c86..6389377903baa64c4b17204d533f4091e772b39d 100644 (file)
@@ -581,7 +581,6 @@ static COMMAND_HELPER(create_nand_device, const char *bank_name,
        retval = CALL_COMMAND_HANDLER(controller->nand_device_command, c);
        if (ERROR_OK != retval)
        {
-               assert(controller->usage != NULL);
                LOG_ERROR("'%s' driver rejected nand flash. Usage: %s",
                        controller->name,
                        controller->usage);
@@ -589,6 +588,9 @@ static COMMAND_HELPER(create_nand_device, const char *bank_name,
                return retval;
        }
 
+       if (controller->usage == NULL)
+               LOG_DEBUG("'%s' driver usage field missing", controller->name);
+
        nand_device_add(c);
 
        return ERROR_OK;
index 4ba5f47ca3d58236cf033404454cc47b2bfe6d06..735caa8ecbed3211dc26b9a753bba21c07156618 100644 (file)
@@ -834,12 +834,15 @@ COMMAND_HANDLER(handle_flash_bank_command)
        retval = CALL_COMMAND_HANDLER(driver->flash_bank_command, c);
        if (ERROR_OK != retval)
        {
-               LOG_ERROR("'%s' driver rejected flash bank at 0x%8.8" PRIx32,
-                               driver_name, c->base);
+               LOG_ERROR("'%s' driver rejected flash bank at 0x%8.8" PRIx32 "Usage %s",
+                               driver_name, c->base, driver->usage);
                free(c);
                return retval;
        }
 
+       if (driver->usage == NULL)
+               LOG_DEBUG("'%s' driver usage field missing", driver_name);
+
        flash_bank_add(c);
 
        return ERROR_OK;