mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 11:41:29 -04:00
nvmem: check the return value of gpiod_set_value_cansleep()
GPIO setters now return integer values and can indicate failures in lower abstraction layers. Check the return values of gpiod_set_value_cansleep() calls in nvmem core. Reviewed-by: Johan Hovold <johan@kernel.org> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com> Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com> Signed-off-by: Srinivas Kandagatla <srini@kernel.org> Link: https://patch.msgid.link/20260729094647.111468-4-srini@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
06b360155d
commit
c9cde18426
@@ -64,16 +64,22 @@ static int __nvmem_reg_read(struct nvmem_device *nvmem, unsigned int offset,
|
||||
static int __nvmem_reg_write(struct nvmem_device *nvmem, unsigned int offset,
|
||||
void *val, size_t bytes)
|
||||
{
|
||||
int ret;
|
||||
int ret, wr_ok;
|
||||
|
||||
if (!nvmem->reg_write)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
gpiod_set_value_cansleep(nvmem->wp_gpio, 0);
|
||||
ret = nvmem->reg_write(nvmem->priv, offset, val, bytes);
|
||||
gpiod_set_value_cansleep(nvmem->wp_gpio, 1);
|
||||
ret = gpiod_set_value_cansleep(nvmem->wp_gpio, 0);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return ret;
|
||||
wr_ok = nvmem->reg_write(nvmem->priv, offset, val, bytes);
|
||||
|
||||
ret = gpiod_set_value_cansleep(nvmem->wp_gpio, 1);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return wr_ok;
|
||||
}
|
||||
|
||||
static int nvmem_access_with_keepouts(struct nvmem_device *nvmem,
|
||||
|
||||
Reference in New Issue
Block a user