Re: [PATCH v2 2/2] mtd: spi-nor: sst: Add support for Global Unlock on sst26vf

Michael Walle
2021-01-20T15:02:49Z

Am 2021-01-20 15:52, schrieb Tudor.Ambarus@microchip.com:
> On 1/20/21 4:05 PM, Michael Walle wrote:
>>> diff --git a/drivers/mtd/spi-nor/sst.c b/drivers/mtd/spi-nor/sst.c
>>> index 00e48da0744a..d6e1396abb96 100644
>>> --- a/drivers/mtd/spi-nor/sst.c
>>> +++ b/drivers/mtd/spi-nor/sst.c
>>> @@ -8,6 +8,39 @@
>>>
>>>  #include "core.h"
>>>
>>> +static int sst26vf_lock(struct spi_nor *nor, loff_t ofs, uint64_t
>>> len)
>>> +{
>>> +     return -EOPNOTSUPP;
>>> +}
>>> +
>>> +static int sst26vf_unlock(struct spi_nor *nor, loff_t ofs, uint64_t
>>> len)
>>> +{
>>> +     if (ofs == 0 && len == nor->params->size)
>>> +             return spi_nor_global_block_unlock(nor);
>>
>>
>> Some blocks might not be unlocked because they are permanently
>> locked. Does it make sense to read BPNV of the control register
>> and add a debug message here?
>
> It would, yes. If any block is permanently locked in the unlock_all
> case,
> I'll just print a dbg message and return -EINVAL. Sounds good?

spi_nor_sr_unlock(), atmel_at25fs_unlock() and atmel_global_unprotect()
will return -EIO in case the SR wasn't writable.

-michael