linux/drivers/nvmem
Peng Fan 3311bf1846 nvmem: imx-ocotp: add support for the unaliged word count
When offset is not 4 bytes aligned, directly shift righty by 2 bits
will cause reading out wrong data. Since imx ocotp only supports
4 bytes reading once, we need handle offset is not 4 bytes aligned
and enlarge the bytes to 4 bytes aligned. After reading finished,
copy the needed data from buffer to caller and free buffer.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20201127102837.19366-6-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-11-27 16:10:07 +01:00
..
bcm-ocotp.c nvmem: bcm-ocotp: Add ACPI support to BCM OCOTP 2019-01-31 16:24:14 +01:00
core.c nvmem: core: Add support for keepout regions 2020-11-27 16:10:06 +01:00
imx-iim.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 460 2019-06-19 17:09:09 +02:00
imx-ocotp-scu.c nvmem: imx: scu: correct the fuse word index 2020-01-10 13:52:12 +01:00
imx-ocotp.c nvmem: imx-ocotp: add support for the unaliged word count 2020-11-27 16:10:07 +01:00
jz4780-efuse.c nvmem: jz4780-efuse: Use PTR_ERR_OR_ZERO() to simplify code 2020-05-15 16:20:02 +02:00
Kconfig nvmem: update Kconfig description 2020-07-29 17:12:09 +02:00
lpc18xx_eeprom.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
lpc18xx_otp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
Makefile nvmem: core: remove nvmem_sysfs_get_groups() 2020-03-25 19:23:49 +01:00
meson-efuse.c firmware: meson_sm: Rework driver as a proper platform driver 2019-10-03 08:43:33 -07:00
meson-mx-efuse.c nvmem: meson-mx-efuse: allow reading data smaller than word_size 2019-08-18 12:56:52 +02:00
mtk-efuse.c nvmem: mtk-efuse: Remove EFUSE register write support 2020-09-17 18:48:23 +02:00
mxs-ocotp.c nvmem: mxs-ocotp: Use devm_add_action_or_reset() for cleanup 2020-03-23 20:05:23 +01:00
qcom-spmi-sdam.c nvmem: qcom-spmi-sdam: Enable multiple devices 2020-07-29 17:12:09 +02:00
qfprom.c nvmem: qfprom: Don't touch certain fuses 2020-11-27 16:10:06 +01:00
rave-sp-eeprom.c nvmem: rave-sp-eeprom: Remove VLA usage 2018-07-07 17:30:46 +02:00
rockchip-efuse.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295 2019-06-05 17:36:38 +02:00
rockchip-otp.c nvmem: add Rockchip OTP driver 2019-11-05 18:35:33 +01:00
sc27xx-efuse.c nvmem: sc27xx: add sc2730 efuse support 2020-07-29 17:12:08 +02:00
snvs_lpgpr.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sprd-efuse.c nvmem: sprd: Fix return value of sprd_efuse_probe() 2020-07-29 17:12:08 +02:00
stm32-romem.c nvmem: stm32: add support for STM32MP15 BSEC to control OTP data 2019-04-25 19:43:12 +02:00
sunxi_sid.c nvmem: sunxi_sid: fix A64 SID controller support 2019-08-18 12:56:52 +02:00
uniphier-efuse.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 174 2019-05-30 11:26:41 -07:00
vf610-ocotp.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 284 2019-06-05 17:36:37 +02:00
zynqmp_nvmem.c firmware: xilinx: Remove eemi ops for get_chipid 2020-04-28 15:45:06 +02:00