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

From: Michael Walle
Date: Wed Jan 20 2021 - 10:12:28 EST


Am 2021-01-20 15:52, schrieb Tudor.Ambarus@xxxxxxxxxxxxx:
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