flash/nor: consolidate flash protect/protect_check
Make flash_driver methods protect() and protect_check() optional. Remove dummy definitions of these methods from the drivers which do not implement protection handling. Some drivers did not define protect method. It raised segfault before this change and now it is handled properly. Lot of drivers returned ERROR_OK from dummy protect() - now flash_driver_protect() returns an error if not handled by the driver. Change-Id: I2d4a0da316bf03c6379791b1b1c6198fbf22e66c Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Reviewed-on: http://openocd.zylin.com/4765 Tested-by: jenkins Reviewed-by: Andreas Bolsch <hyphen0break@gmail.com> Reviewed-by: Christopher Head <chead@zaber.com>
This commit is contained in:
@@ -102,13 +102,6 @@ static int aducm360_build_sector_list(struct flash_bank *bank)
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
static int aducm360_protect_check(struct flash_bank *bank)
|
||||
{
|
||||
LOG_WARNING("aducm360_protect_check not implemented.");
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
static int aducm360_mass_erase(struct target *target)
|
||||
{
|
||||
@@ -194,13 +187,6 @@ static int aducm360_erase(struct flash_bank *bank, int first, int last)
|
||||
return res;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
static int aducm360_protect(struct flash_bank *bank, int set, int first, int last)
|
||||
{
|
||||
LOG_ERROR("aducm360_protect not implemented.");
|
||||
return ERROR_FLASH_OPERATION_FAILED;
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------- */
|
||||
static int aducm360_write_block_sync(
|
||||
struct flash_bank *bank,
|
||||
@@ -572,11 +558,9 @@ struct flash_driver aducm360_flash = {
|
||||
.name = "aducm360",
|
||||
.flash_bank_command = aducm360_flash_bank_command,
|
||||
.erase = aducm360_erase,
|
||||
.protect = aducm360_protect,
|
||||
.write = aducm360_write,
|
||||
.read = default_flash_read,
|
||||
.probe = aducm360_probe,
|
||||
.auto_probe = aducm360_probe,
|
||||
.erase_check = default_flash_blank_check,
|
||||
.protect_check = aducm360_protect_check,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user