Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp333408pxb; Tue, 15 Feb 2022 14:36:27 -0800 (PST) X-Google-Smtp-Source: ABdhPJyMp5uChg0Am36K4ldUMRfNz4sBVUF4LEegeOo+MgEYCVJ+kp1SHlo3rRXS3775nB9ZaukE X-Received: by 2002:a05:6402:27cf:b0:410:b28e:3373 with SMTP id c15-20020a05640227cf00b00410b28e3373mr38655ede.296.1644964587658; Tue, 15 Feb 2022 14:36:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644964587; cv=none; d=google.com; s=arc-20160816; b=xya4zplhU767U4MbcEEssKhq5hRdxIKNF7aZ1SXTRxO7EHXtPY31LnkRbacVpls34+ izzVHw65Rb5CGWxMA8cGuNeHpPYw45K+JTKWGn+8ETYfYU1k5XmHYikl5Uz9q5eM+zDm eCjEIgEaCJC9RiWFTqhErbuY/Ut3z8oUkGeo3JD2iGI4XAmNXEJCPg05A9raHSoRKenR jrpy8W1+W3GTb9Y/bykEm1Fp1wzx3zcyG8XpK5nbj1auaUve2K/J3ZMcSwP0UFdev0jk FGDyXID9RNnDWsz4IakXEGO/3LTnDIJXalP7nixB8TxBkkKTNN3AW7bM1pmn/H6/f6MP RLZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version; bh=ZwQ80RON8gMd14HrXfT0Z2S1RiXXmVJ9mHqUOb7AhZY=; b=SRwfoac3l3wZnjC4o9JLv1i18DmvYQ5NIVyJhNmyFDZI9xds3FHj0H3yTdIzkB9Txw Oh/L8z7L6azbq+8nP5+r/XCCCIZ627RR/7PA/0gFLy6O3HPwfI/GlkxBo4IY5yufwuFy DnUZYdIRE4CZL6HB/9wuzu+IVffJkLf2/f+LlfQeSuaiqdeb+p06nu4Drfg4vIcmUPz3 DoLtlv2cVQJznps9c2Tn4XNTd9kDC3xWoxTrwjESKwRCHu5nSc+0FElmUy5v4kPEoKp2 9/z6+Uhf+T/CCI+pedQTaxNCW4NiY5eIRHn1lk/GcnyvAihgdjkxuS2trGYILXO57JhS K6jw== 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id 13si19809000ejk.406.2022.02.15.14.36.04; Tue, 15 Feb 2022 14:36:27 -0800 (PST) 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238529AbiBOOIr (ORCPT + 99 others); Tue, 15 Feb 2022 09:08:47 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:40764 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235216AbiBOOIq (ORCPT ); Tue, 15 Feb 2022 09:08:46 -0500 Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8E39B2BB1A; Tue, 15 Feb 2022 06:08:36 -0800 (PST) Received: by mail-yb1-f173.google.com with SMTP id p19so56316743ybc.6; Tue, 15 Feb 2022 06:08:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ZwQ80RON8gMd14HrXfT0Z2S1RiXXmVJ9mHqUOb7AhZY=; b=UF9JUwD21Z0/v6PK4cXCFxOkW/z7AV9NB4W9ZM2YX8NAGkY3okfTwXn1tO81l3gssx q47ftCvijipMQ4/5AZ5QxyNN0lqqHPM1x8Qypzd3LpPwbBF8zxkvUuCWME5E70ORQsTc D3jNmtC9rs+D8TGITMNRpBR1dPwBjYV8M2HjF6C17LVNWfSg48cySLlaW8PrfETC/YSr mLgEbRXzm+J5QKrCBMBfjMP77yAzu9TSC6PFNYR4DRymSym1EpyhrH+FJTtIMLR+URxt 2uQdNDrSHF5do2iqzq9TolpyH+7jR8ptBfjOP+UdH6l4mnGD544E7c518omY+x39G4RL EdTw== X-Gm-Message-State: AOAM533CFDY9eP0MswwR5766z7hGEAYPbdQeEtPKKJQM40VzkbjxsEGn u16sucQ43C3eKFB7HsczDU9McYQl7pipyxpBCUxEiqx3 X-Received: by 2002:a25:fc0d:: with SMTP id v13mr3783201ybd.272.1644934115794; Tue, 15 Feb 2022 06:08:35 -0800 (PST) MIME-Version: 1.0 References: <20220211023008.3197397-1-wonchung@google.com> In-Reply-To: From: "Rafael J. Wysocki" Date: Tue, 15 Feb 2022 15:08:24 +0100 Message-ID: Subject: Re: [PATCH v6] ACPI: device_sysfs: Add sysfs support for _PLD To: Won Chung Cc: "Rafael J. Wysocki" , Len Brown , Heikki Krogerus , Benson Leung , Prashant Malani , ACPI Devel Maling List , Linux Kernel Mailing List , Greg Kroah-Hartman Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 On Tue, Feb 15, 2022 at 3:04 PM Rafael J. Wysocki wrote: > > Adding Greg, who should be involved in this discussion IMO. > > On Mon, Feb 14, 2022 at 11:59 PM Won Chung wrote: > > > > On Mon, Feb 14, 2022 at 12:30 PM Won Chung wrote: > > > > > > On Mon, Feb 14, 2022 at 11:12 AM Rafael J. Wysocki wrote: > > > > > > > > On Fri, Feb 11, 2022 at 3:30 AM Won Chung wrote: > > > > > > > > > > When ACPI table includes _PLD fields for a device, create a new > > > > > directory (pld) in sysfs to share _PLD fields. > > > > > > > > This version of the patch loos better to me, but I'm not sure if it > > > > goes into the right direction overall. > > > > > > > > > Currently without PLD information, when there are multiple of same > > > > > devices, it is hard to distinguish which device corresponds to which > > > > > physical device in which location. For example, when there are two Type > > > > > C connectors, it is hard to find out which connector corresponds to the > > > > > Type C port on the left panel versus the Type C port on the right panel. > > > > > > > > So I think that this is your primary use case and I'm wondering if > > > > this is the best way to address it. > > > > > > > > Namely, by exposing _PLD information under the ACPI device object, > > > > you'll make user space wanting to use that information depend on this > > > > interface, but the problem is not ACPI-specific (inevitably, it will > > > > appear on systems using DT, sooner or later) and making the user space > > > > interface related to it depend on ACPI doesn't look like a perfect > > > > choice. > > > > > > > > IOW, why don't you create a proper ABI for this in the Type C > > > > subsystem and expose the information needed by user space in a generic > > > > way that can be based on the _PLD information on systems with ACPI? > > > > > > Hi Rafael, > > > > > > Thank you for the review. > > > > > > I was thinking that _PLD info is specific to ACPI since it is part of > > > the ACPI table. Could you explain a little bit more on why you think > > > exposing _PLD fields is not an ACPI-specific problem? > > _PLD is an interface defined by ACPI, but its purpose is not ACPI-specific. > > > Hi Rafael again, > > > > Sorry for the silly question here. I misunderstood your comment a bit, > > but I talked to Benson and Prashant for clarification. I understand > > now what you mean by it is not an ACPI-specific problem and exposing > > PLD would depend on ACPI. > > Right. > > > > > > > I gave an example of how _PLD fields can be used for specifying Type C > > > connectors, but it is not Type C specific. For Chrome OS, we plan to > > > initially add PLD to not only Type C connectors but also USB port > > > devices (including Type C and Type A). Also, PLD can be used in the > > > future for describing other types of ports too like HDMI. (Benson and > > > Prashant, please correct or add if I am wrong or missing some > > > information) Maybe my commit message was not detailed enough.. > > > > > > I am also curious what Heikki thinks about this. Heikki, can you take > > > a look and share your thoughts? > > > > I am still curious what you and Heikki think about this since it may > > not be a Type C specific issue. We can start from adding generic > > location info to Type C subsystem first, as you suggested, then > > consider how to do the same for USB devices and Type A ports > > afterwards. I would appreciate sharing any thoughts or feedback. Thank > > you very much! > > I don't really think that this is a Type C problem either. > > It has existed for a long time in the USB world, for example, or > wherever there are user-accessible ports, but it looks like in the > Type C case it has become vitally important. > > My point is that writing user space depending on accessing _PLD > information exposed under an ACPI device interface that only > corresponds to the device in question and in the ACPI-specific format > would be a mistake (Greg, please let me know if you disagree). That's > because (a) it would depend on ACPI tables being present (so it > wouldn't work on systems without them) and (b) it would depend on the > format of data which covers information that isn't likely to be > relevant. Also finding _PLD information for a given "real" device would not be particularly straightforward as it would involve looking up an ACPI device interface corresponding to it in the first place and then retrieving the _PLD data from it.