Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp1722886rwb; Thu, 29 Sep 2022 01:01:36 -0700 (PDT) X-Google-Smtp-Source: AMsMyM4Wzv5fK3KFryxUGCSx4DFXIWCWrgVCpHCPFfM+Kv4aKStg/uV5hE/G1YHkGwfvOi4yZBq7 X-Received: by 2002:aa7:c382:0:b0:454:9591:79fe with SMTP id k2-20020aa7c382000000b00454959179femr2041118edq.253.1664438496219; Thu, 29 Sep 2022 01:01:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664438496; cv=none; d=google.com; s=arc-20160816; b=APxdZVrLDd+kWCHnYv9z8s0EODdYi2KCo+Wrzr/1Mw/7tE5o5gcBna2Ila109+PrFb xLicJQlsuGlaeWwluLvInoSi9yxxi6tmXEFw0RU5PU6vPD7X3j03n2YIrvxvBYiRIjkI XLLjnrTontgsc5iCsE9wNHRSBMMjIRxgwXQxBkw6wE6Nlq6HmQohJOmDsnPn5DnDCOO0 f+5EDlNrJRCll+nFwZ30V3XHc9BIcEmfc0ZYBUpxl7ArNpS4ljNB6zWelYvYN1AkCckO CC/a2u4Q4ZRTy3N4B623gFXOpArPlMpugnrWUTX7gbfMR3GXJYw8h7011m6/sfBszAKu 2OrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id; bh=6Lbszca82cJS+hERbLG5pU4wNwa+aK0lO0AQE4XZLck=; b=egeZC4JZ3OaJo3x5Goy4vgVi+DOme9fZldotA0AjRPEDAuGZJKamoO+xoSqMi7+NOW GccPo0CWn5himFyVKPDWnVtXxiFNylpdrY96EAbAWXQocHYrSn7YlJP2ewGlKmrsRErD LmmzIpwgqx7cLujHJjTy3UKs7SDqUpTpqGoClQAKFej1uAkRfvYDSnxExYUnHB1ElxNW /VUrSgN+TPBC2+YtxeTex66LSd2CaVnxbMyWnlaNp5Bg2mwXyxXPUZHLjGQTEZMtjMTw sHyq+WQ8uz8hznCqP48y1OwkKsNpKFRke52dbL2x7tZJsQkTy150J7NGh9cs5pi6Sf4V OaTg== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id x7-20020a056402414700b00457603f9863si7214708eda.106.2022.09.29.01.01.09; Thu, 29 Sep 2022 01:01:36 -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; 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 S234878AbiI2Hqh convert rfc822-to-8bit (ORCPT + 99 others); Thu, 29 Sep 2022 03:46:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39886 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235310AbiI2HqX (ORCPT ); Thu, 29 Sep 2022 03:46:23 -0400 X-Greylist: delayed 561 seconds by postgrey-1.37 at lindbergh.monkeyblade.net; Thu, 29 Sep 2022 00:46:22 PDT Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03C13EF090; Thu, 29 Sep 2022 00:46:21 -0700 (PDT) Received: from omf07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id E3A941C60E3; Thu, 29 Sep 2022 07:36:57 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: joe@perches.com) by omf07.hostedemail.com (Postfix) with ESMTPA id E57402002C; Thu, 29 Sep 2022 07:36:44 +0000 (UTC) Message-ID: <3c02aad6d8bde70964b403a3cb8004de969becc6.camel@perches.com> Subject: Re: [PATCH v4 10/14] gunyah: sysfs: Add node to describe supported features From: Joe Perches To: Elliot Berman , Bjorn Andersson Cc: Murali Nalajala , Trilok Soni , Srivatsa Vaddagiri , Carl van Schaik , Andy Gross , Dmitry Baryshkov , Jassi Brar , linux-arm-kernel@lists.infradead.org, Mark Rutland , Lorenzo Pieralisi , Sudeep Holla , Marc Zyngier , Rob Herring , Krzysztof Kozlowski , Jonathan Corbet , Will Deacon , Catalin Marinas , Arnd Bergmann , Greg Kroah-Hartman , devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org Date: Thu, 29 Sep 2022 00:36:50 -0700 In-Reply-To: <20220928195633.2348848-11-quic_eberman@quicinc.com> References: <20220928195633.2348848-1-quic_eberman@quicinc.com> <20220928195633.2348848-11-quic_eberman@quicinc.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 8BIT User-Agent: Evolution 3.44.4 (3.44.4-2.fc36) MIME-Version: 1.0 X-Stat-Signature: yfqwchey9yq5eu51co5zpzk7inon4u6t X-Rspamd-Server: rspamout05 X-Rspamd-Queue-Id: E57402002C X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FORGED_SPF_HELO, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS, SPF_NONE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.6 X-Session-Marker: 6A6F6540706572636865732E636F6D X-Session-ID: U2FsdGVkX1/SbFmnkC0u2VswP4hwzbj5pLQd0DpRqLM= X-HE-Tag: 1664437004-361455 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 On Wed, 2022-09-28 at 12:56 -0700, Elliot Berman wrote: > Add a sysfs node to list the features that the Gunyah hypervisor and > Linux supports. For now, Linux support cspace (capability IDs) and > message queues, so only report those.. [] > diff --git a/drivers/virt/gunyah/sysfs.c b/drivers/virt/gunyah/sysfs.c [] > @@ -25,9 +25,24 @@ static ssize_t variant_show(struct kobject *kobj, struct kobj_attribute *attr, c > } > static struct kobj_attribute variant_attr = __ATTR_RO(variant); > > +static ssize_t features_show(struct kobject *kobj, struct kobj_attribute *attr, char *buffer) > +{ > + int len = 0; > + > + if (GH_IDENTIFY_PARTITION_CSPACE(gunyah_api.flags)) > + len += sysfs_emit_at(buffer, len, "cspace "); > + if (GH_IDENTIFY_MSGQUEUE(gunyah_api.flags)) > + len += sysfs_emit_at(buffer, len, "message-queue "); > + > + len += sysfs_emit_at(buffer, len, "\n"); > + return len; > +} It's generally nicer to avoid unnecessary output spaces. Perhaps: { int len = 0; if (GH_IDENTIFY_PARTITION_CSPACE(gunyah_api.flags)) len += sysfs_emit_at(buffer, len, "cspace"); if (GH_IDENTIFY_MSGQUEUE(gunyah_api.flags)) { if (len) len += sysfs_emit_at(buffer, len, " "); len += sysfs_emit_at(buffer, len, "message-queue"); } len += sysfs_emit_at(buffer, len, "\n"); return len; }