All of lore.kernel.org
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: hdegoede@redhat.com, markgross@kernel.org
Cc: jdelvare@suse.com, linux@roeck-us.net,
	platform-driver-x86@vger.kernel.org, linux-hwmon@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 4/5] platform/x86: dell-ddv: Add "force" module param
Date: Thu, 26 Jan 2023 20:40:20 +0100	[thread overview]
Message-ID: <20230126194021.381092-5-W_Armin@gmx.de> (raw)
In-Reply-To: <20230126194021.381092-1-W_Armin@gmx.de>

Until now, the dell-wmi-ddv driver needs to be manually
patched and compiled to test compatibility with unknown
DDV WMI interface versions.
Add a module param to allow users to force loading even
when a unknown interface version was detected. Since this
might cause various unwanted side effects, the module param
is marked as unsafe.
Also update kernel-parameters.txt.

Signed-off-by: Armin Wolf <W_Armin@gmx.de>
---
 Documentation/admin-guide/kernel-parameters.txt |  3 +++
 drivers/platform/x86/dell/dell-wmi-ddv.c        | 13 +++++++++++--
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
index 6cfa6e3996cf..9bbff5113427 100644
--- a/Documentation/admin-guide/kernel-parameters.txt
+++ b/Documentation/admin-guide/kernel-parameters.txt
@@ -1024,6 +1024,9 @@
 	dell_smm_hwmon.fan_max=
 			[HW] Maximum configurable fan speed.

+	dell_wmi_ddv.force=
+			[HW] Do not check for supported WMI interface versions.
+
 	dfltcc=		[HW,S390]
 			Format: { on | off | def_only | inf_only | always }
 			on:       s390 zlib hardware support for compression on
diff --git a/drivers/platform/x86/dell/dell-wmi-ddv.c b/drivers/platform/x86/dell/dell-wmi-ddv.c
index 58fadb74e86a..9695bf493ea6 100644
--- a/drivers/platform/x86/dell/dell-wmi-ddv.c
+++ b/drivers/platform/x86/dell/dell-wmi-ddv.c
@@ -34,6 +34,10 @@
 #define DELL_EPPID_LENGTH	20
 #define DELL_EPPID_EXT_LENGTH	23

+static bool force;
+module_param_unsafe(force, bool, 0);
+MODULE_PARM_DESC(force, "Force loading without checking for supported WMI interface versions");
+
 enum dell_ddv_method {
 	DELL_DDV_BATTERY_DESIGN_CAPACITY	= 0x01,
 	DELL_DDV_BATTERY_FULL_CHARGE_CAPACITY	= 0x02,
@@ -349,8 +353,13 @@ static int dell_wmi_ddv_probe(struct wmi_device *wdev, const void *context)
 		return ret;

 	dev_dbg(&wdev->dev, "WMI interface version: %d\n", version);
-	if (version < DELL_DDV_SUPPORTED_VERSION_MIN || version > DELL_DDV_SUPPORTED_VERSION_MAX)
-		return -ENODEV;
+	if (version < DELL_DDV_SUPPORTED_VERSION_MIN || version > DELL_DDV_SUPPORTED_VERSION_MAX) {
+		if (!force)
+			return -ENODEV;
+
+		dev_warn(&wdev->dev, "Loading despite unsupported WMI interface version (%u)\n",
+			 version);
+	}

 	data = devm_kzalloc(&wdev->dev, sizeof(*data), GFP_KERNEL);
 	if (!data)
--
2.30.2


  parent reply	other threads:[~2023-01-26 19:41 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-26 19:40 [PATCH 0/5] platform/x86: dell-ddv: Various driver updates Armin Wolf
2023-01-26 19:40 ` [PATCH 1/5] platform/x86: dell-ddv: Add support for interface version 3 Armin Wolf
2023-01-30 15:05   ` Hans de Goede
2023-01-26 19:40 ` [PATCH 2/5] platform/x86: dell-ddv: Return error if buffer is empty Armin Wolf
2023-01-30 15:05   ` Hans de Goede
2023-01-26 19:40 ` [PATCH 3/5] platform/x86: dell-ddv: Replace EIO with ENOMSG Armin Wolf
2023-01-30 15:06   ` Hans de Goede
2023-01-26 19:40 ` Armin Wolf [this message]
2023-01-30 15:06   ` [PATCH 4/5] platform/x86: dell-ddv: Add "force" module param Hans de Goede
2023-01-30 15:09   ` Hans de Goede
2023-01-30 15:11     ` Hans de Goede
2023-01-26 19:40 ` [PATCH 5/5] platform/x86: dell-ddv: Add hwmon support Armin Wolf
2023-01-27 13:08   ` Guenter Roeck
2023-01-27 16:09     ` Armin Wolf
2023-02-02 21:12       ` Armin Wolf
2023-02-02 21:29         ` Hans de Goede
2023-02-03  1:07           ` Armin Wolf
2023-02-03  7:49             ` Hans de Goede
2023-01-29  9:47   ` kernel test robot
2023-01-30 15:30   ` Hans de Goede

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230126194021.381092-5-W_Armin@gmx.de \
    --to=w_armin@gmx.de \
    --cc=hdegoede@redhat.com \
    --cc=jdelvare@suse.com \
    --cc=linux-hwmon@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --cc=markgross@kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.