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, };