aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/atkbd.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/keyboard/atkbd.c')
-rw-r--r--drivers/input/keyboard/atkbd.c40
1 files changed, 30 insertions, 10 deletions
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
index 19cfc0cf558c..e05a2e7073c6 100644
--- a/drivers/input/keyboard/atkbd.c
+++ b/drivers/input/keyboard/atkbd.c
@@ -1305,7 +1305,7 @@ static ssize_t atkbd_show_extra(struct atkbd *atkbd, char *buf)
1305static ssize_t atkbd_set_extra(struct atkbd *atkbd, const char *buf, size_t count) 1305static ssize_t atkbd_set_extra(struct atkbd *atkbd, const char *buf, size_t count)
1306{ 1306{
1307 struct input_dev *old_dev, *new_dev; 1307 struct input_dev *old_dev, *new_dev;
1308 unsigned long value; 1308 unsigned int value;
1309 int err; 1309 int err;
1310 bool old_extra; 1310 bool old_extra;
1311 unsigned char old_set; 1311 unsigned char old_set;
@@ -1313,7 +1313,11 @@ static ssize_t atkbd_set_extra(struct atkbd *atkbd, const char *buf, size_t coun
1313 if (!atkbd->write) 1313 if (!atkbd->write)
1314 return -EIO; 1314 return -EIO;
1315 1315
1316 if (strict_strtoul(buf, 10, &value) || value > 1) 1316 err = kstrtouint(buf, 10, &value);
1317 if (err)
1318 return err;
1319
1320 if (value > 1)
1317 return -EINVAL; 1321 return -EINVAL;
1318 1322
1319 if (atkbd->extra != value) { 1323 if (atkbd->extra != value) {
@@ -1389,11 +1393,15 @@ static ssize_t atkbd_show_scroll(struct atkbd *atkbd, char *buf)
1389static ssize_t atkbd_set_scroll(struct atkbd *atkbd, const char *buf, size_t count) 1393static ssize_t atkbd_set_scroll(struct atkbd *atkbd, const char *buf, size_t count)
1390{ 1394{
1391 struct input_dev *old_dev, *new_dev; 1395 struct input_dev *old_dev, *new_dev;
1392 unsigned long value; 1396 unsigned int value;
1393 int err; 1397 int err;
1394 bool old_scroll; 1398 bool old_scroll;
1395 1399
1396 if (strict_strtoul(buf, 10, &value) || value > 1) 1400 err = kstrtouint(buf, 10, &value);
1401 if (err)
1402 return err;
1403
1404 if (value > 1)
1397 return -EINVAL; 1405 return -EINVAL;
1398 1406
1399 if (atkbd->scroll != value) { 1407 if (atkbd->scroll != value) {
@@ -1433,7 +1441,7 @@ static ssize_t atkbd_show_set(struct atkbd *atkbd, char *buf)
1433static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count) 1441static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count)
1434{ 1442{
1435 struct input_dev *old_dev, *new_dev; 1443 struct input_dev *old_dev, *new_dev;
1436 unsigned long value; 1444 unsigned int value;
1437 int err; 1445 int err;
1438 unsigned char old_set; 1446 unsigned char old_set;
1439 bool old_extra; 1447 bool old_extra;
@@ -1441,7 +1449,11 @@ static ssize_t atkbd_set_set(struct atkbd *atkbd, const char *buf, size_t count)
1441 if (!atkbd->write) 1449 if (!atkbd->write)
1442 return -EIO; 1450 return -EIO;
1443 1451
1444 if (strict_strtoul(buf, 10, &value) || (value != 2 && value != 3)) 1452 err = kstrtouint(buf, 10, &value);
1453 if (err)
1454 return err;
1455
1456 if (value != 2 && value != 3)
1445 return -EINVAL; 1457 return -EINVAL;
1446 1458
1447 if (atkbd->set != value) { 1459 if (atkbd->set != value) {
@@ -1484,14 +1496,18 @@ static ssize_t atkbd_show_softrepeat(struct atkbd *atkbd, char *buf)
1484static ssize_t atkbd_set_softrepeat(struct atkbd *atkbd, const char *buf, size_t count) 1496static ssize_t atkbd_set_softrepeat(struct atkbd *atkbd, const char *buf, size_t count)
1485{ 1497{
1486 struct input_dev *old_dev, *new_dev; 1498 struct input_dev *old_dev, *new_dev;
1487 unsigned long value; 1499 unsigned int value;
1488 int err; 1500 int err;
1489 bool old_softrepeat, old_softraw; 1501 bool old_softrepeat, old_softraw;
1490 1502
1491 if (!atkbd->write) 1503 if (!atkbd->write)
1492 return -EIO; 1504 return -EIO;
1493 1505
1494 if (strict_strtoul(buf, 10, &value) || value > 1) 1506 err = kstrtouint(buf, 10, &value);
1507 if (err)
1508 return err;
1509
1510 if (value > 1)
1495 return -EINVAL; 1511 return -EINVAL;
1496 1512
1497 if (atkbd->softrepeat != value) { 1513 if (atkbd->softrepeat != value) {
@@ -1534,11 +1550,15 @@ static ssize_t atkbd_show_softraw(struct atkbd *atkbd, char *buf)
1534static ssize_t atkbd_set_softraw(struct atkbd *atkbd, const char *buf, size_t count) 1550static ssize_t atkbd_set_softraw(struct atkbd *atkbd, const char *buf, size_t count)
1535{ 1551{
1536 struct input_dev *old_dev, *new_dev; 1552 struct input_dev *old_dev, *new_dev;
1537 unsigned long value; 1553 unsigned int value;
1538 int err; 1554 int err;
1539 bool old_softraw; 1555 bool old_softraw;
1540 1556
1541 if (strict_strtoul(buf, 10, &value) || value > 1) 1557 err = kstrtouint(buf, 10, &value);
1558 if (err)
1559 return err;
1560
1561 if (value > 1)
1542 return -EINVAL; 1562 return -EINVAL;
1543 1563
1544 if (atkbd->softraw != value) { 1564 if (atkbd->softraw != value) {