platform/x86: intel-wmi-thunderbolt: Move to intel sub-directory
authorKate Hsuan <hpa@redhat.com>
Fri, 20 Aug 2021 11:04:58 +0000 (14:04 +0300)
committerHans de Goede <hdegoede@redhat.com>
Fri, 20 Aug 2021 18:11:23 +0000 (20:11 +0200)
Move Intel WMI Thunderbolt driver to intel sub-directory
to improve readability.

Signed-off-by: Kate Hsuan <hpa@redhat.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20210820110458.73018-21-andriy.shevchenko@linux.intel.com
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
MAINTAINERS
drivers/platform/x86/Kconfig
drivers/platform/x86/Makefile
drivers/platform/x86/intel-wmi-thunderbolt.c [deleted file]
drivers/platform/x86/intel/wmi/Kconfig
drivers/platform/x86/intel/wmi/Makefile
drivers/platform/x86/intel/wmi/thunderbolt.c [new file with mode: 0644]

index 3ca5102ed811ebe2d82dd53f8cbba14817352bf6..60ee48c71c83e50dffa2a702a6952a3ddd11f7c1 100644 (file)
@@ -9597,7 +9597,7 @@ F:        drivers/platform/x86/intel/wmi/sbl-fw-update.c
 INTEL WMI THUNDERBOLT FORCE POWER DRIVER
 L:     Dell.Client.Kernel@dell.com
 S:     Maintained
-F:     drivers/platform/x86/intel-wmi-thunderbolt.c
+F:     drivers/platform/x86/intel/wmi/thunderbolt.c
 
 INTEL WWAN IOSM DRIVER
 M:     M Chetan Kumar <m.chetan.kumar@intel.com>
index d23053b6e29fa4ee2a39835a7a13880ab091a4f6..e21ea3d23e6f2235548e5ef23954e1e2f8fb3f97 100644 (file)
@@ -77,18 +77,6 @@ config UV_SYSFS
          To compile this driver as a module, choose M here: the module will
          be called uv_sysfs.
 
-config INTEL_WMI_THUNDERBOLT
-       tristate "Intel WMI thunderbolt force power driver"
-       depends on ACPI_WMI
-       help
-         Say Y here if you want to be able to use the WMI interface on select
-         systems to force the power control of Intel Thunderbolt controllers.
-         This is useful for updating the firmware when devices are not plugged
-         into the controller.
-
-         To compile this driver as a module, choose M here: the module will
-         be called intel-wmi-thunderbolt.
-
 config MXM_WMI
        tristate "WMI support for MXM Laptop Graphics"
        depends on ACPI_WMI
index 29ab09e0f36bf290ecd59efe8d872153822fdb5b..69690e26bb6d4cc42c1a54f5fc4ff034e4a438c4 100644 (file)
@@ -10,7 +10,6 @@ obj-$(CONFIG_WMI_BMOF)                += wmi-bmof.o
 
 # WMI drivers
 obj-$(CONFIG_HUAWEI_WMI)               += huawei-wmi.o
-obj-$(CONFIG_INTEL_WMI_THUNDERBOLT)    += intel-wmi-thunderbolt.o
 obj-$(CONFIG_MXM_WMI)                  += mxm-wmi.o
 obj-$(CONFIG_PEAQ_WMI)                 += peaq-wmi.o
 obj-$(CONFIG_XIAOMI_WMI)               += xiaomi-wmi.o
diff --git a/drivers/platform/x86/intel-wmi-thunderbolt.c b/drivers/platform/x86/intel-wmi-thunderbolt.c
deleted file mode 100644 (file)
index 4ae8706..0000000
+++ /dev/null
@@ -1,94 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0
-/*
- * WMI Thunderbolt driver
- *
- * Copyright (C) 2017 Dell Inc. All Rights Reserved.
- */
-
-#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
-
-#include <linux/acpi.h>
-#include <linux/device.h>
-#include <linux/fs.h>
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/string.h>
-#include <linux/sysfs.h>
-#include <linux/types.h>
-#include <linux/wmi.h>
-
-#define INTEL_WMI_THUNDERBOLT_GUID "86CCFD48-205E-4A77-9C48-2021CBEDE341"
-
-static ssize_t force_power_store(struct device *dev,
-                                struct device_attribute *attr,
-                                const char *buf, size_t count)
-{
-       struct acpi_buffer input;
-       acpi_status status;
-       u8 mode;
-
-       input.length = sizeof(u8);
-       input.pointer = &mode;
-       mode = hex_to_bin(buf[0]);
-       dev_dbg(dev, "force_power: storing %#x\n", mode);
-       if (mode == 0 || mode == 1) {
-               status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
-                                            &input, NULL);
-               if (ACPI_FAILURE(status)) {
-                       dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
-                       return -ENODEV;
-               }
-       } else {
-               dev_dbg(dev, "force_power: unsupported mode\n");
-               return -EINVAL;
-       }
-       return count;
-}
-
-static DEVICE_ATTR_WO(force_power);
-
-static struct attribute *tbt_attrs[] = {
-       &dev_attr_force_power.attr,
-       NULL
-};
-
-static const struct attribute_group tbt_attribute_group = {
-       .attrs = tbt_attrs,
-};
-
-static int intel_wmi_thunderbolt_probe(struct wmi_device *wdev,
-                                      const void *context)
-{
-       int ret;
-
-       ret = sysfs_create_group(&wdev->dev.kobj, &tbt_attribute_group);
-       kobject_uevent(&wdev->dev.kobj, KOBJ_CHANGE);
-       return ret;
-}
-
-static void intel_wmi_thunderbolt_remove(struct wmi_device *wdev)
-{
-       sysfs_remove_group(&wdev->dev.kobj, &tbt_attribute_group);
-       kobject_uevent(&wdev->dev.kobj, KOBJ_CHANGE);
-}
-
-static const struct wmi_device_id intel_wmi_thunderbolt_id_table[] = {
-       { .guid_string = INTEL_WMI_THUNDERBOLT_GUID },
-       { },
-};
-
-static struct wmi_driver intel_wmi_thunderbolt_driver = {
-       .driver = {
-               .name = "intel-wmi-thunderbolt",
-       },
-       .probe = intel_wmi_thunderbolt_probe,
-       .remove = intel_wmi_thunderbolt_remove,
-       .id_table = intel_wmi_thunderbolt_id_table,
-};
-
-module_wmi_driver(intel_wmi_thunderbolt_driver);
-
-MODULE_DEVICE_TABLE(wmi, intel_wmi_thunderbolt_id_table);
-MODULE_AUTHOR("Mario Limonciello <mario.limonciello@dell.com>");
-MODULE_DESCRIPTION("Intel WMI Thunderbolt force power driver");
-MODULE_LICENSE("GPL v2");
index c5753b1e8f432eadcb2c9abacbb1af0f472e57ba..8e159f712179d0f0eb84ea938c7aa92df1c3a1ce 100644 (file)
@@ -16,3 +16,16 @@ config INTEL_WMI_SBL_FW_UPDATE
 
          To compile this driver as a module, choose M here: the module will
          be called intel-wmi-sbl-fw-update.
+
+config INTEL_WMI_THUNDERBOLT
+       tristate "Intel WMI thunderbolt force power driver"
+       depends on ACPI_WMI
+       select INTEL_WMI
+       help
+         Say Y here if you want to be able to use the WMI interface on select
+         systems to force the power control of Intel Thunderbolt controllers.
+         This is useful for updating the firmware when devices are not plugged
+         into the controller.
+
+         To compile this driver as a module, choose M here: the module will
+         be called intel-wmi-thunderbolt.
index bf1f118b6839209abfbbfb4f072bdaec6248659a..c2d56d25dea0be3438ef1718c5e91f59991fdf0c 100644 (file)
@@ -5,3 +5,5 @@
 
 intel-wmi-sbl-fw-update-y                              := sbl-fw-update.o
 obj-$(CONFIG_INTEL_WMI_SBL_FW_UPDATE)  += intel-wmi-sbl-fw-update.o
+intel-wmi-thunderbolt-y                                        := thunderbolt.o
+obj-$(CONFIG_INTEL_WMI_THUNDERBOLT)    += intel-wmi-thunderbolt.o
diff --git a/drivers/platform/x86/intel/wmi/thunderbolt.c b/drivers/platform/x86/intel/wmi/thunderbolt.c
new file mode 100644 (file)
index 0000000..4ae8706
--- /dev/null
@@ -0,0 +1,94 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * WMI Thunderbolt driver
+ *
+ * Copyright (C) 2017 Dell Inc. All Rights Reserved.
+ */
+
+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+#include <linux/acpi.h>
+#include <linux/device.h>
+#include <linux/fs.h>
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/string.h>
+#include <linux/sysfs.h>
+#include <linux/types.h>
+#include <linux/wmi.h>
+
+#define INTEL_WMI_THUNDERBOLT_GUID "86CCFD48-205E-4A77-9C48-2021CBEDE341"
+
+static ssize_t force_power_store(struct device *dev,
+                                struct device_attribute *attr,
+                                const char *buf, size_t count)
+{
+       struct acpi_buffer input;
+       acpi_status status;
+       u8 mode;
+
+       input.length = sizeof(u8);
+       input.pointer = &mode;
+       mode = hex_to_bin(buf[0]);
+       dev_dbg(dev, "force_power: storing %#x\n", mode);
+       if (mode == 0 || mode == 1) {
+               status = wmi_evaluate_method(INTEL_WMI_THUNDERBOLT_GUID, 0, 1,
+                                            &input, NULL);
+               if (ACPI_FAILURE(status)) {
+                       dev_dbg(dev, "force_power: failed to evaluate ACPI method\n");
+                       return -ENODEV;
+               }
+       } else {
+               dev_dbg(dev, "force_power: unsupported mode\n");
+               return -EINVAL;
+       }
+       return count;
+}
+
+static DEVICE_ATTR_WO(force_power);
+
+static struct attribute *tbt_attrs[] = {
+       &dev_attr_force_power.attr,
+       NULL
+};
+
+static const struct attribute_group tbt_attribute_group = {
+       .attrs = tbt_attrs,
+};
+
+static int intel_wmi_thunderbolt_probe(struct wmi_device *wdev,
+                                      const void *context)
+{
+       int ret;
+
+       ret = sysfs_create_group(&wdev->dev.kobj, &tbt_attribute_group);
+       kobject_uevent(&wdev->dev.kobj, KOBJ_CHANGE);
+       return ret;
+}
+
+static void intel_wmi_thunderbolt_remove(struct wmi_device *wdev)
+{
+       sysfs_remove_group(&wdev->dev.kobj, &tbt_attribute_group);
+       kobject_uevent(&wdev->dev.kobj, KOBJ_CHANGE);
+}
+
+static const struct wmi_device_id intel_wmi_thunderbolt_id_table[] = {
+       { .guid_string = INTEL_WMI_THUNDERBOLT_GUID },
+       { },
+};
+
+static struct wmi_driver intel_wmi_thunderbolt_driver = {
+       .driver = {
+               .name = "intel-wmi-thunderbolt",
+       },
+       .probe = intel_wmi_thunderbolt_probe,
+       .remove = intel_wmi_thunderbolt_remove,
+       .id_table = intel_wmi_thunderbolt_id_table,
+};
+
+module_wmi_driver(intel_wmi_thunderbolt_driver);
+
+MODULE_DEVICE_TABLE(wmi, intel_wmi_thunderbolt_id_table);
+MODULE_AUTHOR("Mario Limonciello <mario.limonciello@dell.com>");
+MODULE_DESCRIPTION("Intel WMI Thunderbolt force power driver");
+MODULE_LICENSE("GPL v2");