]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
misc: microchip: pci1xxxx: Fix return value of nvmem callbacks
authorJoy Chakraborty <joychakr@google.com>
Wed, 12 Jun 2024 07:00:30 +0000 (07:00 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Jul 2024 14:37:33 +0000 (16:37 +0200)
Read/write callbacks registered with nvmem core expect 0 to be returned
on success and a negative value to be returned on failure.

Currently pci1xxxx_otp_read()/pci1xxxx_otp_write() and
pci1xxxx_eeprom_read()/pci1xxxx_eeprom_write() return the number of
bytes read/written on success.
Fix to return 0 on success.

Fixes: 9ab5465349c0 ("misc: microchip: pci1xxxx: Add support to read and write into PCI1XXXX EEPROM via NVMEM sysfs")
Fixes: 0969001569e4 ("misc: microchip: pci1xxxx: Add support to read and write into PCI1XXXX OTP via NVMEM sysfs")
Cc: stable@vger.kernel.org
Signed-off-by: Joy Chakraborty <joychakr@google.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
Link: https://lore.kernel.org/r/20240612070031.1215558-1-joychakr@google.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mchp_pci1xxxx/mchp_pci1xxxx_otpe2p.c

index 16695cb5e69c79818341fd6a21e6529c0a46526f..7c3d8bedf90ba254f6d3b40f2eaa0b1765d01a03 100644 (file)
@@ -153,7 +153,6 @@ static int pci1xxxx_eeprom_read(void *priv_t, unsigned int off,
 
                buf[byte] = readl(rb + MMAP_EEPROM_OFFSET(EEPROM_DATA_REG));
        }
-       ret = byte;
 error:
        release_sys_lock(priv);
        return ret;
@@ -197,7 +196,6 @@ static int pci1xxxx_eeprom_write(void *priv_t, unsigned int off,
                        goto error;
                }
        }
-       ret = byte;
 error:
        release_sys_lock(priv);
        return ret;
@@ -258,7 +256,6 @@ static int pci1xxxx_otp_read(void *priv_t, unsigned int off,
 
                buf[byte] = readl(rb + MMAP_OTP_OFFSET(OTP_RD_DATA_OFFSET));
        }
-       ret = byte;
 error:
        release_sys_lock(priv);
        return ret;
@@ -315,7 +312,6 @@ static int pci1xxxx_otp_write(void *priv_t, unsigned int off,
                        goto error;
                }
        }
-       ret = byte;
 error:
        release_sys_lock(priv);
        return ret;