From patchwork Mon Mar 20 00:32:18 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Pearson X-Patchwork-Id: 71923 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp944394wrt; Sun, 19 Mar 2023 17:54:15 -0700 (PDT) X-Google-Smtp-Source: AK7set+hgaTfVcJ7IHM11CW8FSrCmw9ntIic1HqEqCZe0cMB+v1ZcDaN5Nkspu3LhZS19ZmlV0Ww X-Received: by 2002:a05:6a20:3d85:b0:d7:2624:596e with SMTP id s5-20020a056a203d8500b000d72624596emr17198195pzi.3.1679273655243; Sun, 19 Mar 2023 17:54:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679273655; cv=none; d=google.com; s=arc-20160816; b=Us5hmH0ak/1x0AcxpMDJcmboqSuXpv39IUwgjeT7yT7YdtM3nxuaAFG5i5IYOItLm1 bm9HyLXLYdN0L8jbO06HfFl6xLLS1wryjBWerZD2hhI8OgUMvU/kTwshzzwqRhDEu1FY fKdZHAlOO0SXtdD0VgXAK0BAGMqu/3SCrWdTjzvAX8xuB1dg3uJVuaeOY/sT9EXUX1ul o39wHv+lKKX5kNVpo71OIgAluCSW6yI+uVLuHiZyKymcuIwtmAO8+PYQEq+JjhdPT9mK 1Zf1Hh3UMtSMMTaJu/YQ5Pl66vrtLvppfRlx0LUw+9L5ZCGJMAcehoPjw8LHg5J4AES2 hD2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :feedback-id:dkim-signature:dkim-signature; bh=/6Xha14LNcuPBWYFX7xY2TJKKvWGWGj521bnvzcA2FQ=; b=fVD8JJ50n6MFbVge4KdiaMld5nCYZ+xOR2EfIatTuZeSwuHRE202fFTNhqQ0ffoxAE jy/lc2DVVcvgNRz9rb2Scqmq3sxBsHTDCVg18FQqq6vOi1ZfUxVsyZ7sKOhWRauEiVlw +BoiGlIHMyo1jj1gZK2MpVhxua9D7fHT5iD0vvTvcCOUEnX2mo5IiZgFKLWJDGUUn4Qb OdhdCExZNMzX5etygfKCMlPkGZNCuGjdIdBU7VAH3X/5cGs/gbZx2XeMplFcidLtKun1 RdUmxvgROnToGEFZe9nWwoO9QOKilLQYLdCBcQeCM1ueK/hOFgKsZDyfyGxRYVR/CKld hxkw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=Udwlt9zE; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=WPp3wqyH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 191-20020a6304c8000000b004fb171df693si9388999pge.352.2023.03.19.17.54.02; Sun, 19 Mar 2023 17:54:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=Udwlt9zE; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=WPp3wqyH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229619AbjCTAcm (ORCPT + 99 others); Sun, 19 Mar 2023 20:32:42 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40796 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229493AbjCTAci (ORCPT ); Sun, 19 Mar 2023 20:32:38 -0400 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8595F168B4 for ; Sun, 19 Mar 2023 17:32:36 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 776355C0084; Sun, 19 Mar 2023 20:32:32 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sun, 19 Mar 2023 20:32:32 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=squebb.ca; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1679272352; x= 1679358752; bh=/6Xha14LNcuPBWYFX7xY2TJKKvWGWGj521bnvzcA2FQ=; b=U dwlt9zEC4kxHPCywNbYy40UNnQmjcC9Nea46MeygdUOpGiJLSQ0b1oxBPO17LF+b +yaDSIKipKXb1ny4vVrlAFzPr1emVHVYwugHJJUlmv33TtR6Jz2EE60sjfzADKdH NbVcIev0+4yMpoKaitrtSwN44+HBJhBxyDyIVyyXEiXwzn3ecSS7fWQuvH7iofaA 5hwcGfPQFclO4Lr3eNXJCrLcZU3J4geGeLXei8RaFwkAbvxN6aYhfFsHJHyYy3Ny u7zwBVB0dKhf5/fymeq0RutyTmCFUwud65dQ+h73znM5jovMIQNQCFNH/oI/LeUA qKK3FRaBMnAA8CPJxLDWQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1679272352; x= 1679358752; bh=/6Xha14LNcuPBWYFX7xY2TJKKvWGWGj521bnvzcA2FQ=; b=W Pp3wqyHRhakjP+kFEaZXLuxdFiNIuYpLfe7hTHjBqRh+QSMlmM4kmv0PY577wHgr l1Ul/Y8Zkx1m0Y9bMSVkHC5a1PmYHzXNFc9hpgwiriZN+z6vlQJoaD4lh4M7DK33 mtcbWYqJW+U+Wjhn6iAUP/FqghQKvBnClwD/G6NBOMiZ7tnA5WfaHE10mCV3bzE/ LOcZDlZ/BfTsLPVaqSLO/ZrPNxOBlYD/Ul7GM7js85Z1Z9pSBXt5XE7lkZ0wHWY8 M3s4eBAfUNxijiKgjZLVtp7meHvqCKiOdnLG95Zdz8vp7JwDteThnTPiNyHaeUwd vOpA1ugxC9KxLZ4QxVcxQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefjedgvdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoteeftdduqddtudculdduhedmnecujfgurhephf fvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepofgrrhhkucfrvggrrhhs ohhnuceomhhpvggrrhhsohhnqdhlvghnohhvohesshhquhgvsggsrdgtrgeqnecuggftrf grthhtvghrnhepvedtlefggefgjeettddvgfekhfeugfeutdekfeefudeuuddvieeutdel jedvhfdvnecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiii gvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmphgvrghrshhonhdqlhgvnhhovhho sehsqhhuvggssgdrtggr X-ME-Proxy: Feedback-ID: ibe194615:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 19 Mar 2023 20:32:31 -0400 (EDT) From: Mark Pearson To: mpearson-lenovo@squebb.ca Cc: hdegoede@redhat.com, markgross@kernel.org, markpearson@lenovo.com, thomas@t-8ch.de, pobrn@protonmail.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 1/4] platform/x86: think-lmi: add missing type attribute Date: Sun, 19 Mar 2023 20:32:18 -0400 Message-Id: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> X-Mailer: git-send-email 2.39.2 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760846052220690541?= X-GMAIL-MSGID: =?utf-8?q?1760846052220690541?= This driver was missing the mandatory type attribute...oops. Add it in along with logic to determine whether the attribute is an enumeration type or a string by parsing the possible_values attribute. Upstream bug https://bugzilla.kernel.org/show_bug.cgi?id=216460 Signed-off-by: Mark Pearson --- Changes in v4: - Unchanged. Sending to linux-kernel mailing list as recommended Changes in v3: - Rebased on latest pdx86, review_hans branch Changes in v2: - Simplify the code and move type determination into show function - Don't use Fixes with URL in commit info drivers/platform/x86/think-lmi.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c index cc66f7cbccf2..a765bf8c27d8 100644 --- a/drivers/platform/x86/think-lmi.c +++ b/drivers/platform/x86/think-lmi.c @@ -947,6 +947,20 @@ static ssize_t possible_values_show(struct kobject *kobj, struct kobj_attribute return sysfs_emit(buf, "%s\n", setting->possible_values); } +static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr, + char *buf) +{ + struct tlmi_attr_setting *setting = to_tlmi_attr_setting(kobj); + + if (setting->possible_values) { + /* Figure out what setting type is as BIOS does not return this */ + if (strchr(setting->possible_values, ',')) + return sysfs_emit(buf, "enumeration\n"); + } + /* Anything else is going to be a string */ + return sysfs_emit(buf, "string\n"); +} + static ssize_t current_value_store(struct kobject *kobj, struct kobj_attribute *attr, const char *buf, size_t count) @@ -1036,10 +1050,13 @@ static struct kobj_attribute attr_possible_values = __ATTR_RO(possible_values); static struct kobj_attribute attr_current_val = __ATTR_RW_MODE(current_value, 0600); +static struct kobj_attribute attr_type = __ATTR_RO(type); + static struct attribute *tlmi_attrs[] = { &attr_displ_name.attr, &attr_current_val.attr, &attr_possible_values.attr, + &attr_type.attr, NULL }; From patchwork Mon Mar 20 00:32:19 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mark Pearson X-Patchwork-Id: 71927 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp958589wrt; Sun, 19 Mar 2023 18:33:26 -0700 (PDT) X-Google-Smtp-Source: AK7set+mmqFFVnyjRvsQ8/bTRiMaNd35ryAq0XMHaASpORgDTAXgrePDBQtqi6gCU2Uo8Sa4TnWk X-Received: by 2002:a05:6a20:7f8e:b0:d5:58df:fb94 with SMTP id d14-20020a056a207f8e00b000d558dffb94mr17614116pzj.2.1679276006272; Sun, 19 Mar 2023 18:33:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679276006; cv=none; d=google.com; s=arc-20160816; b=GVLy4w1RiWn3OhgMVXt1HAOZfbMtTjq+R7etVX4sRf/CR1zC7PEf8CQU2Io21A9uyB b8cX3p03lYpxErU3cJCoHYJiPsu1hOdZxao2i4an3CxPpg1FjrMmJ3PbcwpyR23HUZdV 7oZKFRBveq6fGmXYXYLdYVv4V9VQO1gvfhRjkYqegZJiWD5/T2kaK1aj+SvnxdCw/kXo 7atiNaoiFR8tXdW9j9Lgq3Pwa32N8Oj8mAtANUPN7YkEUa/S1pRS6WSbP0byUtUiZ+/l UejZ3IgyFzbiaLX+bBh79S9kf8qia6UCW3TfKsBE8z5qylceyIzDihIAE27w4uTk9jEQ GmpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :feedback-id:dkim-signature:dkim-signature; bh=jG60LqVl3ygGxpbLQr7OMm+KfrWuJT68jTJtYViPpXc=; b=mX876msxvVgJ8C8p6W0OML7kERxlFMzpwdOHRS6AEiTmIMKy7CpCpU9hBgwjmUoeXe kMuJseNPCihvU4DNr579z6TrARuvXF5TtpAIs6sU5M/p4qFXp/ikadPfTTqRKA9uKp6X gPyT6U2Hk6y/m1D7pPk+nDhe1dor/20JxsAceCcQBWrtkwuGZhCK0HjkkZOFX6B+ia0N sdTGA7WnO4SnL7mR+5ZBq0cS3gtk5ej1aUCcLHsh7yGl0WqzRO3Ud+NnXbbi6q9+SHif 5/rQJT6WsVndOyUWI3hf7DyAoThxofX7dDToSPb7sJBfSXdDZL5PkKoIXupL2ZTufl2n dYAA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=EDipKsBX; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=hV6VsYaD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hk12-20020a17090b224c00b0023369af18e2si9519489pjb.72.2023.03.19.18.33.13; Sun, 19 Mar 2023 18:33:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=EDipKsBX; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=hV6VsYaD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229756AbjCTAcs (ORCPT + 99 others); Sun, 19 Mar 2023 20:32:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40804 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229622AbjCTAcj (ORCPT ); Sun, 19 Mar 2023 20:32:39 -0400 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8C3E116AD3 for ; Sun, 19 Mar 2023 17:32:36 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 0A45C5C0072; Sun, 19 Mar 2023 20:32:33 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sun, 19 Mar 2023 20:32:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=squebb.ca; h=cc :cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to; s=fm3; t= 1679272353; x=1679358753; bh=jG60LqVl3ygGxpbLQr7OMm+KfrWuJT68jTJ tYViPpXc=; b=EDipKsBXVfwTCTShST/pxWDRzzDBEMg8pqhAbcOBfujaqExt2Oi US9/5fD4/N9bCdxYGVlxo6aQ/qlTNbS3cjd2kbQncNxce4kUUQQ9kgKI61wE10FI CcSWl7WtbIngYhUhSIE3xf8NUQreCaVpn/tSgXMlIwwhAv7KLjjs0nmUJRKDDIjh HfgKE8Sal+pkr9MDb5T7RmnDftvpjSYWid259aVv3oYyrMGwUcazm3wKlhn3/s/+ 1CzLxbnsgLYJJpTKDYZeLq863whkUA32YzPOzuGv5tTAA17shck9LJhQIiJoZaWP w61rTRsZjCD0+vXFIhPyKgfja7sw5EE59wA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1679272353; x=1679358753; bh=jG60LqVl3ygGxpbLQr7OMm+KfrWuJT68jTJ tYViPpXc=; b=hV6VsYaDJkiSLN8iqSkY8VCnPhxGch64tIWrKoZxdrQuWAxXbIt t5Ina0036fXkCHBjpOpPWRcExN6iMyMimkjc/ZCZLaWY+sEf5zdEzwyqeDR5OAK+ njAJAEJ3h5HjTRlTw0UBKIAHJpD+p5Ydc/2IQ+BhdHPRxDe9ufOyghxC6i8pUIwN 6YD0P0IE/5j0GdrNx1QMezAKmH0HHAGiZLkynqgTd8up54fovXovh13sLRUt/t1m e9zCOcMZisry2DudXE8idvS29R+SOYYaVs+kHEUvHQ53FXY2porYV3n1CH8ox9rT iOy+U8LrK7RDoOk4sWpbSdBIsVRzflPdebQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefjedgvdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoteeftdduqddtudculdduhedmnecujfgurhephf fvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrkhcurfgvrghr shhonhcuoehmphgvrghrshhonhdqlhgvnhhovhhosehsqhhuvggssgdrtggrqeenucggtf frrghtthgvrhhnpeffffefudeuueduueduhfefkeeiueeihfdukeeuffekfffhheeigfeh veekhefhhfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh hmpehmphgvrghrshhonhdqlhgvnhhovhhosehsqhhuvggssgdrtggr X-ME-Proxy: Feedback-ID: ibe194615:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 19 Mar 2023 20:32:32 -0400 (EDT) From: Mark Pearson To: mpearson-lenovo@squebb.ca Cc: hdegoede@redhat.com, markgross@kernel.org, markpearson@lenovo.com, thomas@t-8ch.de, pobrn@protonmail.com, linux-kernel@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Subject: [PATCH v4 2/4] platform/x86: think-lmi: use correct possible_values delimiters Date: Sun, 19 Mar 2023 20:32:19 -0400 Message-Id: <20230320003221.561750-2-mpearson-lenovo@squebb.ca> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> References: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> MIME-Version: 1.0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760848517409391626?= X-GMAIL-MSGID: =?utf-8?q?1760848517409391626?= firmware-attributes class requires that possible values are delimited using ';' but the Lenovo firmware uses ',' instead. Parse string and replace where appropriate. Suggested-by: Thomas Weißschuh Fixes: a40cd7ef22fb ("platform/x86: think-lmi: Add WMI interface support on Lenovo platforms") Signed-off-by: Mark Pearson Reviewed-by: Thomas Weißschuh --- Changes in v4 - Moved earlier in the series as recommended - used strreplace function as recommended Changes in v3: - New patch added to the series. No v1 & v2. drivers/platform/x86/think-lmi.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c index a765bf8c27d8..53f34b1adb8c 100644 --- a/drivers/platform/x86/think-lmi.c +++ b/drivers/platform/x86/think-lmi.c @@ -954,7 +954,7 @@ static ssize_t type_show(struct kobject *kobj, struct kobj_attribute *attr, if (setting->possible_values) { /* Figure out what setting type is as BIOS does not return this */ - if (strchr(setting->possible_values, ',')) + if (strchr(setting->possible_values, ';')) return sysfs_emit(buf, "enumeration\n"); } /* Anything else is going to be a string */ @@ -1413,6 +1413,13 @@ static int tlmi_analyze(void) pr_info("Error retrieving possible values for %d : %s\n", i, setting->display_name); } + /* + * firmware-attributes requires that possible_values are separated by ';' but + * Lenovo FW uses ','. Replace appropriately. + */ + if (setting->possible_values) + strreplace(setting->possible_values, ',', ';'); + kobject_init(&setting->kobj, &tlmi_attr_setting_ktype); tlmi_priv.setting[i] = setting; kfree(item); From patchwork Mon Mar 20 00:32:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Pearson X-Patchwork-Id: 71921 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp944216wrt; Sun, 19 Mar 2023 17:53:41 -0700 (PDT) X-Google-Smtp-Source: AK7set8gYGtRC2wIEsoPMO8Vs+z1qygMFdEJSJjMqpcfdYuw+Kx6N0Wc39Ys93iGLEgghWWovrP/ X-Received: by 2002:a17:90a:ce89:b0:234:289d:5e69 with SMTP id g9-20020a17090ace8900b00234289d5e69mr12602256pju.2.1679273621033; Sun, 19 Mar 2023 17:53:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679273621; cv=none; d=google.com; s=arc-20160816; b=sqNsKDI3i+Usc3H0/KR5mOrPMXMm9Ow9TeKOV75LIt8GeljwvI6sa06R0aOvy7MHKp uWjPgFM7JNubmU2nJWYKuEx0v39ufYm/rk7acGYWY7LSB2Y4RadWXwvu4ITcgE2QG2yn ZKkXrXdXFytB6Oh5aR1195NqmXhhJh2fI2htFWiyH0JeQ2odTUe1IxCGjXm1n/HNJAM/ mCm1aq0KDrQE7j6vj/OoacSSW27LOFHnYqEDhzgvNs1ND5IDdT89CWjtBDz7pqmsGHnh /nRQoTiMus5SEd5CRX81kCm9or+f694PRf96CwFcza2+7rVefUNxEXmcCFBPo/7Ns27s 8Wwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :feedback-id:dkim-signature:dkim-signature; bh=E20kcOAHoR630toJdoojlu/TxXA+HrtUu4ASqXD73nI=; b=PqbuMDMxTEH4Q3fvQ0m4Iv1sUk/a1mCza5bf3atHADCgWRQmdOzG/7evL61KFO+ROU xolSKYs8ASjgrJ6VEJeIySN3pBTCPfppYEqpV4wwQ2Fb3RlSg71KARdHrwJ4VXl5azPW qjWXP0QYFXzADe9FEwsxI3ieEYRb2dIjDm1pN7ahV+JqhpfJF8gjZ078Vx2XvKbR0nJU 3x+W/chN/vmrlblDpo7SWgAAiXIbz0c7aNAymVSNYiifePVxy6Bbp91Ul5AqMI499Kdg 66uCw3hAjpytcVTzHRxkM5y16f/6Hpug2hFOTABQWlkcfa9Piy8NNxsTlrcZtdhb+lb3 KLKA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=lzDaJqir; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b="Z5QQ/pPa"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f7-20020a63f107000000b00502e7016655si8675769pgi.377.2023.03.19.17.53.28; Sun, 19 Mar 2023 17:53:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=lzDaJqir; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b="Z5QQ/pPa"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229736AbjCTAcp (ORCPT + 99 others); Sun, 19 Mar 2023 20:32:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40800 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229591AbjCTAcj (ORCPT ); Sun, 19 Mar 2023 20:32:39 -0400 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8C33316ACA for ; Sun, 19 Mar 2023 17:32:36 -0700 (PDT) Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 73F235C0043; Sun, 19 Mar 2023 20:32:33 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Sun, 19 Mar 2023 20:32:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=squebb.ca; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1679272353; x= 1679358753; bh=E20kcOAHoR630toJdoojlu/TxXA+HrtUu4ASqXD73nI=; b=l zDaJqir7vhE6PlOqrCgfAcYUrF4Vq6udjYtc1kdg6KSs58boJJovYhrqd3zE0IJo bX/fm9IyAfwMo7D5d4t5YLMmw102VpeJWCuhvHXNW1RkC72qzDMY69LaopILX7ER cKsvKE0fsyjuuGgChpPYwky2bn8i1V4dFqeOrw1QZhjhJ5HX0yrZvxv7rjmnnnYs Ev+dxEzRBJROW1WYM8CDgNQcv8GUgY/hRIIXgagXIeDyEt7pXJmeOKO2rahusgZr W63kRSMUSKFB9H+T82m/Xt5OKtyA6e6AOH/q2ngMOxA+J/OJSBB/iHEpmsksRsL7 7BtUI9g9xP0l1U34gg58w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1679272353; x= 1679358753; bh=E20kcOAHoR630toJdoojlu/TxXA+HrtUu4ASqXD73nI=; b=Z 5QQ/pPapDd5JNt3yg0ZLSLr18Xd93rxazF/yAA7zOdm0lpJyWtc72h9zv0jzhGnU zsPT1tyCPlJjMW6gzP76XhIJrmHwvyDKWQUiyP2QgaJ8kxBKnIkcq+1M9LpoL3eB P5Usw2N0wx/W6fzHGDjk8/UEUGhdg8kEFHy0Gt4mYjXxtyYud+iGcMISz6qYj6Dc Y/w64RqC35pCe9pkjexeRv/R+u6MZFLU3Jw/4NIy3tO9j5vYcBn4BiSmt+oJeXm8 Q0Z88/+OXlkmAmAwlZTNxLf/w6llXkIUDX6y2s86AfErDqq1mjQ8mjDK/XpWzTo1 sx4xLR0vHL1Slxxn93KdQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefjedgvdegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoteeftdduqddtudculdduhedmnecujfgurhephf fvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepofgrrhhkucfrvggrrhhs ohhnuceomhhpvggrrhhsohhnqdhlvghnohhvohesshhquhgvsggsrdgtrgeqnecuggftrf grthhtvghrnhepfedtvdejfeelffevhffgjeejheduteetieeguefgkefhhfegjeduueet hefgvdffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhhpvggrrhhsohhnqdhlvghnohhvohesshhquhgvsggsrdgtrg X-ME-Proxy: Feedback-ID: ibe194615:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 19 Mar 2023 20:32:33 -0400 (EDT) From: Mark Pearson To: mpearson-lenovo@squebb.ca Cc: hdegoede@redhat.com, markgross@kernel.org, markpearson@lenovo.com, thomas@t-8ch.de, pobrn@protonmail.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 3/4] platform/x86: think-lmi: only display possible_values if available Date: Sun, 19 Mar 2023 20:32:20 -0400 Message-Id: <20230320003221.561750-3-mpearson-lenovo@squebb.ca> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> References: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> MIME-Version: 1.0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760846016860295199?= X-GMAIL-MSGID: =?utf-8?q?1760846016860295199?= Some attributes don't have any values available. In those cases don't make the possible_values entry visible. Signed-off-by: Mark Pearson --- Changes in v4: - Split out functionality in previous 'Add possible values for Thinkstation'. - No v1/v2/v3 drivers/platform/x86/think-lmi.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c index 53f34b1adb8c..6f8c91716a95 100644 --- a/drivers/platform/x86/think-lmi.c +++ b/drivers/platform/x86/think-lmi.c @@ -941,9 +941,6 @@ static ssize_t possible_values_show(struct kobject *kobj, struct kobj_attribute { struct tlmi_attr_setting *setting = to_tlmi_attr_setting(kobj); - if (!tlmi_priv.can_get_bios_selections) - return -EOPNOTSUPP; - return sysfs_emit(buf, "%s\n", setting->possible_values); } @@ -1052,6 +1049,18 @@ static struct kobj_attribute attr_current_val = __ATTR_RW_MODE(current_value, 06 static struct kobj_attribute attr_type = __ATTR_RO(type); +static umode_t attr_is_visible(struct kobject *kobj, + struct attribute *attr, int n) +{ + struct tlmi_attr_setting *setting = to_tlmi_attr_setting(kobj); + + /* We don't want to display possible_values attributes if not available */ + if ((attr == &attr_possible_values.attr) && (!setting->possible_values)) + return 0; + + return attr->mode; +} + static struct attribute *tlmi_attrs[] = { &attr_displ_name.attr, &attr_current_val.attr, @@ -1061,6 +1070,7 @@ static struct attribute *tlmi_attrs[] = { }; static const struct attribute_group tlmi_attr_group = { + .is_visible = attr_is_visible, .attrs = tlmi_attrs, }; From patchwork Mon Mar 20 00:32:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Pearson X-Patchwork-Id: 71919 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp938987wrt; Sun, 19 Mar 2023 17:34:35 -0700 (PDT) X-Google-Smtp-Source: AK7set+Lhnzp8m8+TJj1YXK+lq9LMNjhOCgf1HJzKdh0VcINREXBTXhdk5kUQ+lJtoN8iQKcHg3R X-Received: by 2002:a17:90a:6e08:b0:233:a836:15f4 with SMTP id b8-20020a17090a6e0800b00233a83615f4mr16036819pjk.1.1679272475108; Sun, 19 Mar 2023 17:34:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679272475; cv=none; d=google.com; s=arc-20160816; b=Xw3USPwcR9+UeudGwFFjCO4Cu4O/zoE1MzRK2JKL0oM7YV3KGsZjuqfhlHV0eKUiKR DWw+R1oukHFCyNOZnkn94HHWsHF1vZksV1bFTU1Cm3BhmuUt5uJV2u1DKUZQ0ZRNgkb0 RPjVguqWKj7T2VCjQ69RLXIWx7Uk/JieegIibAlfVFdaUefWCvQvTvxxX0BGojJJ8MPP irVhErSKjalj9A8xAa+S/F5V4clV4NnGzQDNn+kCOUfywmVFJno5scI2g7+iKE4gwoZg QptBgqCY0vae2T0To45KIX3RGOoELn9ppGgeyio+KoC39ZNxCjuVjp5ezGnRJS2J56AE nKAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :feedback-id:dkim-signature:dkim-signature; bh=iwPU2XUoORcrqxgWnL7qQpsymVVO5t7PxaOWHT9jlq4=; b=gCaG1KB2cishI4KTOgkIMoIfyNl/PAK5q4n8Sty4SRs30vnhqMUb9hpPR+5bXd+isx R6wWusI6B0vHYp6JIuwN1iyCV2v4a16ATSlrHrFXEPBsBT2rSOOH5Gt1sDfFlGu3UW8+ 10OktHkjFqfztKN9v9WBfkqlUjqvBOsXnTtPmDjL3Kcbe+GTopLmGm7iCICxOpiBweGY 4/XzkBow9hh/s8EmyPLV/Lc+zG9a7zmFVXdbKy3ETvdGdJUMgNch+Aed9BL3GATuq4hC xMUApxq+kBnnN9iNDdSmHemD+pLz4tXfea8ZDvNQii2NqtPtzSDDX5voyCs6Qtg68M8D 2yTw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=C00Hio0r; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b="A/gN8Tp0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 35-20020a17090a09a600b0023d0d26c503si14754968pjo.89.2023.03.19.17.34.20; Sun, 19 Mar 2023 17:34:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@squebb.ca header.s=fm3 header.b=C00Hio0r; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b="A/gN8Tp0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229642AbjCTAck (ORCPT + 99 others); Sun, 19 Mar 2023 20:32:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229446AbjCTAci (ORCPT ); Sun, 19 Mar 2023 20:32:38 -0400 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8586F168B3 for ; Sun, 19 Mar 2023 17:32:36 -0700 (PDT) Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id DFDFF5C00BA; Sun, 19 Mar 2023 20:32:33 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Sun, 19 Mar 2023 20:32:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=squebb.ca; h=cc :cc:content-transfer-encoding:content-type:date:date:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to; s=fm3; t=1679272353; x= 1679358753; bh=iwPU2XUoORcrqxgWnL7qQpsymVVO5t7PxaOWHT9jlq4=; b=C 00Hio0rKz2qHrJrV/M0gZ59GCcgOB7qtFIVEE9CxnYxSb+UqxO+Mas/kFePj1CG0 fvVmSLzCBxWGd31+327oOeZhXQp4kFSwpGHchnERuLGfanccv+lorCF6o+k8L9Lq Q+4zMEH0NUOQ26Zy/IJPab+B73aJnlG/B+L06vaxZ+ZQBvrW0tM6iBrYZhjkrKlR XUVUFNRTpbtFtp/Q/iOSR0cRuFA96H8IpLuSJTULUZqYZ1sUDF1CcorKbFQgFCh4 6k68/kFlvly64oOypRer5zaRjQdr/OQtWB0I1euVZkG6vJukiCsXuJNAlhEJSXBL YKgpTjdNj26edaCtiyQBA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:date:date:feedback-id:feedback-id:from:from :in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1679272353; x= 1679358753; bh=iwPU2XUoORcrqxgWnL7qQpsymVVO5t7PxaOWHT9jlq4=; b=A /gN8Tp0KGpuCQ2Xs/NPe/tWeVCkfMQNplm/nOPrsYLGdQ7Siq0DHrol0XYkr1oTh RaeJrH+NB4Qwc1pOp0zlVx8zehLJ8lrWptOSe8Cy+zcvbbNNrsxPJ9OQ21MNeok6 hKeHPrJSt9SHfQ0vmo713yRHGPjiriwLT/elqlVSG+X64PfdqlOV1lGbOcXoLe9E WrcBWqx+wvfdgjwpjnh57zk+c2i/UkxeFNX2tRE4L/GHrWCQwu3PcpfBppb856VU 4ffHwRkcAkDBCsNyFscEd3LKv1mmWc2Io7wK2nUNUaa1HaT9XOG6Ltr0KK1q6eAl VwO/3z9/JvHqnNG2hA9nQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefjedgvdefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgoteeftdduqddtudculdduhedmnecujfgurhephf fvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepofgrrhhkucfrvggrrhhs ohhnuceomhhpvggrrhhsohhnqdhlvghnohhvohesshhquhgvsggsrdgtrgeqnecuggftrf grthhtvghrnhepfedtvdejfeelffevhffgjeejheduteetieeguefgkefhhfegjeduueet hefgvdffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomh epmhhpvggrrhhsohhnqdhlvghnohhvohesshhquhgvsggsrdgtrg X-ME-Proxy: Feedback-ID: ibe194615:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun, 19 Mar 2023 20:32:33 -0400 (EDT) From: Mark Pearson To: mpearson-lenovo@squebb.ca Cc: hdegoede@redhat.com, markgross@kernel.org, markpearson@lenovo.com, thomas@t-8ch.de, pobrn@protonmail.com, linux-kernel@vger.kernel.org Subject: [PATCH v4 4/4] platform/x86: think-lmi: Add possible_values for ThinkStation Date: Sun, 19 Mar 2023 20:32:21 -0400 Message-Id: <20230320003221.561750-4-mpearson-lenovo@squebb.ca> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> References: <20230320003221.561750-1-mpearson-lenovo@squebb.ca> MIME-Version: 1.0 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760844814421206900?= X-GMAIL-MSGID: =?utf-8?q?1760844814421206900?= ThinkStation platforms don't support the API to return possible_values but instead embed it in the settings string. Try and extract this information and set the possible_values attribute appropriately. Signed-off-by: Mark Pearson --- Changes in v4: - is_visible handling split out into separate patch - linelength reduced so checkpatch is clean. Changes in v3: - Use is_visible attribute to determine if possible_values should be available - Code got refactored a bit to make compilation cleaner Changes in v2: - Move no value for possible_values handling into show function - use kstrndup for allocating string drivers/platform/x86/think-lmi.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/drivers/platform/x86/think-lmi.c b/drivers/platform/x86/think-lmi.c index 6f8c91716a95..aaaeb30fb0b0 100644 --- a/drivers/platform/x86/think-lmi.c +++ b/drivers/platform/x86/think-lmi.c @@ -1422,6 +1422,26 @@ static int tlmi_analyze(void) if (ret || !setting->possible_values) pr_info("Error retrieving possible values for %d : %s\n", i, setting->display_name); + } else { + /* + * Older Thinkstations don't support the bios_selections API. + * Instead they store this as a [Optional:Option1,Option2] section of the + * name string. + * Try and pull that out if it's available. + */ + char *item, *optstart, *optend; + + if (!tlmi_setting(setting->index, &item, LENOVO_BIOS_SETTING_GUID)) { + optstart = strstr(item, "[Optional:"); + if (optstart) { + optstart += strlen("[Optional:"); + optend = strstr(optstart, "]"); + if (optend) + setting->possible_values = + kstrndup(optstart, optend - optstart, + GFP_KERNEL); + } + } } /* * firmware-attributes requires that possible_values are separated by ';' but