Merge branch 'master' of git://git.denx.de/u-boot-spi
[platform/kernel/u-boot.git] / drivers / mtd / spi / sf-uclass.c
index 8387648..719a2fd 100644 (file)
@@ -1,7 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0+
 /*
  * Copyright (c) 2014 Google, Inc
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #include <common.h>
@@ -15,18 +14,27 @@ DECLARE_GLOBAL_DATA_PTR;
 
 int spi_flash_read_dm(struct udevice *dev, u32 offset, size_t len, void *buf)
 {
-       return sf_get_ops(dev)->read(dev, offset, len, buf);
+       return log_ret(sf_get_ops(dev)->read(dev, offset, len, buf));
 }
 
 int spi_flash_write_dm(struct udevice *dev, u32 offset, size_t len,
                       const void *buf)
 {
-       return sf_get_ops(dev)->write(dev, offset, len, buf);
+       return log_ret(sf_get_ops(dev)->write(dev, offset, len, buf));
 }
 
 int spi_flash_erase_dm(struct udevice *dev, u32 offset, size_t len)
 {
-       return sf_get_ops(dev)->erase(dev, offset, len);
+       return log_ret(sf_get_ops(dev)->erase(dev, offset, len));
+}
+
+int spl_flash_get_sw_write_prot(struct udevice *dev)
+{
+       struct dm_spi_flash_ops *ops = sf_get_ops(dev);
+
+       if (!ops->get_sw_write_prot)
+               return -ENOSYS;
+       return log_ret(ops->get_sw_write_prot(dev));
 }
 
 /*