Hi,

Am 2021-03-02 13:46, schrieb Miquel Raynal:
Michael Walle <[email protected]> wrote on Tue,  2 Mar 2021 12:09:27
+0100:

This may sound like a contradiction but some SPI-NOR flashes really
support erasing their OTP region until it is finally locked. Having the
possibility to erase an OTP region might come in handy during
development.

The ioctl argument follows the OTPLOCK style.

Signed-off-by: Michael Walle <[email protected]>
---
OTP support for SPI-NOR flashes may be merged soon:
https://lore.kernel.org/linux-mtd/[email protected]/

Tudor suggested to add support for the OTP erase operation most SPI-NOR
flashes have:
https://lore.kernel.org/linux-mtd/[email protected]/

Therefore, this is an RFC to get some feedback on the MTD side, once this is finished, I can post a patch for mtd-utils. Then we'll have a foundation
to add the support to SPI-NOR.


[..]

+int mtd_erase_user_prot_reg(struct mtd_info *mtd, loff_t from, size_t len)
+{
+       struct mtd_info *master = mtd_get_master(mtd);
+
+       if (!master->_erase_user_prot_reg)
+               return -EOPNOTSUPP;
+       if (!len)
+               return 0;

Should we add a sanity check enforcing that we don't try to access
beyond the end of the OTP area?

This is checked in the op itself, as it is done for all the
other OTP read/write/lock ops.

Right at the moment, I don't see how this could be achieved in
an elegant way. Without additional changes, you'd have to call
mtd_get_user_prot_info() and iterate over the returned values
and figure out whether from and len are valid.

[..]

-michael

Reply via email to