[PATCH v4 1/3] firmware: meson: pass a const buffer to meson_sm_call_write()
Link Mauve <[email protected]> Sun, 26 Jul 2026 15:17:19 +0200
| Newsgroups | dev.linux.lists.asahi,dev.linux.lists.imx,org.infradead.lists.linux-amlogic,org.infradead.lists.linux-arm-kernel,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.rust-for-linux |
|---|---|
| Message-ID | <[email protected]> |
This was found while introducing the new nvmem-provider reg_write_const callback in meson_sm_call_write()’s only user, in meson-efuse. Signed-off-by: Link Mauve <[email protected]> --- drivers/firmware/meson/meson_sm.c | 2 +- drivers/nvmem/meson-efuse.c | 4 ++-- include/linux/firmware/meson/meson_sm.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/firmware/meson/meson_sm.c b/drivers/firmware/meson/meson_sm.c index ab9751a59b55..5d4da2e3c3a9 100644 --- a/drivers/firmware/meson/meson_sm.c +++ b/drivers/firmware/meson/meson_sm.c @@ -196,7 +196,7 @@ EXPORT_SYMBOL(meson_sm_call_read); * * Return: size of sent data on success, a negative value on error */ -int meson_sm_call_write(struct meson_sm_firmware *fw, void *buffer, +int meson_sm_call_write(struct meson_sm_firmware *fw, const void *buffer, unsigned int size, unsigned int cmd_index, u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 arg4) { diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c index d7f9ac99a212..f71854f89950 100644 --- a/drivers/nvmem/meson-efuse.c +++ b/drivers/nvmem/meson-efuse.c @@ -20,7 +20,7 @@ static int meson_efuse_read(void *context, unsigned int offset, struct meson_sm_firmware *fw = context; int ret; - ret = meson_sm_call_read(fw, (u8 *)val, bytes, SM_EFUSE_READ, offset, + ret = meson_sm_call_read(fw, val, bytes, SM_EFUSE_READ, offset, bytes, 0, 0, 0); return ret < 0 ? ret : 0; @@ -32,7 +32,7 @@ static int meson_efuse_write(void *context, unsigned int offset, struct meson_sm_firmware *fw = context; int ret; - ret = meson_sm_call_write(fw, (u8 *)val, bytes, SM_EFUSE_WRITE, offset, + ret = meson_sm_call_write(fw, val, bytes, SM_EFUSE_WRITE, offset, bytes, 0, 0, 0); return ret < 0 ? ret : 0; diff --git a/include/linux/firmware/meson/meson_sm.h b/include/linux/firmware/meson/meson_sm.h index 3ebc2bd9a976..92cc61f3a1c0 100644 --- a/include/linux/firmware/meson/meson_sm.h +++ b/include/linux/firmware/meson/meson_sm.h @@ -21,7 +21,7 @@ struct meson_sm_firmware; int meson_sm_call(struct meson_sm_firmware *fw, unsigned int cmd_index, s32 *ret, u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 arg4); -int meson_sm_call_write(struct meson_sm_firmware *fw, void *buffer, +int meson_sm_call_write(struct meson_sm_firmware *fw, const void *buffer, unsigned int b_size, unsigned int cmd_index, u32 arg0, u32 arg1, u32 arg2, u32 arg3, u32 arg4); int meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer, -- 2.55.0