summaryrefslogtreecommitdiffstats
path: root/drivers/misc/eeprom/eeprom_93xx46.c
diff options
context:
space:
mode:
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>2024-05-08 20:47:00 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2024-06-04 17:47:08 +0200
commit761b4cf31741b2d0beda5de4c36253b553939263 (patch)
tree05d5553b11785afaa9d35f108c5c9a8e8bb76724 /drivers/misc/eeprom/eeprom_93xx46.c
parentmisc: eeprom_93xx46: Use spi_message_init_with_transfers() (diff)
downloadlinux-761b4cf31741b2d0beda5de4c36253b553939263.tar.xz
linux-761b4cf31741b2d0beda5de4c36253b553939263.zip
misc: eeprom_93xx46: Convert to use kstrtox()
sscanf() is a heavy one and moreover requires additional boundary checks. Convert driver to use kstrtobool() in eeprom_93xx46_store_erase(). Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20240508184905.2102633-8-andriy.shevchenko@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/eeprom/eeprom_93xx46.c')
-rw-r--r--drivers/misc/eeprom/eeprom_93xx46.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/misc/eeprom/eeprom_93xx46.c b/drivers/misc/eeprom/eeprom_93xx46.c
index 3f885bac72c2..18a3b534ea73 100644
--- a/drivers/misc/eeprom/eeprom_93xx46.c
+++ b/drivers/misc/eeprom/eeprom_93xx46.c
@@ -10,7 +10,7 @@
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/gpio/consumer.h>
-#include <linux/kernel.h>
+#include <linux/kstrtox.h>
#include <linux/log2.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
@@ -366,9 +366,13 @@ static ssize_t eeprom_93xx46_store_erase(struct device *dev,
const char *buf, size_t count)
{
struct eeprom_93xx46_dev *edev = dev_get_drvdata(dev);
- int erase = 0, ret;
+ bool erase;
+ int ret;
+
+ ret = kstrtobool(buf, &erase);
+ if (ret)
+ return ret;
- sscanf(buf, "%d", &erase);
if (erase) {
ret = eeprom_93xx46_ew(edev, 1);
if (ret)