Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp759306pxb; Fri, 28 Jan 2022 09:20:49 -0800 (PST) X-Google-Smtp-Source: ABdhPJz7Z+1dHxc2h9m7PgcRPdePG1xDxFEmRaupbu0zSmPh7/QJc/RaQOmdz0jJJig4cS7Y9Q5J X-Received: by 2002:a05:6a00:8cf:: with SMTP id s15mr9059139pfu.24.1643390449345; Fri, 28 Jan 2022 09:20:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643390449; cv=none; d=google.com; s=arc-20160816; b=vY0C1tRCCSfMRk/3lmaFIDR4/19Loh1U4R8KEAwBf4nU91Wm86RDbK/Zh0pQpa/Yzv 9j/FocwMf03KCPYb/8oOSscxOr6tN+9mawaTx4lur2pv1XZz2sB1AozdDW3R4xuiiN4h 9ovnJ85ni363YrL/VHf3GYH9oiylf0qdlmVyWM6DupbHhxxe4y79O5Znt2EYfaQ9txrs 1LyhVeeRNGFvcD9LcT8kj7owJ+jnsY9d+084118n8xtZ7K8+QjOCF9QvyCjrtsDnAVgL iM9rgMrXhAgDPzaR2wgclUdufshk1/hSIOmmVGVdHE5S0W2jy+TxtRibNN2ksrHQ8nQZ n0Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=5zRPiVXKQJnIvFiBGkHq6ju0/RKXpE5LqP8JIErA6+A=; b=mLWZoHYIurWYq1dsyWXYSAX4rAsBdRG3ZaJ8kIQ81ViczmFeWbU0CKP3IH06hn/Uoh teOuFImYAKoQAylJbL8KiZ5VYXbBievUHvwFnGtZ9Hs/3QIwpeyuzIBnzp4KYuq3zxy2 9Dp6vouPaQp+Ska8vHMffHmdEJkdV9smpxuJPeCSLVMHjfLCChEXartKa3P5xFq1IVyz C+171Wl3anQddAXYTkUXOcwZzBn0tVtMNtibPInUAKblkc5K4mNWBS3i777fUI6OvN5e W/sfczVnx9RMc0hdFE4FVJtjxcV7wKlXksYB4xz77wqnjEJCLlcrIx9GOH5MXVN7SQCb p1Jw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=CfT0fWYK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x15si6088983pla.221.2022.01.28.09.20.37; Fri, 28 Jan 2022 09:20:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=CfT0fWYK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238778AbiA0Uhx (ORCPT + 99 others); Thu, 27 Jan 2022 15:37:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236959AbiA0Uhw (ORCPT ); Thu, 27 Jan 2022 15:37:52 -0500 Received: from mail-pj1-x1033.google.com (mail-pj1-x1033.google.com [IPv6:2607:f8b0:4864:20::1033]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5F3A0C061714 for ; Thu, 27 Jan 2022 12:37:52 -0800 (PST) Received: by mail-pj1-x1033.google.com with SMTP id nn16-20020a17090b38d000b001b56b2bce31so4224910pjb.3 for ; Thu, 27 Jan 2022 12:37:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=5zRPiVXKQJnIvFiBGkHq6ju0/RKXpE5LqP8JIErA6+A=; b=CfT0fWYKB1hO4qQ9GV8xmqubclF/fIkanpe1lgeduXWSr/koO+yz/w6mA29iz7IzTq R7GscS3dUrZggCzr7Ne0/xMf0PF/tp7B5Lw31/3NBxoSsZSjvGw981Rnn/1bbwJLDY7T yViu+tcFBnzRPfpWnu0WJj1e2lmZd/6BqYWdS4GWbSK7RgReFr2aMWilBPIk0NtxcZgZ 7pFUncOJzYQ334RFLv1ajP3sbXZ7wHxTezLe0stlt1is0bwQ5tbUJNBprVnrwMYKGOBf OFG0Vim+aAwy6vIaDI80pZsEp4Z0N5esaw//uvE/JBJqsizf+GEG60n9/OL7flYy0dP8 o1xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=5zRPiVXKQJnIvFiBGkHq6ju0/RKXpE5LqP8JIErA6+A=; b=4QIYf5td5tj9FZZRQpBqoW8vJIKxxxF9RcSLPDSqwSPL+FjXHx12pmW1lTqEpyO9Qy rAi5957eJoE0+Rn+xhF9tqfHSlAksPOtWHMI0VVGRRmCuSLeJUFa3fim83lOcicpIiO8 jiqepVorf8S0Vh902qLQU6Sv6m5VxZUJY+LHghIajhVvc14i67gS5gAgWokRn80R3ttk M1fdQ6GIGMqQxi23iEIEfwjT51p3HAgiQydlO0pua41Kmth0C94fJ3ieHrCVb5icf1/J 4YoRkvQQBcgqKaklgoiIUJqbyH4suQUrlJz4U0vVabhhKz0Avc2+/KqruKekc39EuLVm YN8Q== X-Gm-Message-State: AOAM531sC034C52WsvPBJjFYZ6J68TWkEOFgMiBmcvUw/8MFqpDHVd6K mBLJrfvUxdNv2oNVZZaQDgb6KQ== X-Received: by 2002:a17:90a:39c6:: with SMTP id k6mr15969349pjf.194.1643315871478; Thu, 27 Jan 2022 12:37:51 -0800 (PST) Received: from google.com ([2620:15c:202:201:7713:237d:48f3:f690]) by smtp.gmail.com with ESMTPSA id j6sm6992623pfu.18.2022.01.27.12.37.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Jan 2022 12:37:50 -0800 (PST) Date: Thu, 27 Jan 2022 12:37:44 -0800 From: Benson Leung To: Won Chung Cc: "Rafael J . Wysocki" , Len Brown , Benson Leung , Prashant Malani , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ACPI: device_sysfs: Add sysfs support for _PLD Message-ID: References: <20220126235807.3164317-1-wonchung@google.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="yN0c5RbogYywFKuv" Content-Disposition: inline In-Reply-To: <20220126235807.3164317-1-wonchung@google.com> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --yN0c5RbogYywFKuv Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Won, On Wed, Jan 26, 2022 at 11:58:07PM +0000, Won Chung wrote: > When ACPI table includes _PLD fields for a device, create a new file > (pld) in sysfs to share _PLD fields. If you're adding a new attribute, you should also update the Documentation file here: Documentation/ABI/testing/sysfs-bus-acpi Thanks, Benson >=20 > Signed-off-by: Won Chung > --- > drivers/acpi/device_sysfs.c | 42 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) >=20 > diff --git a/drivers/acpi/device_sysfs.c b/drivers/acpi/device_sysfs.c > index d5d6403ba07b..8d4df5fb1c45 100644 > --- a/drivers/acpi/device_sysfs.c > +++ b/drivers/acpi/device_sysfs.c > @@ -509,6 +509,40 @@ static ssize_t status_show(struct device *dev, struc= t device_attribute *attr, > } > static DEVICE_ATTR_RO(status); > =20 > +static ssize_t pld_show(struct device *dev, struct device_attribute *att= r, > + char *buf) > +{ > + struct acpi_device *acpi_dev =3D to_acpi_device(dev); > + acpi_status status; > + struct acpi_pld_info *pld; > + > + status =3D acpi_get_physical_device_location(acpi_dev->handle, &pld); > + if (ACPI_FAILURE(status)) > + return -ENODEV; > + > + return sprintf(buf, "GROUP_TOKEN=3D%u\n" > + "GROUP_POSITION=3D%u\n" > + "USER_VISIBLE=3D%u\n" > + "DOCK=3D%u\n" > + "BAY=3D%u\n" > + "LID=3D%u\n" > + "PANEL=3D%u\n" > + "HORIZONTAL_POSITION=3D%u\n" > + "VERTICAL_POSITION=3D%u\n" > + "SHAPE=3D%u\n", > + pld->group_token, > + pld->group_position, > + pld->user_visible, > + pld->dock, > + pld->bay, > + pld->lid, > + pld->panel, > + pld->horizontal_position, > + pld->vertical_position, > + pld->shape); > +} > +static DEVICE_ATTR_RO(pld); > + > /** > * acpi_device_setup_files - Create sysfs attributes of an ACPI device. > * @dev: ACPI device object. > @@ -595,6 +629,12 @@ int acpi_device_setup_files(struct acpi_device *dev) > &dev_attr_real_power_state); > } > =20 > + if (acpi_has_method(dev->handle, "_PLD")) { > + result =3D device_create_file(&dev->dev, &dev_attr_pld); > + if (result) > + goto end; > + } > + > acpi_expose_nondev_subnodes(&dev->dev.kobj, &dev->data); > =20 > end: > @@ -645,4 +685,6 @@ void acpi_device_remove_files(struct acpi_device *dev) > device_remove_file(&dev->dev, &dev_attr_status); > if (dev->handle) > device_remove_file(&dev->dev, &dev_attr_path); > + if (acpi_has_method(dev->handle, "_PLD")) > + device_remove_file(&dev->dev, &dev_attr_pld); > } > --=20 > 2.35.0.rc0.227.g00780c9af4-goog >=20 --=20 Benson Leung Staff Software Engineer Chrome OS Kernel Google Inc. bleung@google.com Chromium OS Project bleung@chromium.org --yN0c5RbogYywFKuv Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQQCtZK6p/AktxXfkOlzbaomhzOwwgUCYfMCmAAKCRBzbaomhzOw wv/lAP0fZ4J1IJCrLit7NHh8xFteID06c/Ga76+iIXX+6x6MjwEAox9Fhj77FOn1 QH3TPybVr1ADTo0TiUmRtUQbDxVpfAA= =c5Dl -----END PGP SIGNATURE----- --yN0c5RbogYywFKuv--