Received: by 2002:a05:6a10:413:0:0:0:0 with SMTP id 19csp3556465pxp; Tue, 8 Mar 2022 17:22:21 -0800 (PST) X-Google-Smtp-Source: ABdhPJyk5r3slKLbt2wb0Bk9RXpXUHw7LuNgOzkU8jcyNPYI8UyAh8im3QIrrga0Tb2Zs50mAw5I X-Received: by 2002:a17:903:110d:b0:14f:72a1:7b18 with SMTP id n13-20020a170903110d00b0014f72a17b18mr20494993plh.111.1646788941354; Tue, 08 Mar 2022 17:22:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1646788941; cv=none; d=google.com; s=arc-20160816; b=gM5o3oS2ygLyHw/IPsa2/p0iLrbBP1y0sT6HnDBJyZ4Rg6k/CtLvKfFiMmclEZ4RbE 6G8kDU+k0taqzJ6391wcLRUauUpAoVvg7co5rqmd021EDDK5/Zvtuoeef4qbsOZjY1rp ZYPiJNW8951cmb1sG+cpVCrStIgahJHxzqli3J0S+HUORRc9J2CHh9mvnXZQM8NQ0JLt BQk5e992ivsFtsuSTz6EQxqBihjguOVil6qwo7QhybFTUTlRcWH5U3jMSq+xzdU2Eq9o 925V8HE+KBT9SfOU+SqY/oUZZbFW3iN3yE8LrSogWnjeZkZbRJ2Bn5vIzvvQJkrpyoRd +6pw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=H+S8t9D6bJQUPcPm+bJWQo/uhW+cLunT5wWLMThL8Lg=; b=yf821nL3ZDgaZvsvdAEOqGF7Syl5Jk52Jx6c+dzn9fNkOJsOYErTBrlkaD9JpcIzYh W+ipUEJRDDmEbWjMKGa605hnJpljPLRnLr0ddEQppXQPkXpQ6JyxN2WlMwmXHlOb5OSg PeeMJiXbJ3i00OUqcNyRIESKvl7zTmGwWAAMviG0FnOiQsm5tQXeCD0tgHyw9o6qHJyF DGUpq0RX7q5nGvG2Sm6ytaVHBkEzf30F7TmbH8JfOhz7wr6SX38qpPe40jxvAinbilN+ kApn1kpQzA+7vb2pT5dzz+5M36GHJX+4tRMBbPlRBaPvgH0dnxsaSmd7jEYhP8GjOcdC OB/A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T5djVU8N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id s6-20020a17090aba0600b001bfa81a38e8si601866pjr.36.2022.03.08.17.22.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 17:22:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=T5djVU8N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id E3116192E10; Tue, 8 Mar 2022 16:14:57 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1347280AbiCHOGu (ORCPT + 99 others); Tue, 8 Mar 2022 09:06:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52512 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S237273AbiCHOGs (ORCPT ); Tue, 8 Mar 2022 09:06:48 -0500 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 649CF49F87; Tue, 8 Mar 2022 06:05:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1646748351; x=1678284351; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=BW0pan9iM+VaZ50WsGuo6fggdgTImD3g+H0n+3pO1Jo=; b=T5djVU8NPSFJe/5koHSwC317JMEaVvlTmPNWfMVb3eB19lViUW8enqrj ikfXyRi0I8aN5JY/XXXrQz9IRzPeDP2XqfDnZuqNngQ5Jz+hqQkDJ+Ifl +XqedHPSxFWck6L3oqv7zPDp9hJZiRNUS4Lja8NNcPSjgIKaaqgpgt78m bJJoFW1fUyNLUlHnw9p9RcNZV/msECNX5oyZXzFoSfK+IuaD9PUgOLxXb d5QkhlfoMMYgsTxezeBFBtQOOt3O8PumQB/e5GRAdi344m6XZMEsAFFhS s1La0ZykBIDq/i2hXPJXz4PhzGh5DBqYqf5MrzAOuKDWboHA1OmuRHboI w==; X-IronPort-AV: E=McAfee;i="6200,9189,10279"; a="234642024" X-IronPort-AV: E=Sophos;i="5.90,165,1643702400"; d="scan'208";a="234642024" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2022 06:05:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,165,1643702400"; d="scan'208";a="632237909" Received: from black.fi.intel.com ([10.237.72.28]) by FMSMGA003.fm.intel.com with ESMTP; 08 Mar 2022 06:05:44 -0800 Received: by black.fi.intel.com (Postfix, from userid 1003) id D1EE536A; Tue, 8 Mar 2022 16:06:02 +0200 (EET) From: Andy Shevchenko To: Andy Shevchenko , "Rafael J. Wysocki" , linux-gpio@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org Cc: Linus Walleij , Bartosz Golaszewski , Jonathan Corbet , "Rafael J. Wysocki" , Len Brown , Mika Westerberg Subject: [PATCH v1 1/1] ACPI: docs: gpio-properties: Unify ASL style for GPIO examples Date: Tue, 8 Mar 2022 16:05:59 +0200 Message-Id: <20220308140559.46932-1-andriy.shevchenko@linux.intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 GPIO examples of ASL in the board.rst, enumeration.rst and gpio-properties.rst are not unified. Unify them for better reader experience. Signed-off-by: Andy Shevchenko --- Documentation/driver-api/gpio/board.rst | 21 +++++++-------- .../firmware-guide/acpi/enumeration.rst | 22 ++++------------ .../firmware-guide/acpi/gpio-properties.rst | 26 ++++++++++--------- 3 files changed, 28 insertions(+), 41 deletions(-) diff --git a/Documentation/driver-api/gpio/board.rst b/Documentation/driver-api/gpio/board.rst index 191fa867826a..4e3adf31c8d1 100644 --- a/Documentation/driver-api/gpio/board.rst +++ b/Documentation/driver-api/gpio/board.rst @@ -71,14 +71,14 @@ with the help of _DSD (Device Specific Data), introduced in ACPI 5.1:: Device (FOO) { Name (_CRS, ResourceTemplate () { - GpioIo (Exclusive, ..., IoRestrictionOutputOnly, - "\\_SB.GPI0") {15} // red - GpioIo (Exclusive, ..., IoRestrictionOutputOnly, - "\\_SB.GPI0") {16} // green - GpioIo (Exclusive, ..., IoRestrictionOutputOnly, - "\\_SB.GPI0") {17} // blue - GpioIo (Exclusive, ..., IoRestrictionOutputOnly, - "\\_SB.GPI0") {1} // power + GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, + "\\_SB.GPI0", 0, ResourceConsumer) { 15 } // red + GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, + "\\_SB.GPI0", 0, ResourceConsumer) { 16 } // green + GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, + "\\_SB.GPI0", 0, ResourceConsumer) { 17 } // blue + GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionOutputOnly, + "\\_SB.GPI0", 0, ResourceConsumer) { 1 } // power }) Name (_DSD, Package () { @@ -92,10 +92,7 @@ with the help of _DSD (Device Specific Data), introduced in ACPI 5.1:: ^FOO, 2, 0, 1, } }, - Package () { - "power-gpios", - Package () {^FOO, 3, 0, 0}, - }, + Package () { "power-gpios", Package () { ^FOO, 3, 0, 0 } }, } }) } diff --git a/Documentation/firmware-guide/acpi/enumeration.rst b/Documentation/firmware-guide/acpi/enumeration.rst index 8c9e758f6e9b..6b62425ef9cd 100644 --- a/Documentation/firmware-guide/acpi/enumeration.rst +++ b/Documentation/firmware-guide/acpi/enumeration.rst @@ -333,26 +333,13 @@ For example:: { Name (SBUF, ResourceTemplate() { - ... // Used to power on/off the device - GpioIo (Exclusive, PullDefault, 0x0000, 0x0000, - IoRestrictionOutputOnly, "\\_SB.PCI0.GPI0", - 0x00, ResourceConsumer,,) - { - // Pin List - 0x0055 - } + GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionOutputOnly, + "\\_SB.PCI0.GPI0", 0, ResourceConsumer) { 85 } // Interrupt for the device - GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, - 0x0000, "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer,,) - { - // Pin list - 0x0058 - } - - ... - + GpioInt (Edge, ActiveHigh, ExclusiveAndWake, PullNone, 0, + "\\_SB.PCI0.GPI0", 0, ResourceConsumer) { 88 } } Return (SBUF) @@ -369,6 +356,7 @@ For example:: } }) ... + } These GPIO numbers are controller relative and path "\\_SB.PCI0.GPI0" specifies the path to the controller. In order to use these GPIOs in Linux diff --git a/Documentation/firmware-guide/acpi/gpio-properties.rst b/Documentation/firmware-guide/acpi/gpio-properties.rst index df4b711053ee..eaec732cc77c 100644 --- a/Documentation/firmware-guide/acpi/gpio-properties.rst +++ b/Documentation/firmware-guide/acpi/gpio-properties.rst @@ -21,18 +21,18 @@ index, like the ASL example below shows:: Name (_CRS, ResourceTemplate () { GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.GPO0", 0, ResourceConsumer) {15} + "\\_SB.GPO0", 0, ResourceConsumer) { 15 } GpioIo (Exclusive, PullUp, 0, 0, IoRestrictionOutputOnly, - "\\_SB.GPO0", 0, ResourceConsumer) {27, 31} + "\\_SB.GPO0", 0, ResourceConsumer) { 27, 31 } }) Name (_DSD, Package () { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () - { - Package () {"reset-gpios", Package() {^BTH, 1, 1, 0 }}, - Package () {"shutdown-gpios", Package() {^BTH, 0, 0, 0 }}, + { + Package () { "reset-gpios", Package () { ^BTH, 1, 1, 0 } }, + Package () { "shutdown-gpios", Package () { ^BTH, 0, 0, 0 } }, } }) } @@ -123,17 +123,17 @@ Example:: // _DSD Hierarchical Properties Extension UUID ToUUID("dbb8e3e6-5886-4ba6-8795-1319f52a966b"), Package () { - Package () {"hog-gpio8", "G8PU"} + Package () { "hog-gpio8", "G8PU" } } }) Name (G8PU, Package () { ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), Package () { - Package () {"gpio-hog", 1}, - Package () {"gpios", Package () {8, 0}}, - Package () {"output-high", 1}, - Package () {"line-name", "gpio8-pullup"}, + Package () { "gpio-hog", 1 }, + Package () { "gpios", Package () { 8, 0 } }, + Package () { "output-high", 1 }, + Package () { "line-name", "gpio8-pullup" }, } }) @@ -266,15 +266,17 @@ have a device like below:: Name (_CRS, ResourceTemplate () { GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone, - "\\_SB.GPO0", 0, ResourceConsumer) {15} + "\\_SB.GPO0", 0, ResourceConsumer) { 15 } GpioIo (Exclusive, PullNone, 0, 0, IoRestrictionNone, - "\\_SB.GPO0", 0, ResourceConsumer) {27} + "\\_SB.GPO0", 0, ResourceConsumer) { 27 } }) } The driver might expect to get the right GPIO when it does:: desc = gpiod_get(dev, "reset", GPIOD_OUT_LOW); + if (IS_ERR(desc)) + ...error handling... but since there is no way to know the mapping between "reset" and the GpioIo() in _CRS desc will hold ERR_PTR(-ENOENT). -- 2.34.1