hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/drivers/platform/x86/toshiba_acpi.c
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * toshiba_acpi.c - Toshiba Laptop ACPI Extras
34 *
....@@ -5,19 +6,6 @@
56 * Copyright (C) 2008 Philip Langdale
67 * Copyright (C) 2010 Pierre Ducroquet
78 * Copyright (C) 2014-2016 Azael Avalos
8
- *
9
- * This program is free software; you can redistribute it and/or modify
10
- * it under the terms of the GNU General Public License as published by
11
- * the Free Software Foundation; either version 2 of the License, or
12
- * (at your option) any later version.
13
- *
14
- * This program is distributed in the hope that it will be useful,
15
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
- * GNU General Public License for more details.
18
- *
19
- * The full GNU General Public License is included in this distribution in
20
- * the file called "COPYING".
219 *
2210 * The devolpment page for this driver is located at
2311 * http://memebeam.org/toys/ToshibaAcpiDriver.
....@@ -217,9 +205,6 @@
217205 unsigned int special_functions;
218206
219207 bool kbd_event_generated;
220
- bool kbd_led_registered;
221
- bool illumination_led_registered;
222
- bool eco_led_registered;
223208 bool killswitch;
224209 };
225210
....@@ -470,7 +455,6 @@
470455 acpi_status status;
471456
472457 dev->illumination_supported = 0;
473
- dev->illumination_led_registered = false;
474458
475459 if (!sci_open(dev))
476460 return;
....@@ -540,7 +524,6 @@
540524 acpi_status status;
541525
542526 dev->kbd_illum_supported = 0;
543
- dev->kbd_led_registered = false;
544527 dev->kbd_event_generated = false;
545528
546529 if (!sci_open(dev))
....@@ -685,7 +668,6 @@
685668 acpi_status status;
686669
687670 dev->eco_supported = 0;
688
- dev->eco_led_registered = false;
689671
690672 status = tci_raw(dev, in, out);
691673 if (ACPI_FAILURE(status)) {
....@@ -1444,13 +1426,12 @@
14441426 return count;
14451427 }
14461428
1447
-static const struct file_operations lcd_proc_fops = {
1448
- .owner = THIS_MODULE,
1449
- .open = lcd_proc_open,
1450
- .read = seq_read,
1451
- .llseek = seq_lseek,
1452
- .release = single_release,
1453
- .write = lcd_proc_write,
1429
+static const struct proc_ops lcd_proc_ops = {
1430
+ .proc_open = lcd_proc_open,
1431
+ .proc_read = seq_read,
1432
+ .proc_lseek = seq_lseek,
1433
+ .proc_release = single_release,
1434
+ .proc_write = lcd_proc_write,
14541435 };
14551436
14561437 /* Video-Out */
....@@ -1550,13 +1531,12 @@
15501531 return ret ? -EIO : count;
15511532 }
15521533
1553
-static const struct file_operations video_proc_fops = {
1554
- .owner = THIS_MODULE,
1555
- .open = video_proc_open,
1556
- .read = seq_read,
1557
- .llseek = seq_lseek,
1558
- .release = single_release,
1559
- .write = video_proc_write,
1534
+static const struct proc_ops video_proc_ops = {
1535
+ .proc_open = video_proc_open,
1536
+ .proc_read = seq_read,
1537
+ .proc_lseek = seq_lseek,
1538
+ .proc_release = single_release,
1539
+ .proc_write = video_proc_write,
15601540 };
15611541
15621542 /* Fan status */
....@@ -1628,13 +1608,12 @@
16281608 return count;
16291609 }
16301610
1631
-static const struct file_operations fan_proc_fops = {
1632
- .owner = THIS_MODULE,
1633
- .open = fan_proc_open,
1634
- .read = seq_read,
1635
- .llseek = seq_lseek,
1636
- .release = single_release,
1637
- .write = fan_proc_write,
1611
+static const struct proc_ops fan_proc_ops = {
1612
+ .proc_open = fan_proc_open,
1613
+ .proc_read = seq_read,
1614
+ .proc_lseek = seq_lseek,
1615
+ .proc_release = single_release,
1616
+ .proc_write = fan_proc_write,
16381617 };
16391618
16401619 static int keys_proc_show(struct seq_file *m, void *v)
....@@ -1673,13 +1652,12 @@
16731652 return count;
16741653 }
16751654
1676
-static const struct file_operations keys_proc_fops = {
1677
- .owner = THIS_MODULE,
1678
- .open = keys_proc_open,
1679
- .read = seq_read,
1680
- .llseek = seq_lseek,
1681
- .release = single_release,
1682
- .write = keys_proc_write,
1655
+static const struct proc_ops keys_proc_ops = {
1656
+ .proc_open = keys_proc_open,
1657
+ .proc_read = seq_read,
1658
+ .proc_lseek = seq_lseek,
1659
+ .proc_release = single_release,
1660
+ .proc_write = keys_proc_write,
16831661 };
16841662
16851663 static int __maybe_unused version_proc_show(struct seq_file *m, void *v)
....@@ -1699,16 +1677,16 @@
16991677 {
17001678 if (dev->backlight_dev)
17011679 proc_create_data("lcd", S_IRUGO | S_IWUSR, toshiba_proc_dir,
1702
- &lcd_proc_fops, dev);
1680
+ &lcd_proc_ops, dev);
17031681 if (dev->video_supported)
17041682 proc_create_data("video", S_IRUGO | S_IWUSR, toshiba_proc_dir,
1705
- &video_proc_fops, dev);
1683
+ &video_proc_ops, dev);
17061684 if (dev->fan_supported)
17071685 proc_create_data("fan", S_IRUGO | S_IWUSR, toshiba_proc_dir,
1708
- &fan_proc_fops, dev);
1686
+ &fan_proc_ops, dev);
17091687 if (dev->hotkey_dev)
17101688 proc_create_data("keys", S_IRUGO | S_IWUSR, toshiba_proc_dir,
1711
- &keys_proc_fops, dev);
1689
+ &keys_proc_ops, dev);
17121690 proc_create_single_data("version", S_IRUGO, toshiba_proc_dir,
17131691 version_proc_show, dev);
17141692 }
....@@ -2769,7 +2747,7 @@
27692747 result = hci_write(dev, HCI_SYSTEM_EVENT, 1);
27702748 if (result == TOS_SUCCESS)
27712749 pr_notice("Re-enabled hotkeys\n");
2772
- /* Fall through */
2750
+ fallthrough;
27732751 default:
27742752 retries--;
27752753 break;
....@@ -3009,14 +2987,9 @@
30092987
30102988 backlight_device_unregister(dev->backlight_dev);
30112989
3012
- if (dev->illumination_led_registered)
3013
- led_classdev_unregister(&dev->led_dev);
3014
-
3015
- if (dev->kbd_led_registered)
3016
- led_classdev_unregister(&dev->kbd_led);
3017
-
3018
- if (dev->eco_led_registered)
3019
- led_classdev_unregister(&dev->eco_led);
2990
+ led_classdev_unregister(&dev->led_dev);
2991
+ led_classdev_unregister(&dev->kbd_led);
2992
+ led_classdev_unregister(&dev->eco_led);
30202993
30212994 if (dev->wwan_rfk) {
30222995 rfkill_unregister(dev->wwan_rfk);
....@@ -3108,8 +3081,7 @@
31083081 dev->led_dev.max_brightness = 1;
31093082 dev->led_dev.brightness_set = toshiba_illumination_set;
31103083 dev->led_dev.brightness_get = toshiba_illumination_get;
3111
- if (!led_classdev_register(&acpi_dev->dev, &dev->led_dev))
3112
- dev->illumination_led_registered = true;
3084
+ led_classdev_register(&acpi_dev->dev, &dev->led_dev);
31133085 }
31143086
31153087 toshiba_eco_mode_available(dev);
....@@ -3118,8 +3090,7 @@
31183090 dev->eco_led.max_brightness = 1;
31193091 dev->eco_led.brightness_set = toshiba_eco_mode_set_status;
31203092 dev->eco_led.brightness_get = toshiba_eco_mode_get_status;
3121
- if (!led_classdev_register(&dev->acpi_dev->dev, &dev->eco_led))
3122
- dev->eco_led_registered = true;
3093
+ led_classdev_register(&dev->acpi_dev->dev, &dev->eco_led);
31233094 }
31243095
31253096 toshiba_kbd_illum_available(dev);
....@@ -3135,8 +3106,7 @@
31353106 dev->kbd_led.max_brightness = 1;
31363107 dev->kbd_led.brightness_set = toshiba_kbd_backlight_set;
31373108 dev->kbd_led.brightness_get = toshiba_kbd_backlight_get;
3138
- if (!led_classdev_register(&dev->acpi_dev->dev, &dev->kbd_led))
3139
- dev->kbd_led_registered = true;
3109
+ led_classdev_register(&dev->acpi_dev->dev, &dev->kbd_led);
31403110 }
31413111
31423112 ret = toshiba_touchpad_get(dev, &dummy);
....@@ -3144,7 +3114,7 @@
31443114
31453115 toshiba_accelerometer_available(dev);
31463116 if (dev->accelerometer_supported) {
3147
- dev->indio_dev = iio_device_alloc(sizeof(*dev));
3117
+ dev->indio_dev = iio_device_alloc(&acpi_dev->dev, sizeof(*dev));
31483118 if (!dev->indio_dev) {
31493119 pr_err("Unable to allocate iio device\n");
31503120 goto iio_error;
....@@ -3154,7 +3124,6 @@
31543124
31553125 dev->indio_dev->info = &toshiba_iio_accel_info;
31563126 dev->indio_dev->name = "Toshiba accelerometer";
3157
- dev->indio_dev->dev.parent = &acpi_dev->dev;
31583127 dev->indio_dev->modes = INDIO_DIRECT_MODE;
31593128 dev->indio_dev->channels = toshiba_iio_accel_channels;
31603129 dev->indio_dev->num_channels =