nvmem: sprd: Determine double data programming from device data
authorBaolin Wang <baolin.wang7@gmail.com>
Mon, 23 Mar 2020 15:00:05 +0000 (15:00 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 23 Mar 2020 19:05:23 +0000 (20:05 +0100)
We've saved the double data flag in the device data, so we should
use it when programming a block.

Signed-off-by: Baolin Wang <baolin.wang7@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20200323150007.7487-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/sprd-efuse.c

index 43b3f6e..925feb2 100644 (file)
@@ -324,6 +324,7 @@ unlock:
 static int sprd_efuse_write(void *context, u32 offset, void *val, size_t bytes)
 {
        struct sprd_efuse *efuse = context;
+       bool blk_double = efuse->data->blk_double;
        bool lock;
        int ret;
 
@@ -348,7 +349,7 @@ static int sprd_efuse_write(void *context, u32 offset, void *val, size_t bytes)
        else
                lock = true;
 
-       ret = sprd_efuse_raw_prog(efuse, offset, false, lock, val);
+       ret = sprd_efuse_raw_prog(efuse, offset, blk_double, lock, val);
 
        clk_disable_unprepare(efuse->clk);