Let the nvmem core know what size the SDAM is, most notably this fixes
the size of /sys/bus/nvmem/devices/spmi_sdam*/nvmem being '0' and makes
user space work with that file.
  ~ # hexdump -C -s 64 /sys/bus/nvmem/devices/spmi_sdam2/nvmem
  00000040  02 01 00 00 04 00 00 00  00 00 00 00 00 00 00 00  |................|
  00000050  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
  *
  00000080

Fixes: 40ce9798794f ("nvmem: add QTI SDAM driver")
Cc: sta...@vger.kernel.org
Signed-off-by: Luca Weiss <luca.we...@fairphone.com>
---
Related, it would be nice to set sdam->sdam_config.type to an
appropriate value, the ones currently upstream are:

  enum nvmem_type {
      NVMEM_TYPE_UNKNOWN = 0,
      NVMEM_TYPE_EEPROM,
      NVMEM_TYPE_OTP,
      NVMEM_TYPE_BATTERY_BACKED,
      NVMEM_TYPE_FRAM,
  };

I don't know what would fit for SDAM and I couldn't find any info on
createpoint either, not even what the abbreviation SDAM stands for.
---
 drivers/nvmem/qcom-spmi-sdam.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/nvmem/qcom-spmi-sdam.c b/drivers/nvmem/qcom-spmi-sdam.c
index 
9aa8f42faa4c93532cf8c70ea992a4fbb005d006..4f1cca6eab71e1efc5328448f69f863e6db57c5a
 100644
--- a/drivers/nvmem/qcom-spmi-sdam.c
+++ b/drivers/nvmem/qcom-spmi-sdam.c
@@ -144,6 +144,7 @@ static int sdam_probe(struct platform_device *pdev)
        sdam->sdam_config.owner = THIS_MODULE;
        sdam->sdam_config.add_legacy_fixed_of_cells = true;
        sdam->sdam_config.stride = 1;
+       sdam->sdam_config.size = sdam->size;
        sdam->sdam_config.word_size = 1;
        sdam->sdam_config.reg_read = sdam_read;
        sdam->sdam_config.reg_write = sdam_write;

---
base-commit: 8155b4ef3466f0e289e8fcc9e6e62f3f4dceeac2
change-id: 20241220-sdam-size-da6adec6fbaa

Best regards,
-- 
Luca Weiss <luca.we...@fairphone.com>


Reply via email to